Organizations seeking to deliver business process management (BPM) on a service-oriented
architecture (SOA) have traditionally been faced with one of two compromise solutions:
a workflow approach with limited connectivity or an integration approach with
limited support for people. In this article we will talk about the benefits of
a unified architecture for BPM in an SOA environment that overcomes these limitations.
Effective use of a unified approach results in a process layer and a service
layer, each independent of the other, but each defined within the same model.
Essentially, a process model in this case is like a coin, a single entity, but
with two unique "sides." Using this approach, changes can be made
to processes without affecting the underlying services and the line-of-business
applications with which they interact. Similarly, changes can be made to the
technical underpinnings of the service without impacting those business processes
using the service. Regardless of the type of change made to the model, because
it is shared, changes are registered on the other "side" of the model,
though the people working with that aspect may not actually see the changes.
This flexible, model-driven design approach significantly increases process
agility, isolates the impact of change and allows the specialized skills of
business analysts and IT developers to be properly harnessed to foster effective
collaboration.
The Goal: Independent Process and Service Layer
Positioning BPM and SOA as distinct technologies or approaches limits the utility
of each. It is far more valuable to think of them as two sides of the same coin.
A coin with only one face is of no value, because it is no longer legal tender.
BPM without SOA or vice versa, while not useless, is certainly of less value
to the business. BPM and SOA can reciprocally leverage the assets of each other.
By unifying them, the incremental value is not the arithmetic increase of 1+1,
rather it is an exponential increase in the services and processes made available
to each.
SOA is an architecture that breaks down applications and data into discrete,
independent components, or "services," that can be executed in a highly
distributed and reusable manner. An SOA increases business agility by enabling
IT departments to reuse services that have known scalability and quality of
service characteristics. Such reuse can help reduce time to market as well as
development costs.
-1-