How to place asynchronous calls from a BPEL server
What protocol is used by a BPEL server to coordinate interactions with asynchronous Web services, how is the asynchronous call carried out and how is it supported by WSDL?
A BPEL server implements the BPEL (1.1) specification which includes
support for invoking Web services asynchronously as well as receiving
such calls from Web services that are external to the process. WSDL
supports asynchronous calls by declaring a partnerLinkType that defines
one or two roles, each with a portType that supports the interaction.
Normally, one portType will be for the service provider while the other
will be a callback on the client to the service.
Support for such asynchronous exchanges of messages (aka multi-step
conversations), between a BPEL process and a Web service peer (aka
partner), requires the use of message correlation. Correlation can be
either implicit - by using WS-Addressing header information (i.e.
reply-to address and correlation ID) in the SOAP message, or explicit -
by using a set of pre-defined correlator fields in the request as well
as response messages.
For more information, refer to this article
This was first published in December 2003