|
SYS-CON.TV Webcasts
Comments
Did you read today's front page stories & breaking news?
SYS-CON.TV
|
Top Links You Must Click On
BPM Managing the Reach and Range of Your Business Processes
Managing the Reach and Range of Your Business Processes
By: Harvey Reed
Jun. 17, 2003 12:00 AM
Business processes reach across enterprises and partners, and require a range of complex functions. As the reach and range of your business processes increase, consider (a) moving these functions into an integration network, such as an enterprise service bus (ESB); and (b) recursively encapsulating your business processes as services. The resulting architecture is agile without redundant and confusing technology. 'Reach' and 'Range' These activities are performed by company employees and systems in a coordinated fashion, so distance correlates to organizational boundaries and diverging of commonality of infrastructure, management, and operations. Figure 1 summarizes how reach is defined using organizational boundaries as the metric. As the distance increases, the challenges to achieving the goals of deploying, managing, and updating increase.
![]() The metric of complexity describes the range of sophistication of the business process. Complexity is relevant to resources that are orchestrated by a business process. Consider when a business process starts, stops, tries to undo, and is long running. Transactional support enables activities to be orchestrated in a coordinated fashion. With transactional support, units of work become complex:
![]() Messaging is the simplest level of complexity for business process implementation. The transactional complexity is low, since sending and responding to messages are separate transactions. The business process is expressed in separate pieces of code. Content-based message routing is the next level of complexity. The overall process is stateless, but messages have guaranteed delivery for recoverability. The core content of these messages is considered to be documents. BPM is the next level of complexity. The "Ten Pillars of Business Process Management" (McDaniel) is an excellent summary of BPM tools. A BPM tool executes a business process described in a model. As the BPM tool executes the instance of the process, and records progress, we have state and can recover from failures. A BPM tool can execute long-running business processes, and is capable of rich exception handling. We measure the progress of business processes by collecting business events. For messaging and content-based implementations, all of the business events have to be correlated. For BPM, the business events are naturally correlated to the instance of business process. The highest level of complexity requires a combined view of business event and business object data. This is a powerful view of the operations of the enterprise, revealing hotspots and trends, and suggests how to optimize your business processes. This is awareness, which feeds suggested optimizations back into business processes. Why Are There Data and Applications Everywhere? A database supports transactions with ACID properties: atomic, consistent, isolated, and durable. An ACID transaction requires locking relevant and related data for the duration of the transaction. The wider the reach of a transaction, the more database resources are locked. This limits the scope of databases, to avoid locking all of our data all the time, for each transaction. Thus, an enterprise uses many applications and databases. The databases may be able to participate in distributed ACID transactions, but the degree of locking and resource contention will restrict this on an enterprise scale. Business processes need a different approach for transactions. Business processes span the enterprise, are long-running, and frequently have complex exception handling. A business process is a series of activities to update applications and databases, such that:
Use Cases In the first use case, there are many resources (applications, databases, and people) to integrate and orchestrate. These resources are managed by different organizations, and are typically "paper-driven." There are usually two high-level, dominant business processes, CreateProduct and SellProduct. The implementations reach all resources of the enterprise, and pose significant challenges in negotiating agreements between departments and business units of a large enterprise. In the second case, there are fewer resources to integrate and orchestrate. However, your degree of control over how a partner interfaces to your enterprise is low, and these resources range in sophistication, from FileTransfer to WebServices. The business processes between partner and enterprise collaborate with the enterprise's CreateProduct or SellProduct business process. An enterprise BPM tool executes a business process across a wide reach and range. We measure to remove operational blindspots, and determine business process improvements. And we change a business process to adopt improvements, and to leverage high-change areas of the business. This is the foundation of agility. Next, we'll see how reach and range impact the ability to execute, measure, and change a business process. Reach and Range Impact When a business process executes, it depends on many complex functions to work over the entire reach and range: When the business process is measured it depends on this complex function to work over the entire reach and range: When the business process is changed, it depends on many complex functions to work over the entire reach and range: - Configuration: If anything changes, configuration must happen. There is a big difference in operations between managing configuration from one point rather than manually coordinating several acts of configuration. - Deployment: The promise of business processes is that they can be measured, optimized, and redeployed. A large enterprise is likely to have multiple implementations of business processes. Coordinating rollouts, tests, and rollbacks of business process implementations is onerous without transparent management. Reach and range of orchestrated resources in a confined area such as a Web service is easy. Reach and range over the enterprise and ecosystem, with multiple owners of systems, is hard. The reach of crossing over multiple organizations geometrically increases the difficulty of the range of process sophistication. The difficulty is similar to doing business between companies in different countries where there is a lack of trading agreements. With differing legal and monetary structures, there is much manual intervention, translation is imperfect, and you hope for the best. The BPM tool is not the best place to implement reach and range functions. A business process implementation requires the reach and range functions above, but the appropriate division of labor is to put reach and range functions into an integration network. The work of orchestrating resources in a business process becomes simple, and the promise of reuse is realized. The Integration Network A new category of integration middleware called the enterprise service bus (ESB) has emerged to support the proliferation of service-oriented interactions between enterprise applications. An ESB is a standards-based integration backbone that combines messaging, Web services, transformation and intelligent routing to reliably connect and coordinate the interaction of hundreds of application endpoints spanning a global organization. In the report, Gartner predicts that "a majority of large enterprises will have an ESB running by YE05." Using an ESB leverages its inherent reach and range functions, saving implementation and management costs. The ESB is a new product concept, similar in concept to the modern office building. A person arrives at work, goes to their room. In their room is fresh air, desk, phone, data, and so on. When one person talks to another, they don't install a custom phone and new wires to the people they expect to talk to. They just pick up the phone, dial a standard extension number, and talk to anyone. Prior to the ESB, resources were manually glued together one by one, by plugging them into either an integration broker hub or an application server hub. If those hubs themselves need to integrate, the process is repeated, yielding a brittle hierarchical structure. Using an ESB, the implementation of the business process is minimal, saving on development and QA costs. This is true whether the business process is basic, as with messaging, or sophisticated, as with a BPM tool. The ESB approach is the cleanest way to implement a business process as a service, as described in ZapThink's April 2003 Service Oriented Process. Your inventory of applications and databases are your atomic services. Business processes are built, and encapsulated as services, and installed on the ESB as a resource. Top-level business processes, such as CreateProduct, are then composed of sub-processes, perhaps DesignProduct, ProcureParts, and BuildProduct. Each of these sub-processes can use the atomic resources, or be further decomposed. The end result is a clean hierarchical grouping and usage of business processes, as services, without the redundant and confusing technology of prior approaches. In Figure 3 we see one service on the left, which is transparent, and composed of other services which are orchestrated by BPM, all on the ESB. This larger process is itself encapsulated as a service and is available on the ESB, within the reach of the enterprise. Further, some processes are opaque, as we see on the right of Figure 3. This can be the situation when integrating with partners. In this situation the interactions between services is via collaboration, for example as expressed in ebXML.
![]() Using BPM in an ESB - Connect to a service - Transform each service XML to common form Can we use multiple BPM tools in an ESB? Yes! By factoring out the ESB from the BPM reach and range functions, we encapsulate executing business processes as services deployed on the ESB. The actual BPM tool that executes the business process is hidden. We can have one or several BPM tools spread out over the enterprise. We can have BPM tools from different vendors, and different BPM tools from the same vendor. The ESB highlights the difference between the two use cases. In the first use case the ESB spans the enterprise, including franchises. Spanning franchises is attractive because of the inherently cost-effective nature of the ESB. In the second use case we can't assume tight ESB integration to the Partner, so we use collaboration, as defined, for example, in the ebXML standard. This is a radically different style of business process and may require a different BPM tool than the one used within the enterprise. Summary Then implement the business process or processes that are right for you! References Reader Feedback: Page 1 of 1
Enterprise Open Source Magazine Latest Stories . . .
Subscribe to the World's Most Powerful Newsletters
Subscribe to Our Rss Feeds & Get Your SYS-CON News Live!
|
SYS-CON Featured Whitepapers
Most Read This Week |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||