Saturday, January 5, 2008

Business Process Management - Things to watch out for in 2008

Business Process Management

"Comparison between different BPM products and choose one which suits best to your enterprise needs"

First I would like to start describing the core meaning what BPM stands for and what makes it one of the things to watch out for in enterprise applications.

Business Process Management (BPM) has become one of the most important enterprise software market segments as evidenced by recent industry analyst reports, as well as a growing number of companies claiming to offer BPM software. Like the rush by a broad range of software vendors to re-brand their products as ‘CRM solutions’ when the acronym first came on the scene, the same has quickly occurred with BPM and, as was the case with CRM, the products offered by the vendors vary dramatically in capability and functionality.

What is a Business Process Management platform?
First let’s define the core element, a business process. A business process is an aggregation of operations performed by people and software systems containing the information used in the process, along with the applicable business rules.

Execution of Business Processes
The execution of a business process achieves a business objective. The people and systems may be inside the boundaries of a company, but often times are in multiple enterprises needing to collaborate to achieve their business objectives. These processes also include business rules that may be documented policies and procedures, as well as the undocumented ‘how we really do things’ rules that exist in most enterprises.

A comprehensive Business Process Management platform provides an organization with the ability to collectively define their business processes, deploy those processes as applications accessible via the Web that are integrated with their existing software systems, and then provide managers with the visibility to monitor, analyze, control and improve the execution of those processes in real time. To be a comprehensive BPM platform a system must not only automate processes, it must:

* Integrate with existing operational systems such as ERP and databases
* Integrate business processes with those of a company’s suppliers and partners
* Incorporate the business rules that guide a business
* Provide managers with the visibility into those automated processes
to monitor operations in real time
* Offer managers the ability to deal with exceptions when they occur by changing business rules or entire processes to respond to business conditions in real time

BPM Versus EAI
Many products on the market today purporting to be Business Process Management systems provide only basic process automation or workflow capabilities that route tasks between systems or people. There is a great deal more involved in critical business processes. And there is a significant gap in the capabilities of a basic EAI or workflow system

If you were to consider an enterprise as an interconnected set of layers with the very top being the business strategy layer and the bottom the IT infrastructure layer you would begin to see how very different BPM is from EAI, Application Server and Workflow systems. The terms that make up the acronyms BPM, Business, Process and Management and EAI Enterprise Application Integration give a good indication for where they fit into the enterprise ‘stack’. BPM provides an organization with the ability to define at a business strategy level its processes, then automate those processes in a controlled application to execute on that strategy and finally to provide business managers with the visibility to monitor and analyze the operation of those processes to improve their operation and to resolve business problems when they occur. EAI, on the other hand is a ‘middleware’ technology that provides the ‘plumbing’ to route data between applications (application integration). EAI operates at the technology layer of a business and is a set of programming tools used by an IT organization to reduce the amount of custom software that would otherwise need to be written. BPM addresses business issues and EAI addresses IT issues. As the top layer in the stack, BPM serves as the critical business productivity layer linked to the software systems, applications, middleware, databases, messaging technologies and the IT resources of large scaled business enterprises to execute those processes. Some applications such as ERP systems incorporate the middleware and databases in one layer. Others, like new Supply Chain Management (SCM) products, exist at the application layer and run on top of application servers and EAI/B2Bi services.

It is very important for a BPM platform to allow processes that span multiple enterprises and use multiple existing software systems, to be defined quickly and to be deployed rapidly. Otherwise, a BPM platform provides little value to no value as a business automation and management platform. Business is in a constant state of change, driven by internal and external activities and a business process management system must be able to respond to these changes.

What of Overlapping Systems?
When looking at product offerings claiming to offer BPM capabilities, it is important to recognize that these products were developed to address specific problems, such as routing documents and tasks between office workers, in the case of Workflow, and coordinating the flow of information between legacy systems, in the case of EAI technology.

Workflow Systems
Basic Workflow products overlap with BPM systems as they address one element of BPM, providing for the definition and flow of operations performed by people. Workflow systems:

* Are designed for groupware and human collaboration applications.
* Do not integrate operations to be performed by software systems.
* Typically are based on client-server architectures
(rather than Web-based thin client architectures)
* Limit operations to those performed inside the enterprise.
* Do not allow business rules to be aggregated with business operations.

As Workflow companies move to extend their systems to address the above deficiencies, it invariably means grafting new technologies on old architectures or entirely redeveloping their products, both expensive and problematic processes.

Existing workflow products, in addition to having client-server architectures, rather than Web architecture, have been implemented in C or at best in C++ languages rather than in Java. They represent processes in proprietary notations rather than in XML. They do not have rule and integration engines, which are essential components of a top down business productivity BPM platform.

EAI/B2Bi Systems
Existing EAI/B2Bi products overlap with BPM systems as they provide for the flow of operations performed by systems to be defined and executed. This is in effect facilitating the flow of information between integrated applications. EAI/B2Bi systems:

* Have been designed to integrate applications that execute related
business transactions
* Typically do not allow operations to be performed by people
* Are technical, low-level systems requiring extensive IT expertise to deploy
* Are tied to an integration server and cannot be used without it
* Provide no business management capability, as their purpose is automation.

As with workflow systems, EAI/B2Bi companies are also looking to extend their systems to address the above deficiencies with the same negative impact. Adding Workflow to an EAI/B2Bi system facilitates information routing process, but does nothing to address the underlying business process and business management problems enterprises face. It is important to recognize that a process to an EAI system is typically measured in sub-seconds and their architectures are designed to meet that goal. Business processes when viewed from the business level, often take days if not months to complete (product life cycle) involving hundreds of different steps and exceptions, necessitating a systems architecture designed to manage the workload.

Different BPM Solutions
Here I would like to present the pros and cons of different BPM solutions available in market now.
A) BEA Aqualogic BPM -
I did get an opportunity to use this product while working in one of my projects and what I like most about this product coming from BEA it does seamlessly integrates with your BEA development environment and the support and articles given by BEA extremely useful while implementing your application.And you do need BPM Designer and BPM studio to complete the product stack you need to develop business processes.
The main features of Aqualogic BPM are ,
BEA AquaLogic BPM directly leverages this infrastructure by enabling the orchestration of services deployed in the service network, and by allowing people to interact with those services through managed work processes. The benefits of SOA become very clear to business users when they can design work processes that directly interact with business services provided by the underlying service network. BEA AquaLogic BPM also integrates directly with BEA AquaLogic User Interaction, a portal and Web experience framework, provide a richer user experience for process users. This integration also delivers a powerful combination of Business Process Management and human collaboration tools that supports the wider balance of structured and unstructured work patterns.

BEA AquaLogic BPM is also well-suited for deployments that do not yet involve a service infrastructure. Enterprises often enjoy the benefits of Business Process Management without first service-enabling their existing systems simply by using a common system for modeling and documenting work processes and activities, and also by using the underlying system connectivity capabilities within the product. BEA AquaLogic BPM supports non-SOA environments using powerful introspection technology that makes it easy to connect processes to a wide variety of proprietary IT systems, including IBM, TIBCO, Oracle and SAP, using simple wizard-style interfaces.
BEA AquaLogic® BPM Designer is the business analyst's design environment. It enables the creation of any type of process by simply dragging and dropping process elements onto swim-lanes.
BEA AquaLogic BPM Studio supports multiple programming languages using a "skin" approach. The developer can seamlessly switch between .NET and Java at any time for both existing and new code. BEA AquaLogic BPM Studio provides a unique wizard driven tool to connect to external systems. The tool supports a variety of interface standards, including Java, .NET, EJB, JNDI, Web Service, XML, CORBA, COM, SQL, UDDIv3 and more. Finally, developers can easily assemble the user interfaces required for process participants. No Web design or coding is necessary. BEA AquaLogic BPM Studio automatically generates the necessary Web components based on the interaction and message formats specified in the process

B)IBM Websphere BPM Suite

IBM's new BPM suite based on Websphere Business Modeler,Business Monitor and Process Server Version 6 brings all of these functional elements together in a common service-oriented framework.The architecture provides a common orchestration engine,common data respresentation,common invocation model and common design environment for all aspects of business integration solutions.
Websphere Process Server and ita associated design tools are aimed broadly at SOA developers building composite applications on Websphere.
The Websphere BPM suite has four primary components :
Websphere Business Modeler v6 , provides analytical modeling of process flow, resources,costs,data and performance management,simulation of process scenarios and Business Measures Editor , which defines key performance indicators.

Websphere Integration Developer v6 provides executable process modeling through service-oriented assembly. It imports BPEL and business objects from Websphere Business Modeler and deploys executable models to the Process Server runtime environment.

Websphere Process Server it is layered on WAS and its SOA core services include Service Component Architecture ,business objects and the Common Event Infrastructure used for process monitoring.In BPMS solutions, Process Server provides the BPEL orchestration engine,business rule engine and component execution environment as well as Websphere ESB and last in the product hierarchy is Websphere Business Monitor is the performance management runtime component.Using metrics defined in modeler ,both real-time and historical analytics can be displayed in dashboards and charts.Websphere Business Monitor runs as Portlets in IBM Websphere Portal.

C) Jboss JBPM
I used this in one of my most recent projects and I must say, this is the most easy to use BPM product,though a lot more support and tutorials would have been useful for SOA developers.I did used it to create different process definitions and business process workflows as well as a process definition which initiates a Timer in background for a running batch job process and intimates the supervisor and developer responsible for that business process execution.
JBoss jBPM provides a process-oriented programming model (jPDL) that blends the best of both Java and declarative programming techniques.
JBoss jBPM, like all JBoss Enterprise Frameworks, is modular. It runs with JBoss Enterprise Middleware or any other Java EE middleware platform and plus its Open Source and if one reads the JIRA issues associated with this solution,you may get to see the progress made by jbpm everyday.
Watch here a demo of Jboss JBPM

D)Other BPMS products worth having a look at,
Intalio ,Open source and Savvion and here you see the demo of this product,Savvion

And I do believe expertise in either of these BPM solutions, will further enhance a J2EE Developer caliber and ofcourse gets you a challenging assignment to work on and your profile will be in demand.

Print this post

1 comment:

  1. BPM is the emerging technology now. I feel Java/J2EE folks should be ready to take off in this platform.