This site presents the choreography language Let's Dance. Click here to directly go to the flash animation.
As the first generation of web service technology based on XML, SOAP, and WSDL reaches a certain level of maturity, a second generation targeting long-running collaborative business processes is gestating. In the first generation, web services are equated to sets of operations and message types (as in WSDL). This conception reflects an emphasis on single request-response interactions. Meanwhile, the second generation of web service technology targets conversational interactions, with service descriptions capturing not only individual message exchanges and the underlying message types, but also dependencies between these exchanges, most notably control-flow dependencies.
Let's Dance distinguishes two types of models: global models and local models. In a global model (also called a choreography model), interactions are described from the viewpoint of an ideal observer who oversees all interactions between a set of services. On the other hand, local models focus on the perspective of a particular service, capturing only those interactions that directly involve it. A possible usage scenario is one where global models are produced by analysts to agree on interaction scenarios from a global perspective, while local models are produced during system design and handed on to implementers. Implementers then refine the local models and/or use them to generate code templates (e.g. in BPEL). To ensure proper handover between analysts and implementers, Let's Dance comes with a set of techniques for analyzing global models and generating local models from global ones.
Let's Dance can be seen as an alternative to Web Services Choreography Description Language (WS-CDL) or the Business Process Specification Schema which also address the need to describe service interactions from a global perspective. However, while WS-CDL and BPSS are targeted at software developers, Let's Dance is a language for high-level analysis and design. As such, WS-CDL and BPSS are potential implementation languages for Let's Dance models.
