What is Business Process Management (BPM)? Well, BPM, by definition, enables
the design, analysis, optimization, and automation of business processes. It
does this by separating process logic from the applications that run them;
managing relationships among process participants; integrating internal and
external resources; and monitoring process performance.
For the past few years the computing industry has been working on
standardization of software interfaces and messaging. The objective being that
there needs to be no dependence on software (JAVA/J2EE, Microsoft .NET, etc) or
hardware (HP, IBM, SUN, PCs, etc) technologies for software to communicate with
each other.
Web Services arrived on the scene in the late 90s and had started bridging
this gap. This also ushered the software as a service (SaaS) concept. The
software as a service model composes services dynamically, as needed, by binding
several lower level services-thus overcoming many limitations that constrain
traditional software use, development, and evolution. All of this solved the
application interface problem by standardizing the software interfaces.
Two problems still remained, one is that the messages that flowed between
applications were not standardized and the business logic that formed part of
the Web Services still had to be hand coded. The answer to the later problem is
BPM.
Each BPM software application is defined by a mix of several components.
These components-process design, process monitoring, process operation
(automation and integration)-will weigh heavily in the selection criteria of
BPM software.
Process design
The ability for the business analyst to design processes without needing to
have any programming skills is one of the major benefits of BPM solution. The
offerings include a graphical user interface with drag-and-drop technology to
make process design as intuitive as possible for the business user.
A robust process design module will support all process assets (i.e.
information and people), sub-processes, parallel processes, creation of business
rules, transaction handling, and exception handling among others. This is
otherwise called application/process choreography.
Process monitoring
One major goal of BPM is to realize continuous process improvement. Through
reports and analysis, companies can take steps towards process optimization.
Process operation
The actual operation, or execution, of a process is termed process
operation. This is also called application/process orchestration. Automation and
integration are extremely important pieces of the BPM puzzle.
Automation deals with invocation of services in order to execute process
regardless of modeling language while persisting state and data between service
calls, support for nested processing, where sub-processes invoke other
sub-processes in succession.
Connecting all process participants, whether they be humans or applications,
is one of the most important prerequisites to implementing successful business
processes.