Re: Web Service composition

Hi Sergey,

If one asks a question about "WS composition in action" it is important 
to realise that there two main types of WS composition: *master/slave* 
and *peer-to-peer*. These types, while having different areas of 
applicability, are not mutually exclusive, quite opposite is true, in 
fact - master/slave composition of basically primitive services yields 
coarse grain services, which can be composed in peer-to-peer manner for 
some meaningful unit of collaborative work (e.g. B2B collaborations) to 
occur.

One can also think of master/slave composition (plus ordered message 
exchange, of course) as of implementation of peer-to-peer composition 
(business protocols).

The peer-to-peer one is called *choreography* and the master/slave 
composition is called *orchestration*, as you perhaps know.

The former describes an interaction protocol (sequence of messages to be 
exchanged simply speaking) to be enacted by the peers without any 
central entity governing the collaboration - this is a global view of 
the peers; interaction. A language specification for this task (WS-CDL) 
is currently being finalised by this working group.

The latter defines an executable process - control and data flow between 
Web services, which is supposed to be enacted by an orchestration engine 
(master) engaging the services (slaves) to achieve a business process. 
It is a single participant's view of the world. WS-BPEL is the main 
vehicle for this type of composition.

There is a number of more in-depth explanations about the difference of 
these two approaches, for example: "Orchestration and Choreography: 
Standards, Tools and Technologies for Distributed Workflows" - 
http://www.nettab.org/2005/docs/NETTAB2005_Ross-TalbotOral.pdf and 
http://www.nettab.org/2005/docs/NETTAB2005_Ross-Talbot.pdf.

Traditionally choreography is compared with a ballet script to be 
followed by the dancers independently and the orchestration is compared 
with a score used by an orchestra conductor. If you want a more 
down-to-earth and easier association - here is a good one, I think - 
http://blog.whatfettle.com/archives/000250.html

The art of heavy lifting is how to make sure that both types of 
composition can work together in real world deployments. Since you sent 
your message to a choreography mailing list, let me start with the tools 
for choreography support- there is an open source toolkit Pi4SOA  
(www.pi4soa.org) produced by Pi4Tech company based in the UK 
(www.pi4tech.com), which allows to model, validate, verify choreography 
scripts using WS-CDL and then generate end-point stubs for subsequent 
deployment by the collaboration participants.

The end points may use orchestration tools (potentially WS-BPEL based) 
to model and enact the choreography protocol. There is no shortage of 
WS-BPEL tools - just google around..

Again, there is a problem of adaptive choreography protocol support by 
the end-points - the latter should be able to accommodate the changes of 
"global" protocols without major software rewriting. Some overview of 
this problem is presented in this paper: 
http://www.mif.vu.lt/~adam/iadis-wbc-2006/IADIS-WBC-2006-paper-Svirskas-camera.pdf

I hope this helps - I would advise to start with the Pi4SOA tools to 
describe some protocol in WS-CDL and then enact it using WS-BPEL, for 
example.

Best regards,
Adomas Svirskas

Researcher
Vilnius University, Lithuania
Kingston University London, UK


Sergey Kim wrote:

> Hello people,
>
>  
>
> I am doing my thesis work that is titled "Web Service composition". In 
> this connection, I would like to ask you: Is there any real 
> implementation of Web Services and WS composition. There are only lots 
> of assumptions where it could be used. Where can I feel or touch the 
> system, or even try to use it in practice?
>
>  
>
> Thanks a lot,
>
> Sergey
>

Received on Friday, 31 March 2006 01:18:30 UTC