segunda-feira, 20 de outubro de 2008

O que é BPEL

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.
As engines de BPEL suportam a orquestração de processos. 

Nenhum comentário: