Skip to main content

By clicking Submit, you agree to the developerWorks terms of use.

The first time you sign into developerWorks, a profile is created for you. Select information in your developerWorks profile is displayed to the public, but you may edit the information at any time. Your first name, last name (unless you choose to hide them), and display name will accompany the content that you post.

All information submitted is secure.

  • Close [x]

The first time you sign in to developerWorks, a profile is created for you, so you need to choose a display name. Your display name accompanies the content you post on developerworks.

Please choose a display name between 3-31 characters. Your display name must be unique in the developerWorks community and should not be your email address for privacy reasons.

By clicking Submit, you agree to the developerWorks terms of use.

All information submitted is secure.

  • Close [x]

Use RosettaNet-based Web services, Part 3: BPEL4WS and RosettaNet

Digital representations and e-business dialogues

Suhayl Masud (SuhaylA@DifferentThinking.com), Founder and Lead Architect, Different Thinking
Suhayl Masud is the president of Different Thinking, a consulting firm that enables organizations to understand and conduct electronic business, by providing training, architecture, and application construction services. Suhayl is also the co-founder of Agile Webservices, providing Policy Based Computing solutions. Suhayl's experience includes consulting as the lead technical architect for RosettaNet, where he helped define the next generation of e-business process standards. Suhayl would love to hear from you at: SuhaylA@DifferentThinking.com

Summary:  All you ever wanted to know about Web services choreography can be found in a regular dictionary. To do this, you must first realize that Web services are really e-business dialogues; next, look up the word "dialogue" in a dictionary. For example, the Merriam-Webster dictionary defines dialogue as "a written composition in which two or more characters are represented as conversing." Read the article as I explain how this simple and elegant definition reveals the need for choreography, choreography languages, digital representations, and much more.

Date:  13 Aug 2003
Level:  Introductory

Activity:  2464 views
Comments:  

First, a recap. In Parts 1 and 2 of the series (see Resources), I claimed that the true value of Web services lies in enabling e-business dialogues between business partners. I discussed why RosettaNet is extremely relevant to building industry strength Web services, and I described how to map RosettaNet into the Web services world. In this article, I will describe the e-business dialogue further and introduce the e-business dialogue I will implement in this series.

Ask the dictionary

As I mentioned earlier, the definition of a "dialogue"in the Merriam-Webster dictionary is "a written composition in which two or more characters are represented as conversing." If you examine this definition in further detail, these details are revealed:

  • "a written composition..." -- The composition of the dialogue is the choreography, and every e-business dialogue needs to have one defined. Furthermore, you also need a language capable of expressing that choreography
  • "...in which two or more characters..." -- These are the parties involved in the dialogue -- the business partners. The dialogue should optionally be capable of handling more than two business partners in cases where third parties need to be involved in the process. For example, a shipping or an insurance company might need to get involved in the process to complete a successful transaction.
  • "...are represented as conversing." -- The organizations need to be represented in the e-business dialogue, this representation is through digital representatives.


The choreography language: BPEL4WS to the rescue

While Web Services Definination Language (WSDL) can be used to define simplistic Request/Response interactions, I cannot use WSDL with its limited capabilities to express realistic choreographies. Earlier assessments of RosettaNet and Web services focused on how WSDL can fit in the RosettaNet world. These assessments predictably found WSDL unable to express RosettaNet PIPs and therefore unsuitable. With Business Process Execution Language for Web Services (BPEL4WS), that picture has changed completely, and the RosettaNet and Web services relationship deserves a re-assessment.

As identified above, you need a language that is capable of expressing choreography, a language that can allow expressions where two or more partners can interact. That language in the Web services world is the BPEL4WS. It is highly flexible with its many logic and flow control mechanisms; it allows for multi party collaborations; and best of all, it provides a standard way for hooking up the public process to the back-end private processes.


Defining choreography

To create a robust e-business dialogue for the RosettaNet-based Web service I am building for this series, I need to add choreography definitions to the dialogue. Choreography is an extremely important aspect of an e-business dialogue. It identifies the partners involved in the dialogue, and describes the sequence and content of the exchanges between the partners.

There is a strong need for choreography languages to compose standard messages into meaningful, long running, e-business dialogues, that can be used to conduct complete business scenarios. Choreography languages become more relevant as organizations begin to conduct e-business through their digital representations; it is simply not enough to have common message definitions, like those specified by EDI, and leave the choreography aspect of the dialogue to something that is handled over phone and face-to-face meetings. e-business dialogues are about interactions between digital representations of the business, and these representations need concrete choreography definitions.


Figure 1: Choreography makes Web services dance
Figure 1: Choreography makes Web services dance

The digital representation of a business

So, what are digital representations? Well, in the crudest terms, you can think of a digital representation as the organization’s computer systems that a business partner’s application can connect to. A better way of thinking about a digital representation is by considering how an organization conducts business in the physical realm.

Typically, the organization provides partners and customers access to its services through its physical representation (for example, a store front, or an office building). Similarly, when this organization is conducting e-business in the digital realm (for example, over the Web), it provides access to its services through its digital representation. This representation is not simply a technical issue of providing access to databases, or connecting software systems. Organizations need to think about an overall strategy of building service-based architectures, and creating digital representations reflective of their services.

As more organizations conduct e-business dialogues, they will need to understand how the various e-business processes and choreography languages work. Even at this early stage, there are several choreography languages to choose from, and this task can be daunting. To help this cause, I will now provide information about how BPEL, and the more mature standards like RosettaNet and ebXML, handle e-business dialogues and choreography.


Easing the confusion around choreography languages

The e-business dialogue is known by many names in the various choreography and business process languages, and to ease understanding, I have put together a table that relates these definitions (see Table 1).


Table 1. The e-business dialogue is known by different names
Table 1. The e-business dialogue is known by different names

In this section, I will describe how the e-business dialogue and choreography are handled in more mature e-business languages like RosettaNet and ebXML. Currently, several languages deal with creating choreography using Web services (like Web Service Choreography Interface (WSCI), Web Service Choreography Language (WSCL), and BPEL); from this group I will explore BPEL.

RosettaNet

RosettaNet standardizes common e-business dialogues, capturing industry best practices for conducting business processes in the form of Partner Interface Processes (PIPs) that greatly reduce the setup time for starting a dialogue between business partners. RosettaNet specifications include the e-business dialogue specifications (the PIP), dictionaries that standardize usage of the terms used in messages, and an implementation framework that describes how to pack, unpack, and transport messages.

Here is how business partners conduct an e-business dialogue using RosettaNet: In order to conduct RosettaNet PIPs, both partners need to adhere to the RosettaNet Implementation Framework that describes how to pack and transport messages using open standards like HTTP and S-MIME. The e-business dialogue setup is simple, the partners agree on which RosettaNet e-business dialogue (PIP) to use, and they start conducting the dialogue over the Internet by exchanging secure XML-based messages. The PIP specifies a public process, the choreography of messages, definitions of the messages, definitions of process success and failure, and what to do when faced with exceptions.

ebXML

ebXML standards include the Business Process Specification Schema (BPSS), to define e-business dialogues, a transport and routing specification, capability profiles that describe what e-business dialogues an organization can conduct, and a registry to store specifications and capability profiles.

Now let me give you the example of how business partners conduct a typical e-business dialogue with ebXML. Business partners need to have implemented the ebXML "infrastructure," and they should have registered a capability profile with the ebXML registry. This profile expresses the partner’s ability to conduct an industry standard e-business dialogue written in the ebXML BPSS. To conduct an e-business dialogue, the partners would find each other’s capability profile on the registry and form an agreement about what dialogues they will conduct. These dialogues can be simple (like RosettaNet PIPs), or elaborate compositions of other dialogues. All messages are XML-based, packaged with S-MIME and a little bit of SOAP, and exchanged in a secure manner over public networks like the web.

Web services choreography languages

The Web services choreography languages are built on top of the WSDL specification, re-using the operations and transport information, they focus on providing choreography by composing stateless Web services into state aware e-business dialogues. Figure 3 relates RosettaNet, ebXML, and WS Choreography languages.


Figure 3. Understanding how RosettaNet, EbXML, and BPEL stack up
Figure 3. Understanding how RosettaNet, EbXML, and BPEL stack up

Choreography languages like WSCI, WSCL, and BPEL, are all trying to do the same thing; make Web services more useful for business, even though what they do may be known by different names like orchestration, composition, choreography, or flow. In the current languages, BPEL seems to be leading the race and thus an ideal candidate for building e-business dialogues

To conduct an e-business dialogue using the WSDL and BPEL combination, the partners must have a Web services framework implemented. They could then construct a mutually agreeable e-business dialogue definition, using the abstract process feature in BPEL. The partners can reuse existing Web services for this e-business dialogue, and create new Web services where necessary. Currently, the partners would have to define everything in the dialogue including the vocabulary used, the messages exchanged, the choreography of the messages, and definition of the business process. In the near future hopefully, partners would not have to keep re-inventing the wheel, and could benefit from standardized processes that include standard vocabulary, messages, and choreography. In this series of articles, I am demonstrating how partners can utilize standardized processes defined by RosettaNet, when defining Web services with WSDL and BPEL.


The extended e-business dialogue

Now that I have covered a lot of important issues like e-business dialogues, RosettaNet, BPEL4WS, and digital representations, it is time to start building the RosettaNet-based Web service. This Web service is a Purchase Order dialogue conducted between two business partners. The Web service is based on the RosettaNet PIP3A4.

Since BPEL4WS provides functionality further than the RosettaNet public process space, I will also demonstrate how you can hook up the public processes to your back-end private processes and applications. This means that you can actually start test-driving real data and real systems for your pilot projects.


Figure 4. The extended e-business dialogue
Figure 4. The extended e-business dialogue

The extended e-business scenario that I am building in this series is illustrated in Figure 4. The extended e-business scenario works as follows: After a particularly successful day of selling laptops, the Inventory Manager application at ACME realizes the inventories are running low, and it triggers the ACME PO Requester process. The requester process then begins a public e-business dialogue with JoeLaptops Inc of placing a purchase order request.

JoeLaptops Inc receives the purchase order request from ACME and immediately sends back a message acknowledging receipt of the request. The PO Requester process at ACME receives the receipt acknowledgment and informs the Inventory Manager that the Purchase Order has been placed. The Inventory Manager returns to other activities and the PO Requester ends the request process. Meanwhile at JoeLaptops Inc, the Place PO process invokes the Sales Agent, an internal Web service, and passes ACME’s purchase order request to the Sales Agent. The Sales Agent figures out what parts of the purchase order can be fulfilled and forms a purchase order confirmation that provides a detailed line-by-line account of the items it can provide. This confirmation is then passed from the Sales Agent back to the public Place PO process at JoeLaptops.

The process at JoeLaptops then sends the purchase order confirmation to an ACME process that accepts purchase order confirmations. The ACME confirmation acceptance process invokes an internal Web service to inform the Accounts Service at ACME about the purchase. The ACME process next sends back a message acknowledging the receipt of the purchase order confirmation and concludes the purchase order e-business dialogue between ACME and JoeLaptops Inc. JoeLaptops Inc receives this receipt acknowledgement and invokes an internal Web service to its shipping department so that the order can be shipped to ACME.


Conclusion

In this article I have described choreography and the e-business dialogue and I have introduced digital representations as a strategic manner of providing access to services electronically. I have explored why BPEL4WS is an ideal choice for building our e-business dialogue and I introduced an elaborate e-business dialogue that I am constructing for this series.

In the next articles, to create this elaborate e-business dialogue, I will describe how to create reliable asynchronous messaging between the partners, how to bind to back-end systems with the public processes, how to create the public processes and I will also show you what tools are needed and how to install them. And of course, I will provide you the code that makes it all happen. See you in the next installation.


Resources

About the author

Suhayl Masud is the president of Different Thinking, a consulting firm that enables organizations to understand and conduct electronic business, by providing training, architecture, and application construction services. Suhayl is also the co-founder of Agile Webservices, providing Policy Based Computing solutions. Suhayl's experience includes consulting as the lead technical architect for RosettaNet, where he helped define the next generation of e-business process standards. Suhayl would love to hear from you at: SuhaylA@DifferentThinking.com

Report abuse help

Report abuse

Thank you. This entry has been flagged for moderator attention.


Report abuse help

Report abuse

Report abuse submission failed. Please try again later.


developerWorks: Sign in


Need an IBM ID?
Forgot your IBM ID?


Forgot your password?
Change your password

By clicking Submit, you agree to the developerWorks terms of use.

 


The first time you sign into developerWorks, a profile is created for you. Select information in your developerWorks profile is displayed to the public, but you may edit the information at any time. Your first name, last name (unless you choose to hide them), and display name will accompany the content that you post.

Choose your display name

The first time you sign in to developerWorks, a profile is created for you, so you need to choose a display name. Your display name accompanies the content you post on developerWorks.

Please choose a display name between 3-31 characters. Your display name must be unique in the developerWorks community and should not be your email address for privacy reasons.

(Must be between 3 – 31 characters.)

By clicking Submit, you agree to the developerWorks terms of use.

 


Rate this article

Comments

Help: Update or add to My dW interests

What's this?

This little timesaver lets you update your My developerWorks profile with just one click! The general subject of this content (AIX and UNIX, Information Management, Lotus, Rational, Tivoli, WebSphere, Java, Linux, Open source, SOA and Web services, Web development, or XML) will be added to the interests section of your profile, if it's not there already. You only need to be logged in to My developerWorks.

And what's the point of adding your interests to your profile? That's how you find other users with the same interests as yours, and see what they're reading and contributing to the community. Your interests also help us recommend relevant developerWorks content to you.

View your My developerWorks profile

Return from help

Help: Remove from My dW interests

What's this?

Removing this interest does not alter your profile, but rather removes this piece of content from a list of all content for which you've indicated interest. In a future enhancement to My developerWorks, you'll be able to see a record of that content.

View your My developerWorks profile

Return from help

static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=1
Zone=SOA and Web services
ArticleID=11829
ArticleTitle=Use RosettaNet-based Web services, Part 3: BPEL4WS and RosettaNet
publish-date=08132003
author1-email=SuhaylA@DifferentThinking.com
author1-email-cc=

Tags

Help
Use the search field to find all types of content in My developerWorks with that tag.

Use the slider bar to see more or fewer tags.

For articles in technology zones (such as Java technology, Linux, Open source, XML), Popular tags shows the top tags for all technology zones. For articles in product zones (such as Info Mgmt, Rational, WebSphere), Popular tags shows the top tags for just that product zone.

For articles in technology zones (such as Java technology, Linux, Open source, XML), My tags shows your tags for all technology zones. For articles in product zones (such as Info Mgmt, Rational, WebSphere), My tags shows your tags for just that product zone.

Use the search field to find all types of content in My developerWorks with that tag. Popular tags shows the top tags for this particular content zone (for example, Java technology, Linux, WebSphere). My tags shows your tags for this particular content zone (for example, Java technology, Linux, WebSphere).

Try IBM PureSystems. No charge.

Special offers