BPEL - Interações Assíncronas
O Processo BPEL do Cliente envia uma solicitação ao Processo BPEL do Serviço (d1 na figura abaixo) e aguarda até que o serviço responda (d2 na figura abaixo).
Por exemplo, um usuário solicita a assinatura de um formulário de inscrição online para admissão em uma faculdade e o pedido não pode ser confirmado a menos que seja aceito no escritório de admissão.
O processo BPEL do cliente precisa de uma atividade de chamada para enviar a solicitação e uma atividade de recebimento para receber a resposta.
O processo BPEL de serviço precisa de uma atividade de recebimento para aceitar a solicitação de entrada e uma atividade de chamada para retornar as informações solicitadas ou uma falha.
Note - A diferença entre responder de um processo BPEL síncrono e assíncrono é que o serviço síncrono usa uma atividade de resposta para responder ao cliente e um serviço assíncrono usa uma atividade de chamada.
Como acontece com todas as atividades do parceiro, o arquivo Web Services Description Language (WSDL) define a interação. O arquivo WSDL é mostrado abaixo.
WSDL File
<wsdl:portType name = "BPELProcess">
<wsdl:operation name = "process">
<wsdl:input message = "client:BPELProcessRequestMessage"/>
</wsdl:operation>
</wsdl:portType>
<wsdl:portType name = "BPELProcessCallback">
<wsdl:operation name = "processResponse">
<wsdl:input message = "client:BPELProcessResponseMessage"/>
</wsdl:operation>
</wsdl:portType>