by John Brunswick
Published September 2008
Business Process Management (BPM) is a natural complement to Service-Oriented Architecture (SOA), and a mechanism through which an organization can apply SOA to high-value business challenges. Both SOA and BPM can be pursued individually, but the two approaches in concert offer reciprocal benefits. This article will address the benefits of implementing BPM on top of a SOA foundation. Those benefits include a more agile, flexible, enterprise, one that can more easily proliferate across divisions and geographies, and is more resilient to changes in underlying IT systems. In addition to discussing how the complementary disciplines of BPM and SOA inherently promote radical cooperation between business and technology groups within an organization, this article will discuss how to enrich the services delivered from within a SOA.
While the potential benefits can be substantial, there are some serious questions that an organization should consider before embarking on SOA and BPM implementations. For instance, will the organization be better served by making use of coarse-grained services developed in an effort to promote SOA, stringing these services together to create process-based applications? In the absence of an additional mediation layer, will it be possible to leverage BPM exclusively to create a wrapper for the interaction into various backend systems?
Additionally, what will happen if BPM and SOA tools are used in concert? Is this a win-win scenario, or an investment into yet another set of tools that complicate information management and application delivery within the enterprise? Do the potential benefits of BPM and SOA span beyond the obvious, where one tool handles orchestration and the other provides service management?
Only through a candid examination of the relevant BPM and SOA tools can these questions be sufficiently answered. And only after identifying the distinct value propositions of these tools can the overlap and synergies their use makes possible be examined.
It is possible to arrive at a three-way intersection of value (Figure 1.1) where SOA is made richer and more relevant in supporting core business objectives. With a SOA structure dictated by top-down design derived directly from business process needs, invoked services can now be linked to KPIs, and detailed service usage information obtained from BAM, along with a layer of compliance, can be woven into the SOA. As a result, SOA partnered with BPM provides greater value than stand-alone SOA, since that partnership makes BPM more agile and resilient. In addition, BPM supported by SOA can benefit from a rich pallet of services bolstered by SLAs and nutured through monitoring, which ultimately eliminates the fragility of point-to-point integration to provide a previously impossible level of stability. This will ultimately help to finalize the three-way intersection of value at which businesses can more easily focus on using IT systems to increase revenue and customer satisfaction, speed product development, reduce process times, and drive growth.
As is the case with SOA, BPM does not refer to a specific technology. It is a methodology for managing, measuring, executing and optimizing processes within an enterprise to help achieve business goals.
BPM has its roots in ERP and similar tools designed to enforce and manage processes within an organization. These tools soon made it apparent that although helpful, they tended to foster rigid process models that were not appropriate for all businesses or situations. In contrast, BPM excels at pulling the business rules out of code, thus speeding development and allowing businesses to model and integrate their processes in a more cost- and time-effective manner. A good example of this is dynamic exception management, which until now may have been impossible to create within a reasonable timeframe and budget. There is little doubt that BPM tools today will become staples within IT organizations given the level of value that they provide.
A wide range of software vendors have created tools to assist in this endeavor. Some of these tools focus on managing people oriented processes, decision making processes, document management processes and/or system integration-centric processes. They generally provide an orchestration layer that ties into and leverages existing technology investments, thereby supporting an organization's business while providing an analytical layer around processes to trigger alerts and provide insight into trending data. Unfortunately this often means developing potentially fragile, point-to-point integrations to include these systems within processes. Initially this approach will allow processes to achieve coordination and management across silos, but over time this strategy becomes challenging as enterprise information systems evolve, making it difficult to manage existing process integration points ? if not outright breaking them.
Among enterprise software buzzwords, SOA may be the biggest. A SOA strives to encapsulate and manage discrete business functions into services that can then be used for enterprise application development.
As enterprise information systems evolve, it is unrealistic to expect them to continually adhere to certain standards, beyond the use HTTP and other basic transport protocols. This is where an Enterprise Service Bus and a Data Service Layer are extremely useful. They help bridge disparate protocols and formats, enable service management, promote service reuse, and can provide a single interface into a series of potentially heterogeneous platforms. Going one step further, they can provide tools for service lifecycle management, enforce SLAs to offer stability, and provide detailed monitoring data, making them an ideal choice to manage enterprise data and systems.
As the industry evolves, companies face new challenges, including software as a service (SaaS) and the management of services outside of the corporate firewall, the consumption of REST and other new technologies and methodologies, and the management of complex security brokering. In this ever-changing environment, a strong SOA can help companies remain agile and responsive to business demands.
But SOA by itself provides no way of orchestrating these services to onboard a new customer account or employee, handle a service request, or manage a loan origination process. Applications may be able to tie directly into a SOA, but that isolates the business logic onto various islands, hampering reuse and creating rigid systems in which the business has a limited ability to participate. This decreases the power and speed with which domain expertise can be applied to systems. SOA also provides no native mechanism to surface relevant, business consumable analytics to users of SOA-based applications.
SOA's value proposition is impressive, but figuring out where to begin creating components for a SOA can be a challenge. It can be overwhelming to face the prospect of creating a service portfolio to support business needs while inadvertently building dormant services that can drain resources and budgets that could be used elsewhere.
BPM can be an ideal catalyst to create a high value SOA because it drives a top-down approach to the development of coarse grained services, and can be instrumental in helping organizations realize a business-driven SOA. Every service developed in this manner will inherently tie directly to a process that supports the business. This forces services to bind back to core organizational objectives, promoting a level of alignment to a business's value chain that other combinations of technologies are unlikely to deliver. This factor allows BPM to maximize the value of SOA.
The enterprise is constantly in flux. Though there are some trends toward communication standards with Service Component Architecture (SCA) and other methodolgies, it is unlikely that systems will develop and maintain a uniform approach to communication and data exchange. It is far more likely that the specifications and delivery mechanisms will fluctuate or evolve, as will the services themselves, making service lifecycle management and mature approaches to service management increasingly important.
By using an Enterprise Service Bus and other staples of a SOA it is possible to pragmatically link various elements within the enterprise through a mature, resilient fabric. This not only insulates BPM processes that may be tied to underlying systems, it also lets an enterprise leverage its existing familiarity with toolsets, masking underlying system complexity and allowing all groups within an organization to quickly add their systems to processes benefiting from the SOA.
Ultimately this will allow IT resources to focus on delivering business value on the basis of domain expertise and process modeling abilities. It will also allow those resources to worry less about protocols, messaging and the changing platforms that underlie their processes.
When BPM and SOA are combined, process modeling becomes the face of SOA, helping IT teams to become more agile, and allowing them to more quickly meet the needs of the business by placing a highly flexible management layer beneath their processes. Instead of focusing on binding rigid systems together, it is possible to shift the focus to driving revenue, increasing customer satisfaction, shrinking product development cycle times, and other core business objectives. BPM helps organizations design practical service-oreinted architectures by reducing the ambiguity in the effort to develop coarse grained services within those architectures. This top-down, BPM-driven approach allows business needs to dictate the direction of service development.
There are other tangible benefits to be realized when driving SOA innovation with a top-down, BPM-guided approach. In that scenario, a SOA can benefit from metrics in the form of KPIs, rich analytics around service usage through BAM, and a wrapper of compliance management that would be impossible with standalone SOA. A rich SOA fabric naturally reciprocates, providing BPM with a rock-solid foundation built on top SLAs, detailed low-level monitoring, and stability that allows processes to isolate themselves from changes in underlying systems.
Both BPM and SOA provide substantial benefits to an IT organization, but it is clear that when used in concert an entirely new level of value can be achieved to help an enterprise remain agile, flexible, and focused on driving core organizational goals with IT.