A sigla “BPEL” significa Business Process Execution Language. O BPEL teve suas origens nos padrões WSFL e XLANG, e é apoiado por grandes nomes da indústria, como IBM, Microsoft, BEA, SAP, Siebel e Oracle. Este padrão basicamente especifica o formato de um arquivo XML, que contém as definições do workflow.Os webservices podem ser combinados de duas maneiras:
- Orquestração
- Coreografia
Na orquestração, que normalmente é utilizada em processos de negócios privados, um processo central (que também pode ser um webservice) assume o controle dos webservices participantes e coordena a execução dos diferentes métodos dos webservices envolvidos no processo. Os webservices envolvidos não “sabem” (e nem precisam saber) que eles estão envolvidos na composição de um processo e que fazem parte de um processo de negócio de mais alto nível. Apenas o coordenador central do processo sabe o objetivo final do processo, então a orquestração é centralizada através de definições explícitas das operações e da ordem de chamada dos webservices envolvidos.

A coreografia, por outro lado, não possui a figura de um coordenador central. Logo, cada webservice envolvido no processo sabe quando deve ser executado e conhece os demais webservices participantes (não necessariamente todos os participantes, mas pelo menos os quais interage diretamente). Coreografia é um esforço colaborativo baseado na troca de mensagens em processos públicos. Todos os participantes da coreografia se preocupam com o processo de negócio, operações a serem executadas, mensagens a serem trocadas e qual a ordem de troca destas mensagens.

Da perspectiva da composição de webservices para processos de negócios, a orquestração é um paradigma muito mais flexível e possui as seguintes vantagens em relação à coreografia:
- A coordenação dos componentes do processo é centralizada em um coordenador conhecido.
- Webservices podem ser adicionados sem eles saberem que fazem parte de um processo maior de negócios.
- Cenários alternativos podem ser facilmente projetados.
- Alterações no fluxo de processo podem ser feitas sem alterações nos códigos dos webservices.
Nenhum comentário:
Postar um comentário