Visit Our Sponsors
The combination of Business Process Management (BPM) and Service-Oriented Architecture (SOA) has been the subject of a great many magazine column inches and conversations in the past couple of years. Most commonly, the relationship is seen primarily as one of technical complements - where BPM is seen as a way to make it easier to create composite applications from services, and SOA is seen as a way to make it easier to integrate automated processes with existing applications, systems and data sources. However this is only one small part of the picture, and it forces both BPM and SOA into playing purely technical, application development related roles.
How did we get here? It's important to see how we got to where we are today--where most people think of BPM and SOA primarily as complementary technology-driven concepts. There are three factors that have conspired to push the BPM + SOA equation into industry consciousness, and all of them have been driven by IT suppliers:
1. The adoption of BPEL within mainstream software products. Through 2004-05, the suppliers selling new middleware products aimed at customers pursuing SOA initiatives started to offer orchestration engines that could be used to wire together Web services to create multi-step logic flows spanning multiple external services. These engines implemented a standard called BPEL, or Business Process Execution Language to provide that orchestration. This overloaded use of "Business Process" terminology caused many commentators to blend and confuse the topics of SOA and BPM.
2. Software suppliers with products that appealed to technology buyers, looking for ways to sell to business leaders. Many of these same suppliers were motivated to perpetuate any confusion in the market, because they were keen to find ways to sell their products not only to their traditional technology buyer audiences (Architects, Project Managers, etc) but also to business buyers. Branding their new technology capabilities as "BPM" was seen as a great way to get a foot in the door, because BPM had already gained a foothold as a line of business investment for many large organizations.
3. BPM technology products making use of Web services. At the same time, a group of startup software suppliers was selling a new type of software platform built specially for BPM initiatives, which came to be known as the Business Process Management System (BPMS)--designed to not only help organizations model processes, but also translate these models into working systems that could then be easily monitored and optimized in a "closed-loop" fashion. These suppliers entered the market just as interest in SOA was spreading rapidly, and as the initial Web services technical standards work in the SOA area was starting to become widely recognized. It made sense for these vendors to piggy-back on the new Web services protocols as a way to make their products "open" for customers to integrate new automated processes with existing back-end applications, systems and data sources.
BPM and SOA: ships that pass in the night
In fact, though, what's interesting is that when we interview managers from both business and IT departments in an organization we commonly see a very different picture, which can be summed up as follows:
1. SOA is IT-driven. From the perspective of SOA, BPM is seen primarily as a separate modeling and analysis exercise carried out by business analysts that has little direct impact on the way that things get done in practice.
2. BPM is business-driven. From the perspective of BPM, if SOA is understood at all it is seen as a small part of the technical implementation landscape for processes that IT staff will "figure out".
Missed opportunities: At first glance it might look like there's nothing wrong with having BPM and SOA initiatives that are disconnected in this way. However there are negative implications for both BPM and SOA initiatives in situations like this, particularly for organizations that aspire to implement BPM and/or SOA more broadly than across just one or two projects. Here are three examples:
1. Failure to leverage "integration services" effectively in BPM implementations. One of the supposed benefits of using Web services comes from the opportunity for service reuse. But if integration services in BPM initiatives are being specified and created purely within the context of individual process implementations, without any architectural (i.e. cross-project) oversight, there's no guarantee that the resulting services will be reusable in any real-world sense. SOA, done right, will improve consistency and reusability of integration services across BPM projects.
2. Failure to consider opportunities for process reuse. It's straightforward to take a process implementation and expose it to the "outside world" as a reusable, standards-based software service--many BPM tools provide automated functionality to do this for you. But (as is the case when considering integration requirements) if you drive the creation of "process services" solely from the BPM implementation environment without considering the broader business/IT landscape, who's to say that the resulting services will deliver optimal value? Any working SOA initiative should be able to provide valuable input here.
3. Failure to capitalize on information architecture value. Within SOA implementations, the definition of "common information models" is crucial to minimizing the amount of translation of information flows that has to be performed when services are being combined and re-combined in different environments. If process implementations are to be reused (as described above), the same requirement holds within BPM initiatives, too. But apart from that, it makes sense to enable individual BPM project teams to be able to reuse or import standard information definitions. Defining process information within the context of individual projects is fine when you're only pursuing one or two isolated projects, but when BPM starts to be "part of the way we do things around here" you need to be able to guarantee that processes are going to work with commonly-defined definitions of business information entities like customers, orders, invoices, deliveries, products and so on.
Creating a "service context" for processes: There's another, but less obvious, way in which the combination of BPM and SOA can deliver increased value: SOA, when considered holistically in the context of business architecture as well as technology architecture, can provide a consistent framework in which to explore and define process KPIs.
In a business architecture driven approach to SOA, a portfolio of services isn't created by solely focusing on how existing software applications and resources can be more effectively exposed to be reused. An equally important starting-point is an understanding of the high-level business service commitments that an organization makes to external parties (related to the ordering and delivery of products, resolution of problems, or filing of financial statements, for example). Service models acting at different levels of granularity and abstraction decompose these top-level business service commitments, and inform requirements for service commitments at different levels within an organization and its systems.
Today, these service-level commitments for processes are most often explored and analyzed within individual BPM projects, rather than within broader initiatives that span multiple processes and projects. If you drive the specification of KPIs and SLAs for processes solely from within the scope of individual BPM projects, without considering the broader landscape of the organization's business model and service commitments, who's to say that the KPIs and SLAs are really aimed at measuring what's important: the business service commitments to external parties?
A holistic approach to SOA which considers top-down service level commitments as well as bottom-up system development and integration requirements can, and should, inform business process modeling initiatives to ensure a consistent set of business-meaningful service level commitments.
In summary: when you look at how to combine BPM and SOA initiatives, don't just focus on the obvious integration-enablement aspects. If you broaden your view to see how BPM and SOA fit into the broader perspective of Business Architecture, more profound relationships and opportunities will become apparent.
Neil is an accomplished IT industry analyst with over 17 years' industry experience. Neil advises clients on technology and management issues relating to business process management and SOA, as well as enterprise architecture, IT governance, application development and business integration. Neil is a co-author of "The Technology Garden: Cultivating Sustainable IT-Business Alignment" (Wiley, 2007) and is a regular speaker at conferences throughout Europe.
Enjoy curated articles directly to your inbox.