Hive Computing and Business Process Management
When it all comes down to it, at the core of most businesses are some number of critical business processes. These include...
- Setting up a new employee
- Processing an order
- Provisioning a new device
Many companies have purchased or developed Business Process Management (BPM) solutions that automate this process. The problem that such solutions run into is that, while they work, they have significant limitations when it comes to...
- Survivability
- Scalability
Because they were not designed from the outset to be survivable or scalable, they generally depend on one or a small number of servers. This limits the ability of the system to survive the failure of one or more servers. It also limits the ability of the system to scale.
While these problems can be addressed using solutions like load balancers, this approach is incomplete at best and greatly increases the complexity of the system.
Hive Computing and BPM
Hive Computing, because it was designed to be survivable and scalable, provides a much more robust way to perform Business Process Management functions.
Because a Hive is designed to host transaction oriented applications, it provides a much richer set of capabilities when it comes to handling and working around failures. For instance, if a Worker is assigned a Business Process and then fails during the execution of that Business Process, the Hive is able to hand the execution of that Business Process off to another Worker. More importantly, this happens without the knowledge of the Client Application.
A Hive is also far easier to scale. Adding new Workers to a Hive is as simple as connecting the network cable into the back of the box. From that point on, the Hive assumes the responsibility for Assimilating that Worker into the Hive.
Usage Scenario
Creating a Business Process Management system is a simple and straight-forward process.
The developer first defines a Process Flow that identifies the different steps in the Business Process. The developer then creates some number of Tasks to do the actual work.
These tasks could perform a wide range of functions including...
- Calling legacy systems via C/C++ or other APIs
- Calling Partner Systems using a web services or other interfaces
- Interacting with databases
- Interacting with email systems to send status messages
Regardless of exactly what the Business Process does, the benefit the Hive brings to the developer is that it reduces the time it takes to develop a survivable and scalable system.
|