Extending an ESB with a BPMS
When we implement an ESB for our customers, we see more and more that complex process logic becomes a part of the integrations.
By: Eling Delleman
This especially occurs at organisations that invest heavily in cloud based business applications. The reason is that cloud based applications are less extendable than on-premise applications, which leads to the need for another component to realize the required customizations. One possibility is to create a separate application to accommodate for these additional business requirements, but this leads to a more complex business landscape.
Very often, a much better solution is start using a BPMS (Business Process Management System) to orchestrate business processes that use functionality in multiple business applications in an organisation.
Extending an ESB with webMethods BPMS
Several business drivers can lead to the implementation of a BPMS. However, for an organization that starts to implement a BPMS as an extension of an ESB, the following reasons are the most common:
- Integrations become more complex and involve multiple systems
- There is a need to include human steps in the logic
- There is a need for a more advanced monitoring than is possible when using an ESB
- Business rules become more complex
- There is a need to make changes to business rules on a regular basis
With webMethods BPMS, Software AG offers a leading BPMS that leverages webMethods ESB and is therefore ideally suited for organisations that seek to extend their ESB with a BPMS.
webMethods BPMS consist of the following components:
- Designer: design business processes, business rules, and tasks
- Process Engine: executes the processes
- Task Engine: facilitates user tasks
- Business Rules Engine: executes business rules
- Analysis Engine: performs real time analysis on processes
- Business Console: provides a clean user experience to monitor processes and to execute tasks
Example: On-boarding Process for New Hires
A good example of a business process that could be automated using webMethods BPMS is an on-boarding process for new employees. This is a cross application process that – when automated – requires a number of interfaces with internal systems and partners.
Business processes are designed using the modelling language BPMN. A big benefit of this is that BPMN provides a common language for business representatives and process designers to talk about the process. A modern BPMS will also be able to generate an executable process from the BPMN model.
The following BPMN diagram provides an (albeit very simplified) example of such an on-boarding process. The diagram has been created with webMethods Designer.
On the left side, you see the title of what is called a pool with the name of the process. In this pool, there are three so called lanes, representing organisational departments.
The process starts with a message start step, which is triggered by some kind of message on the ESB, and ends with a stop step.
When the process is started, it firstly flows in a user task activity, which will instruct an HR employee to register the new hire in the HR system. The execution of the work required is not automated in this process, but the use of a user task ensures that the BPMS logs when the HR employee updates the task and marks the work as complete. You will notice another user task at the end of the process where an HR employee is given the task to plan the first day for the new hire.
Next, the process flows to a parallel gateway. This is used to execute multiple activities at the same time. In this case the financial activities can be executed in parallel to the activities for the IT department. Further on in the process you will notice a corresponding parallel gateway where the process will wait until all parallel activities have been executed.
In the IT lane, the first activity to be executed in parallel is a business rule activity. Here, a business rule engine will be used to determine what model laptop and phone the new hire should get.
Finally, the process contains two service tasks that could be implemented using webMethods Integration Server.
The use of a modelling language ensures that changing a business process is a straightforward affair. When a change process is promoted to production, running process instances started when an older version was active, will continue to use the older version of the business process. All new instances will automatically use the latest version. This facilitates a continuous improvement of active business processes.
This encourages an iterative/SCRUM approach where you don’t implement the complete process at once, but keep extending it.
An example is the first registration task in the model above. In the first iteration, this could be a user task, as depicted above. However, in a future version of the process, the creation of the new hire could be (partly) automated to increase the efficiency of the HR officer.
Proof of concept
At inQdo, we see organisations that think about implementing a BPMS, often start with a proof of concept. By implementing a known process in a BPMS, the pro and cons of implementing a BPMS can be investigated.
If you want to know more about process modelling or integration with webMethods, feel free to contact us.