|
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 The Orchestration of Business Processes
The Orchestration of Business Processes
By: Rob Cutlip; Ric Telford
May. 24, 2002 12:00 AM
As the usage of Web service interfaces grows, we're starting to see the emergence of some key sectors where Web services will make a huge impact. Much as Java found its sweet spot on the Web application server, Web services will find its own sweet spots. Grid computing and e-business "building blocks" are two examples of Web services sweet spots. Another area where we see Web services as critical is Business Process Management (BPM). BPM is the ability to orchestrate and control the execution of a business process across heterogeneous systems. BPM allows a user to see the components of the infrastructure from a business process view, rather than as a set of applications and databases. Part of orchestrating a business process is being able to manage the process even when it goes outside the enterprise, a common occurrence in today's e-business environment. When a process flows outside the enterprise, it needs a bridge from the private process to the public process. It is at this bridge point that Web services become important. This article describes the role of Web services in the orchestration of business processes. We will look at two examples: (1) incorporating information from a public process into a private process, and (2) exposing a private process outside the enterprise. This process flow is described using a combination of technologies, most notably the BPM product from CrossWorlds, the company recently acquired by IBM. Using CrossWorlds tools and Web service technologies, it's possible to define a business process, such as a purchase order, that has both a private process and a public process.
The Basics
Figure 1 illustrates typical business process flows using IBM CrossWorlds. Within the enterprise, applications communicate with the CrossWorlds Interchange Server or ICS via connectors (1). For outbound flows, the collaboration (business process) can leverage a Web services gateway by converting the business object into a SOAP message (2). The reverse can be handled as well for inbound SOAP messages (3). In the following pages, we'll discuss some practical examples of leveraging Web services within two common BPM scenarios.
Scenario 1: Using Web Services From Within a Business Process
StoneCold's business process now extends beyond the scope of its own systems. The business process, OrderProcessing, now includes EverPure's IT system. Web services provide the interface definition between the two companies' processes. It's immaterial to StoneCold how EverPure's process is built, due to the nature of Web services. EverPure exposes this process using a WSDL definition and a SOAP interface, allowing StoneCold to transact directly with EverPure's process (we will examine EverPure's OrderStatus business process in Scenario 2). In CrossWorlds, the connector for Web services is metadata-driven. The connector uses the metadata encoded in the business objects it processes, rather than relying on instructions coded in the connector. The connector calls the SOAP data handler that converts the CrossWorlds generic business object into an appropriate SOAP request message. The SOAP Connector then calls the EverPure, Inc., Web service using the corresponding URI. Once the destination Web service has processed the request, it sends back a SOAP response message. The SOAP connector using the SOAP Data Handler converts the message back into a generic business object and passes it to the appropriate collaboration. The end-to-end transaction is summarized in Figure 2. Purchases are staged in a database (1) from which a collaboration periodically polls for new entries (2). Part of the collaboration process is to identify appropriate suppliers for various items within an order (3) and update StoneCold's CRM system with pertinent customer information (4). The CrossWorlds collaboration calls the SOAP connector associated with the EverPure, Inc. Web service (5). The SOAP Connector then calls the EverPure, Inc. Web service using the corresponding URI (6).]
Scenario 2: Exposing a Business Process as a Web Service
As mentioned above, EverPure has their own process, OrderStatus, for allowing customer applications to perform order status checks. Like StoneCold, EverPure, Inc. uses CrossWorlds for business process management. Their OrderStatus process is defined as a CrossWorlds collaboration. The OrderStatus collaboration is exposed to the Internet via a WSDL definition using CrossWorld's tooling (see below). The client application at StoneCold sends a SOAP request to the URI specified in this WSDL file. A UDDI registry, whether public or private, may be used to discover the service. The interface between a business process and Web services in CrossWorlds is provided by a SOAP proxy class and servlet. The Web server routes the message to the SOAP servlet. The servlet in turn calls the appropriate SOAP proxy class. The proxy class then calls the CrossWorlds Server Access Interface (SAI), which converts the SOAP message into a generic business object (GBO). The SAI then calls the appropriate collaboration with the GBO. Once the collaboration has completed processing, it returns the response message to the Server Access Interface. The SAI then calls the data handler to open the SOAP message format, returning the message to the SOAP proxy class and SOAP servlet. As Figure 3 shows, the client application at StoneCold sends a SOAP request message (1) to the URI specified in the WSDL file that describes the collaboration exposed as a Web service. The proxy class then calls the Server Access Interface (2) The SAI calls the SOAP data handler that converts the SOAP message into a generic business object (3). The SAI then calls the appropriate collaboration with the generic business object (4). Being able to expose a business process as a Web service is becoming an increasingly important function of a BPM system. Over time, the mechanics of doing this will become easier and the implementation options more diverse. Today, with CrossWorlds, as in Scenario 2, the primary way is to use the Web Services Generation Utility to produce the code and definitions needed to expose a specified collaboration and port as a Web service. In the remainder of this article, we'll examine the basic steps required to expose a CrossWorlds business process to the outside world as a Web Service.
The default MIME type is XML/SOAP. The MIME type tells the proxy class which Data Handler to use for converting the SOAP message into a business object. The collaboration name is the executable collaboration object that the proxy class will call. The collaboration port, configured earlier to receive input from an external process, tells the proxy class where to send messages. After the generation process is completed, the Web Services Generation Utility displays the six files shown in Figure 6. The WSDL service file shown in Listing 1 describes the Web services. The WSDL file documents five namespaces as attributes and uses seven elements to define network services. prometheus888.xsd is the XML Schema file for the business objects used by the Web service. This file contains the type definitions for each business object referenced in the metaobjects specified earlier. The OrderStatus.cfg file contains the name-value pairs used by the proxy class and the prometheus888_Readme.txt file contains deployment information for the proxy and its methods on SOAP-enabled Web servers. The last two files generated are the OrderStatus.java and OrderStatus.class files. The Java source code is provided for the proxy class to facilitate customization, if needed. The generated OrderStatus.class is ready to deploy.
Business process management tools such as CrossWorlds have given companies the ability to start thinking in terms of the process they are trying to perform, rather than in terms of the applications they are using. As more and more business processes start extending beyond the walls of the company, there will be an increasing need for seamless transaction flows between enterprises. Web service interfaces provide the perfect set of formats and protocols for making these transactions both standard and efficient. By tightly coupling the power and capabilities of BPM tools and Web services interfaces, a company can reap the real benefits of e-business. 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 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||