DAS5316 WS-BPEL Web Service Business Process Execution Language Prof. Ricardo J. Rabelo (rabelo@das.ufsc.br) Responsável pela elaboração dos slides Alexandre Perin (perin@das.ufsc.br) Florianópolis (SC), 2010.
Roteiro WS-BPEL Histórico Definição Funcionamento Primitivas Exemplos Ferramentas Considerações 2
Visão Geral Ambiente BPM&SOA Especificação BPMN WS-BPEL Projetista Aplicações XML Catálogo Mecanismo descoberta SOAP UBL... UDDIs... Provedores de Serviços 3
WS-BPEL: Histórico recente Criado pela Microsoft e pela IBM, com o apoio de empresas como SAP e Siebel, no ano de 2003. Após sua criação, esse consórcio passou o controle do padrão para a organização OASIS. WS-BEPL v 2.0 OASIS Standard - 11 Abril 2007. 4
WS-BPEL: Definição 5
WS-BPEL e WSDL Depende da WSDL e das extensões que ela possui. 6
WS-BPEL: Orquestração x Coreografia Orquestração Um processo central controla os serviços e coordena a execução de diferentes operações nos serviços envolvidos no processo. Os serviços não sabem e não precisam saber que estão envolvidos em um processo de composição e também que estão fazendo parte um processo de negócio de nível mais alto. Coreografia Não depende de um coordenador central. Ao invés disso, cada serviço envolvido sabe exatamente quando executar suas operações e com quem interagir. É um esforço colaborativo com o foco na troca de mensagens em processos de negócio. Todos os participantes da coreografia precisam estar conscientes do processo de negócio, operações a executar e mensagens a serem trocadas 7
WS-BPEL: Exemplo de orquestração 8
WS-BPEL: Orquestração em XML <process>... <partnerlinks>... < partnerlinks/> <variables>... <variables/>... <sequence> <invoke>... <invoke/>... </sequence>... </process> 9
WS-BPEL: Primitivas XML As primitivas que formam a gramática da BPEL são interpretadas e executadas por um mecanismo/engine. As primitivas básicas usadas numa orquestração de serviços são: Primitiva <invoke> Significado Invoca WS <receive> <reply> <assign> <throw> <wait> Recebimento de uma mensagem Envio de resposta a uma invocação Manipula dados Gerar exceções Bloqueia a execução de uma atividade por um certo tempo 10
WS-BPEL: Primitivas XML É possível combinar primitivas básicas e definir complexas aplicações através de várias estruturas, tais como: Estruturas <sequence> <flow> <if> <while> <repeatuntil> <foreach> Significado Define uma coleção de atividades a serem executadas sequencialmente usada para definir um conjunto de atividades que podem ser invocadas em paralelo seleção Repetição com condição no início Repetição com condição no final Repetição programada 11
WS-BPEL Atividades (básicas + estruturadas) 12
WS-BPEL Básicas + estruturadas 13
WS-BPEL Partner Link Type Define um relacionamento entre parceiros. O elemento partnerlinktype orderlt especifica que existe interação entre os papéis consumidor e fornecedor através dos porttypes customerpt e supplierpt. 14
WS-BPEL Partner Link Elemento que define os diferentes parceiros (partes envolvidas) que interagem com o Processo de Negócio. 15
WS-BPEL Partner Links - Exemplos... <partnerlinks> <partnerlink name="purchasing" partnerlinktype="lns:purchasinglt" myrole="purchaseservice"/> <partnerlink name="scheduling" partnerlinktype="lns:schedulinglt" partnerrole="schedulingservice"/> </partnerlinks>... 16
WS-BPEL - Variáveis 17
WS-BPEL - Variáveis 18
WS-BPEL: Exemplo 19
WS-BPEL: Exemplo definição das mensagens 20
WS-BPEL: Exemplo interfaces para serviços 21
WS-BPEL: Exemplo interfaces para serviços 22
WS-BPEL: Exemplo 23
WS-BPEL: Exemplo 24
WS-BPEL: Ferramentas Freeware NetBeans Eclipse BPEL Designer ActiveVOS DEsigner Shareware Oracle Suite/Jdeveloper Proprietárias JOpera WebRatio 25
WS-BPEL Vantagens:... Padrão sólido e aberto; Mantido e atualizado por um conjunto de empresas; Problemas: Manter o padrão atualizado e conectado ao mundo BPM; Não prevê a participação de usuário no processo... BPEL4People Pontos em aberto (desafios): Técnicos Melhorar a expressividade dos elementos para ser melhor compreendidos e usados;... Ficar mais próxima da BPMN; Aumentar o número de ferramentas que implementam BPEL; 26
Visão Geral Ambiente BPM&SOA Especificação BPMN WS-BPEL Projetista Aplicações XML Catálogo Mecanismo descoberta SOAP UBL... UDDIs... Provedores de Serviços 27
DAS5316 WS-BPEL Dúvidas? Prof. Ricardo J. Rabelo (rabelo@das.ufsc.br) Responsável pela elaboração dos slides Alexandre Perin (perin@das.ufsc.br) Florianópolis (SC), 2010.
Bibliografia consultada MICHAEL C. What is BPEL and why is it so important to my business? SoftCare EC, 2004. Disponível em: <http://www.softcare.com/whitepapers/wp_whatis_bpel.php>. Acesso em: jun 2008. OASIS. Business Process Execution Language for Web Services Version 2.0, Abril 2007. ORACLE. Oracle BPEL Process Manager. Apresentação: realizada para o Grupo de Usuário da Região Sul. 200? Juliano Silzbrach Consultor, 29