Introduction
As enterprise-wide cross-departmental BPM deployments become increasingly common, so does the need for a robust scalable BPM solution that can scale to meet the most rigorous of your process needs. This paper describes how the Ultimus BPM Suite can scale to meet your most demanding, mission-critical, cross-departmental business processes.
Ultimus – Built from the Ground Up for Scalability
Ultimus has been built from the ground-up with scalability in mind. The Ultimus BPM Suite uses a scalable, open, and reliable architecture necessary for business process management deployments that could potentially involve thousands of users. The architecture is based upon a Microsoft .NET foundation and leverages industry-standard and powerful enterprise computing technologies, including Web Services and XML. At the center of the product architecture is the Ultimus BPM Server, which is a powerful process execution engine that monitors and controls business processes.
The BPM Server responsible for the orchestration of events within and across multiple business processes, and also manages integration with existing enterprise systems for manipulation of process-related data. Human interaction with the BPM Server is supported through a robust client interface, which is leveraged by the Ultimus Client modules, and back-end integration is supported through open technologies such as .NET, Web Services and the Ultimus Flobots.
From a foundational perspective, the Ultimus BPM Server is built on a highly scalable multi-thread component-based architecture. Ultimus leverages a unique stateless execution model that stores session, state and log information in centralized database structures. This reliable persistence model ensures that task information is kept in memory for as little time as possible, minimizing the risk of information being lost due to issues such as operating system failures. Even in the event of a system failure, Ultimus’ transaction processing model ensures that task information is properly committed to the database, or rolled back to the prior state. This powerful, stateless architectural foundation has the following key benefits:
- Ultimus is able to seamlessly leverage 3rd party network/IP load balancing solutions for near-limitless linear scalability. As an example, products such as Windows Server provide native network load balancing features that Ultimus leverages out-of-the-box. Since Ultimus is stateless and does not support the concept of “sticky sessions” (that are tied to particular components on a server), any load balancing product can pass requests to multiple BPM Servers that are set up in parallel, redundant configurations. Ultimus is also not dependant on the particular load-balancing algorithm used by the load balancing product. In addition, Ultimus servers can easily be added to parallel load balanced configurations - all that you need to ensure is that the new Ultimus server is identified to the 3rd party load
balancing product.
Multiple Ultimus BPM Servers are set up in parallel on Web Server (IIS) machines. The 3rd party load balancing product is responsible for dynamically distributing load across the Web Servers, and ultimately to the Ultimus BPM Servers behind them.
- Ultimus’ unique architecture also allows it to leverage out-of-the-box capabilities provided in Windows Server 2000 and 2003 for high availability and fail-over redundancy. These high availability and fail-over clustering capabilities are provided as native features in the Advanced and Datacenter Editions of the Windows Server products. With Windows clustering, if a server in a cluster goes down, another server in the cluster will automatically take the downed server’s place. Using these clustering capabilities, you can seamlessly implement high-availability of Ultimus BPM Server deployments in network load balancing environments.
Ultimus’ distributed architecture also makes it possible to separate specific operations in processes across machines. As an example, Ultimus Flobots, which are steps in Ultimus processes that provide integration with back-end systems, can be configured to execute on a different machine to the Ultimus BPM Server. This allows the BPM Server to focus on servicing the human-related steps in processes for optimal performance, while the integration components of the process are offloaded to a separate machine.
Ultimus Benchmark Results
Ultimus recently implemented an internal benchmark using the Ultimus v7.0 BPM Suite. The benchmark produced excellent results that proved the scalability and robustness of the Ultimus BPM Suite. Provided below is the internal benchmark summary and results.