back to the Eurescom home page

 

mess@ge home

Table of contents
of the current issue
 

Selected Highlights
The advance of
 XML Web
 Services
XML Web
Services and
telcos
Web Service Orchestration
Security
mechanism for
Web Services

Web Service Orchestration

An open and standardised approach for creating advanced services

Do_van_Than

Dr. Do van Than
Telenor
thanh-van.do@telenor.com

“The right music played by the right instruments at the right time in the right combination: that’s good orchestration,” said Leonard Bernstein, the great conductor and composer. Orchestration is a big part of composing music. Think of all the choices a composer has to make when writing his music. Should he use a flute or a violin or a drum or a tuba? Should he use one instrument or many? What combinations would sound the best with his music? As in music, orchestration plays a crucial role in the composition and deployment of sophisticated and complex Web Services. 

Like a music composer, the Web Service composer has to select the necessary Web Services, to decide how they are going to interact with each other at the message level and at the execution level, i.e. sequential, parallel, transactional, long-lived, etc. Bad orchestration will result in bad and unprofitable services. 

What is Web Service Orchestration?

The standard set of Web Service technologies (XML, SOAP, WSDL) provides the means to describe, locate and invoke a Web Service as an entity in its own right. Although a Web Service may expose many methods, each Web Service Description Language (WSDL) file describes fairly atomic, low-level functions. What the basic technologies do not give us is the rich behavioural detail that describes the role the service plays as part of a larger, more complex collaboration. When these collaborations are collections of activities designed to accomplish a given business objective, they are known as a business process. A business process may extend across one or more organisations. The description of the sequence of activities that make up a business process is called an orchestration.

Other terms such as choreography, flow composition, and workflow have been applied to this area and all, essentially, describe the same thing – the way in which separate Web Services can be brought together in a consistent manner to provide a higher value service. Orchestration includes the management of the transactions between the individual services, including any necessary error handling, as well as describing the overall process.

Orchestration can therefore be considered as a construct between an automated process and the individual services which enact the steps in the process.

Thus, business processes are on the higher level of orchestration, and concrete implementations of these business processes are on the lower level. Orchestration provides a technology to map these different topics. To summarise, the orchestration describes a business process from each interactions between two services to complete cases that links together these individual service interactions.

An example of orchestration

To elucidate what orchestration is, let us consider a video-on-demand service. A customer requests to view a movie at home via a broadband connection to a network operator (NO). The service is operated by a service provider (SP), who has a settlement arrangement with a movie content provider (CP), as well as the NO. The message sequence is shown in the diagramme.

Diagramme: Video on Demand message sequence

Orchestration in this scenario can be considered to be the means by which the service is automated. Without orchestration of the interactions between the four actors in the system, they would have to be co-ordinated manually. The service provider can reduce operational costs by using an automated means of co-ordination. 

Orchestration standards

There are two types of orchestration, one dedicated to Web Services, while the other applies for business processes, as shown in the table. It is important to consider Web Service orchestrations in relation to the business orchestrations because they can be adopted in the business processes. (see table)

Now, let us introduce the three most promising orchestration specifications: 

WSCI
The Web Service Choreography Interface (WSCI) is an XML-based interface description language that describes the flow of messages exchanged by a Web Service interacting with other Web Services. It has been jointly developed by BEA Systems, Intalio, SAP AG, and Sun Microsystems. The specification was issued in May 2002.

BPEL4WS or BPEL
Business Process Execution Language for Web Services (BPEL4WS or BPEL) specification has been announced by IBM, BEA Systems, and Microsoft. BPEL combines IBM’s Web Services Flow Language and Microsoft’s XLANG specifications, superseding both these specifications. BPEL is supported by two complementary specifications – WS-Transaction and WS-Coordination. 

BPML
BPML (Business Process Management Language) is a specification from the BPMI.org (Business Process Management Initiative Organisation). BPML aims at providing a comprehensive means of specifying the process of an enterprise. BPMI.org and ebXML are addressing complementary aspects of e-business process management. While ebXML Business Process Specification Schema (BPSS) provides a standard way for describing the public interface of an e-business process, BPML provides a standard way for describing their private implementation.  

Crucial role in telcos’ business

To do business on the web, a company cannot only offer services as Web Services since its customers or partners will not be able to make use of them unless these services consist of only atomic and totally independent operations. If compound services are offered, the customer needs to know the order of the operations and the relation between operations. A defined orchestration of operations is required.

In addition, the Web Services are quite often not stand-alone but stem from quite complex internal processes and orchestration is strictly required. It is therefore concluded that orchestration is necessary for enabling business with Web Services.

Orchestration is especially important to telecommunications operators (telcos). Across the world, telcos are facing declining revenues from traditional voice and data services and are looking to newer content-based, application-based, multi-media services as a way to boost revenues. Unless telcos are prepared to invest heavily in the content and applications themselves, they will need to partner with content providers and application providers in order to deliver services to users. These partnerships can lead to extended value chains, with a number of businesses taking part. Further, orchestration brings business agility that enables telcos to quickly adapt to customer needs and market conditions.

For example, a simple video-on-demand (VoD) service requires commercial arrangements to be established between the telco, the VoD service provider, the content provider, and the end user. Many of the interactions between these parties can be provided using Web Services in which case there is an immediate requirement for some means with which to tie the overall business process together. This is where Web Services orchestration comes in. 

Conclusion

Web Services are at the crossroads. The basic standards have been agreed across the industry. However, for Web Services to bring true business benefit to companies that wish to orchestrate their Web Services with those of their trading partners, a specification for that orchestration must be agreed. This is especially true for telcos wishing to offer high value services involving other partners. Currently, the best prospect for achieving a common specification appears to be with the W3C consortium. Without the inclusion of the proprietary, company driven BPEL4WS specification, however, W3C might find it hard to succeed.

For more details about Web Service Orchestration, please visit the Web page of Eurescom study P1242  at www.eurescom.de/public/projects/P1200-series/p1242

Please send us your comments on this article.