Comments
litl_phil wrote: While it's nice that Google and Acer share the vision of cloud-based computing, it's also worth noting that we at litl already have a webbook on the market (available at litl.com) that runs our own cloud-based OS. Unlike Chrome, litlOS is focused on creating a new and better web experience for the home, so we don't have the usual browser interface, we have our own innovative UI. In conjunction with easel mode (litl's inverted-V position) and our growing cohort of litl channels (special apps t...
Cloud Expo on Google News


2008 West
DIAMOND SPONSOR:
Data Direct
SOA, WOA and Cloud Computing: The New Frontier for Data Services
PLATINUM SPONSORS:
Red Hat
The Opening of Virtualization
GOLD SPONSORS:
Appsense
User Environment Management – The Third Layer of the Desktop
Cordys
Cloud Computing for Business Agility
EMC
CMIS: A Multi-Vendor Proposal for a Service-Based Content Management Interoperability Standard
Freedom OSS
Practical SOA” Max Yankelevich
Intel
Architecting an Enterprise Service Router (ESR) – A Cost-Effective Way to Scale SOA Across the Enterprise
Sensedia
Return on Assests: Bringing Visibility to your SOA Strategy
Symantec
Managing Hybrid Endpoint Environments
VMWare
Game-Changing Technology for Enterprise Clouds and Applications
Click For 2008 West
Event Webcasts

2008 West
PLATINUM SPONSORS:
Appcelerator
Get ‘Rich’ Quick: Rapid Prototyping for RIA with ZERO Server Code
Keynote Systems
Designing for and Managing Performance in the New Frontier of Rich Internet Applications
GOLD SPONSORS:
ICEsoft
How Can AJAX Improve Homeland Security?
Isomorphic
Beyond Widgets: What a RIA Platform Should Offer
Oracle
REAs: Rich Enterprise Applications
Click For 2008 Event Webcasts
SYS-CON.TV
Top Links You Must Click On


The Orchestration of Business Processes
The Orchestration of Business Processes

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
Before we get into the scenarios, let's review the basics of BPM first. In order to orchestrate a business process, you first define a common data format to be used between applications, and then define a workflow to move that data from one step of the process to the other. In CrossWorlds terms, this is done using a combination of connectors, business objects, maps, and collaborations. Connectors are the interfaces into the specific applications - wrappers around whatever the key APIs are that act as interfaces into the product. Business objects are the data - the information you want to extract from one application and move to another. Maps define the relationship between the application data ("Application Specific Business Object") and the common format of that data ("Generic Business Object"). Finally, a collaboration puts it all together - it is the collection of connectors, business objects, and maps put together in order to effect a business process.

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
As mentioned above, business process definitions take the form of a flow through a set of application and data transformation steps. For this first scenario, let's use the example of a simple business process called OrderProcessing. An appliance company, StoneCold Refrigerators, has a Web site that allows customers to order replacement parts directly from the company via its Web site. A parts catalog is published, customers can purchase parts, and the orders are stored in a staging database by the Web front end. Once an entry is created in the database, a collaboration is triggered and the OrderProcessing process begins. StoneCold has a collaboration that extracts the record from the staging database, converts it to the generic business object format, and then performs a number of steps:

  • It updates the company's CRM system with the information, allowing customer support to see the order.
  • It identifies the vendor that supplies the part and, if the vendor is set up to fulfill orders directly, StoneCold passes the order along for fulfillment (for this scenario we will assume this is the case). The vendor, EverPure, provides replaceable filter cartridges for StoneCold's water-in-the-door system.
  • It updates billing, order status tables, etc.

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
In the first scenario we saw how to invoke a Web service from an internal business process. In this scenario, we'll examine how to expose a business process as a Web service, thus allowing the business process to be kicked off by invocation from a public process view.

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.

  • Expose the collaboration: Once you've identified the collaboration you'd like to externalize as a Web service, you need to perform key foundation tasks: (1) change the collaboration's trigger port to allow external output, (2) develop maps to support the conversion of existing business objects to SOAP messages, and (3) make sure the business objects are properly populated.
  • Develop business objects: Using the Business Object Designer tool, you'll need to create new input and output business objects to externalize the collaboration as a Web service. Business objects can be considered as messages.
  • Create Data Handler metaobjects: As we saw in Scenario 2, the SAI calls the SOAP Data Handler to transform SOAP messages into business objects and in turn transform business objects into SOAP messages. To perform these tasks, the data handler metaobjects are required. Metaobjects contain transformation information, as well as an associated child metaobject as shown in Figure 4. The child metaobject defines the business object, the verb (create, retrieve, update, or delete), and the body name, e.g., getOrderStatus. The metaobjects are supplied to the Web Services Generation Utility in our example and can be seen in Figure 5, under Operation Details.
  • Run the Web Services Generation Utility: In order to expose this collaboration as a Web service, the Web Services Generation Utility is invoked with a set of parameters to create the requisite WSDL file and SOAP interfaces. In Figure 5, once we've connected to the CrossWorlds server, (prometheus888), we specify the MIME type, collaboration name, collaboration port, and proxy class name.

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.

  • Deploy the Proxy Class: Individual deployment requirements vary depending on which SOAP-enabled Web server is used. Any Web server that listens for SOAP requests (SOAP 2.2) should be able to make the appropriate calls to the Java proxy class.
Conclusion
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.
About Rob Cutlip
Rob Cutlip is a software and solutions architect with the IBM
Software Group. For the past six years, he has focused on building
best-of-breed e-business solutions. An author, inventor, and
sometimes nice guy, Rob has 15 years of experience in both technical
and managerial positions with Fortune 500 companies.

About Ric Telford
Ric Telford is Vice President IBM Cloud Services. He tends to be at the forefront of emerging technologies at IBM. He served as Director of Technology for the IBM CIO, responsible for the development, implementation and adoption of technologies that hastened the transformation of IBM into an e-business. He was the Director of Technology for Intelligent Infrastructure, the precursor in IBM to "e-business on demand." He went on to become VP of Autonomic Computing, where he was responsible for defining and driving the Autonomic Computing initiative for IBM.

In order to post a comment you need to be registered and logged in.

Register | Sign-in

Reader Feedback: Page 1 of 1

Enterprise Open Source Magazine Latest Stories . . .
Oracle seems to have divided the open source ranks over the MySQL delay it’s having closing its acquisition of Sun. Eben Moglin, the GPL’s most ardent defender and delineator, the lawyer who has worked hand in glove for years with the Free Software Foundation’s founder Richard Stallman...
Cloud computing is a game changer. The cloud is disrupting traditional software and hardware business models by disrupting how IT service gets delivered. Entrepreneurial opportunities abound as this classic disruptive technology begins to proliferate, so it is no surprise that SYS-CON'...
The irony is that Oracle has advanced MySQL, lost money in the process, and helped its competitors - all at the same time. When Oracle buys Sun and controls MySQL the gift (other than to Microsoft SQL Server) keeps on giving as the existential threat to RDBs is managed by Redwood Shore...
WSO2, the open source SOA company, today announced the launch of the WSO2 Cloud Platform. Available today, the new WSO2 Cloud Platform features a family of WSO2 Cloud Virtual Machines; WSO2 Cloud Connectors for enabling fast, secure cloud services; and the multi-tenant WSO2 Governance-...
Now, the open source Mozilla Thunderbird client software can be used with Open-Xchange collaboration software. The "Community OXtender for Thunderbird" software connector gives users full access to appointments and contacts stored in the Open-Xchange Server and enables them to use Thun...
Morph Labs, a leading provider of enterprise cloud computing technology, today announced an introductory trial of the Morph CloudServer, an open, standards-based server IT organizations can use to rapidly model and evaluate their cloud implementations. A miniature "Cloud Environment in...
Subscribe to the World's Most Powerful Newsletters
Subscribe to Our Rss Feeds & Get Your SYS-CON News Live!
Click to Add our RSS Feeds to the Service of Your Choice:
Google Reader or Homepage Add to My Yahoo! Subscribe with Bloglines Subscribe in NewsGator Online
myFeedster Add to My AOL Subscribe in Rojo Add 'Hugg' to Newsburst from CNET News.com Kinja Digest View Additional SYS-CON Feeds
Publish Your Article! Please send it to editorial(at)sys-con.com!

Advertise on this site! Contact advertising(at)sys-con.com! 201 802-3021


SYS-CON Featured Whitepapers
ADS BY GOOGLE