Saturday, November 28, 2009

Explore how BPMS works

A system architect who understands the business process as well as IT applications and services can use the executable process modeler, which does what the name suggests -- provides a visual model of executable processes. That pictorial process definition is captured in BPEL, which in turn is deployed to the process engine. All components involved in process execution are deployed to the process engine or the application server. Many BPMS tools create a single deployable file, making the deployment process easier.

One or more process instances can be started on the process engine using appropriate application program interfaces (APIs) or the user portal. The BPMS orchestrates execution of services and components. Some BPMS tools convert the BPEL into executable code. Other BPM tools deploy BPEL to the process engine, which in turn parses BPEL and stores the sequence of activities in memory. In that case, the process engine is responsible for invoking activities in the desired order and passing parameters across the activities. Process engines use specifications like Web Service Invocation Framework (WSIF), Web Service Definition Language (WSDL), Java Message Service (JMS), generated native code, and adaptors to invoke the activities. Usually the BPMS tools provide the adaptor SDK to write adaptors to integrate with custom applications.

As the process instance executes in the process engine, the execution data is stored and can be used for continuous process improvement. Process execution data is used to generate reports at run time, generating alerts and escalations; this same data can also be periodically reviewed at a later time. The data can be analyzed by business analysts and process owners and used to find process bottlenecks and areas for improvements. According to these findings, the process owner then changes the process definition using the business process modeler. These changes are further mapped in the executable process modeler and changes are done in the IT layer wherever required.

The process may require some manual steps to be completed by business users. Users can participate in process execution by logging in to the user inbox provided by user portal. Users can claim, view, transfer, and complete activities.

Knowing the difference between component-based software system and BPM

At first glance, BPMS may look a lot like a component-based architecture approach, but you'll notice some key differences. First, component-based architectures create reusable software components and link them together to build applications. A BPMS follows the same concept, but its goal is the creation of reusable services that are linked together to create a process.

Another crucial difference: In component-based systems, the link between various software components is coded or scripted by developers. If there is a change in that link, the script file is changed and redeployed. In a BPMS implementation, the link between various services is drawn as part of the process model. The process model is captured in BPEL and deployed on the process engine. When there is a change to the process definition, the process model is changed and BPEL is redeployed on process engine. So, with BPMS when the process changes, there is no need to change the connecting code.

No comments:

Post a Comment