Conversational Web Services: leveraging BPELlight for expressing WSDL 2.0 message exchange patterns
Message exchange patterns provide means to define the message flow of a service and how these messages are related in an abstract and reusable manner. They are an integral part of WSDL 2.0 and allow defining operations that have a message exchange beyond request-response. They reduce the impedance mismatch between imperative programming and message orientation while emphasising the message orientated nature of Web Services. Whereas BPEL defines a flow between Web Service operations, BPEL light is an appropriate candidate to define the flow within operations since it abstracts from WSDL. In this article we use BPEL light to capture complex message exchanges. We show how its partner model can be used to not only define bilateral message exchanges but also those conversations that involve different partner types and/or multiple instances of such partners. Therefore we introduce first-class mechanisms to store, query and thus distinguish addressing information related to multiple partner instances. In addition, we increase reusability by allowing recursive definitions of such models. Thus, we enable modelling message exchange patterns that capture business logic in a reusable manner on an abstract level like for instance a request for bid scenario or a business transaction for purchase. Finally, we show how such patterns can be generically mapped to transport protocols.
web services bpellight wsdl message exchange patterns service interaction soa