Web Services Orchestration COGEAE-PUC – Engenharia de Software Trabalho de Arquitetura de Software Alex Souza Claudio Dias
Agenda <ul><li>Buraco negro </li></ul><ul><li>Tapando o buraco </li></ul><ul><li>História da BPEL </li></ul><ul><li>Orques...
Buraco negro Visão do Executivo Visão de TI Gap entre Negócios e TI Como fazer dinheiro? Força de trabalho e capital Model...
Buraco negro Visão do Executivo Visão de TI Gap entre Negócios e TI Como fazer dinheiro? Força de trabalho e capital Model...
Tapando o Buraco
SOA melhorando o negócio
Modelando o negócio <ul><li>Business Process Management </li></ul><ul><li>Business Process Modeling </li></ul><ul><li>Busi...
Surgimento da BPEL – Business Process Execution Language <ul><li>IBM WSFL (Web Service Flow Language) </li></ul><ul><ul><l...
Histórico de evolução
Estrutura de Código BPEL
BPEL Designer
Orquestrando Serviços <ul><li>Funcionalidades não são suficientes </li></ul><ul><ul><li>Orquestrar  é preciso! </li></ul><...
Relação com  Partners
Orquestrando x Coreografando <ul><li>BPEL </li></ul><ul><li>Processo central </li></ul><ul><li>Coordena as diferentes oper...
Arquitetura – Ambiente padrão <ul><li>BPEL Designer </li></ul><ul><ul><li>Analista de Negócios </li></ul></ul><ul><ul><li>...
BPEL Engine <ul><li>Arquitetura execução de processos </li></ul><ul><li>Servidores de aplicação </li></ul><ul><li>Camada d...
Arquiteturas implementadas <ul><li>Fornecedores: </li></ul><ul><li>Apache </li></ul><ul><li>Microsoft </li></ul><ul><li>Or...
ApacheODE
Microsoft BizTalk
Oracle BPEL Process Manager
Modelagem x Execução <ul><li>BPMN </li></ul><ul><li>BPEL </li></ul><ul><ul><li>BPM é apenas conceitual. </li></ul></ul><ul...
Futuro dos processos <ul><li>BPEL x Java </li></ul><ul><ul><li>Focado no negócio </li></ul></ul><ul><ul><li>Portável (Java...
Casos e Acasos <ul><li>Diversificada, empresa de serviços financeiros </li></ul><ul><li>Mais de US$30bi em recursos </li><...
Antes de BPEL
Depois do BPEL
O uso do BPEL <ul><li>Execução paralela de serviços </li></ul><ul><li>Modelo de agregação recursiva peritiu a rápida contr...
Benefícios trazidos <ul><li>Aumento da agilidade de negócios </li></ul><ul><ul><li>Ágil tempo de implementação de novos pr...
Por ques e Senãos <ul><li>Vantagens </li></ul><ul><ul><li>Adapta à dinamicidade dos negócios </li></ul></ul><ul><ul><ul><l...
Aonde Chegamos <ul><li>Como muitas linguagens derivadas da sintaxe mark-up, BPEL é de fácil entendimento. Principalmente p...
Obrigado! <ul><li>Referências: </li></ul><ul><li>Sanjiva Weeraw Arana,  Web Services Platform Archtecture , ISBN: 0-13-148...
Upcoming SlideShare
Loading in …5
×

Arquitetura BPEL

4,113 views

Published on

Palestra sobre a arquitetura da BPEL para orquestração de serviços web.

Published in: Technology

Arquitetura BPEL

  1. 1. Web Services Orchestration COGEAE-PUC – Engenharia de Software Trabalho de Arquitetura de Software Alex Souza Claudio Dias
  2. 2. Agenda <ul><li>Buraco negro </li></ul><ul><li>Tapando o buraco </li></ul><ul><li>História da BPEL </li></ul><ul><li>Orquestrando Serviços </li></ul><ul><li>Arquitetura </li></ul><ul><ul><li>ApacheODE </li></ul></ul><ul><ul><li>Microsoft BizTalk </li></ul></ul><ul><ul><li>Oracle BPEL Process Manager </li></ul></ul><ul><li>Modelagem x Execução </li></ul><ul><li>Futuro dos processos </li></ul><ul><li>Casos e Acasos </li></ul><ul><li>Por ques e senãos </li></ul><ul><li>Aonde chegamos </li></ul>
  3. 3. Buraco negro Visão do Executivo Visão de TI Gap entre Negócios e TI Como fazer dinheiro? Força de trabalho e capital Modelos de negócio Estruturas Organizacionais Como dar apoio ao negócio com TI? Aplicativos e Sistemas Transações e Dados Infra estrutura de Hardware
  4. 4. Buraco negro Visão do Executivo Visão de TI Gap entre Negócios e TI Como fazer dinheiro? Força de trabalho e capital Modelos de negócio Estruturas Oganizacionais Como dar apoio ao negócio com TI? Aplicativos e Sistemas Transações e Dados Infra estrutura de Hardware Processos de Negócio Transa ções de negócio em múltiplas etapas envolvendo serviços automáticos e/ou pessoas
  5. 5. Tapando o Buraco
  6. 6. SOA melhorando o negócio
  7. 7. Modelando o negócio <ul><li>Business Process Management </li></ul><ul><li>Business Process Modeling </li></ul><ul><li>Business Process Management Systems </li></ul><ul><li>Business Process Modeling Notation </li></ul><ul><li>Business Process Modeling Language </li></ul><ul><li>Business Process Execution Language </li></ul>
  8. 8. Surgimento da BPEL – Business Process Execution Language <ul><li>IBM WSFL (Web Service Flow Language) </li></ul><ul><ul><li>Grafos direcionados </li></ul></ul><ul><li>Microsoft XLANG </li></ul><ul><ul><li>Blocos estruturados </li></ul></ul><ul><li>IBM, BEA, SAP, Siebel e Microsoft </li></ul><ul><ul><li>Agosto de 2002 – BPEL 1.0 </li></ul></ul><ul><ul><li>Abril de 2003 – BPEL 1.1 (OASIS) – BPEL4WS </li></ul></ul><ul><ul><li>Abril de 2007 – BPEL 2.0 – WS-BPEL </li></ul></ul><ul><li>OASIS – padronização e aceitação industrial </li></ul>
  9. 9. Histórico de evolução
  10. 10. Estrutura de Código BPEL
  11. 11. BPEL Designer
  12. 12. Orquestrando Serviços <ul><li>Funcionalidades não são suficientes </li></ul><ul><ul><li>Orquestrar é preciso! </li></ul></ul><ul><li>Serviços Assíncronos </li></ul><ul><li>Correlacionar a troca de mensagens </li></ul><ul><li>Implementar processos paralelos </li></ul><ul><li>Lógicas de Compensação </li></ul><ul><li>Manipular dados entre as interações </li></ul><ul><li>Longos processos de negócio em execução </li></ul><ul><li>Manipular exceções </li></ul><ul><li>Tratar diferentes versões de negócio em execução </li></ul>
  13. 13. Relação com Partners
  14. 14. Orquestrando x Coreografando <ul><li>BPEL </li></ul><ul><li>Processo central </li></ul><ul><li>Coordena as diferentes operações </li></ul><ul><li>Os serviços não conhecem o processo </li></ul><ul><li>WSCI / WS-CDL </li></ul><ul><li>Sem Coordenador Central </li></ul><ul><li>Colaborativo – troca de mensagens </li></ul><ul><li>Todos os participantes conhecem o processo </li></ul>Música x Dança
  15. 15. Arquitetura – Ambiente padrão <ul><li>BPEL Designer </li></ul><ul><ul><li>Analista de Negócios </li></ul></ul><ul><ul><li>GUI </li></ul></ul><ul><li>Process flow template </li></ul><ul><ul><li>Especificação BPEL </li></ul></ul><ul><li>BPEL Engine </li></ul><ul><ul><li>Orquestramento </li></ul></ul>
  16. 16. BPEL Engine <ul><li>Arquitetura execução de processos </li></ul><ul><li>Servidores de aplicação </li></ul><ul><li>Camada do Web Service </li></ul><ul><li>Integrado ao padrão WS </li></ul><ul><li>Multi plataforma </li></ul><ul><li>Integra com demais WS </li></ul>
  17. 17. Arquiteturas implementadas <ul><li>Fornecedores: </li></ul><ul><li>Apache </li></ul><ul><li>Microsoft </li></ul><ul><li>Oracle </li></ul>
  18. 18. ApacheODE
  19. 19. Microsoft BizTalk
  20. 20. Oracle BPEL Process Manager
  21. 21. Modelagem x Execução <ul><li>BPMN </li></ul><ul><li>BPEL </li></ul><ul><ul><li>BPM é apenas conceitual. </li></ul></ul><ul><ul><li>BPM 2.0 trabalha graças ao BPEL, bem como bases de dados relacionais trabalha graças ao SQL </li></ul></ul>
  22. 22. Futuro dos processos <ul><li>BPEL x Java </li></ul><ul><ul><li>Focado no negócio </li></ul></ul><ul><ul><li>Portável (Java & .Net) </li></ul></ul><ul><ul><li>BPELJ – BPEL + Java </li></ul></ul><ul><li>Melhor integração com BPMN </li></ul><ul><ul><li>Checar as regras entre processos executáveis e abstratos. </li></ul></ul><ul><ul><li>Conectar diferentes processos e/ou webservices, formando um modelo global. </li></ul></ul><ul><li>BPEL4People </li></ul><ul><ul><li>Define interações humanas nos processos </li></ul></ul><ul><li>Uso do BPEL com JBI (Java Business Integration) </li></ul>
  23. 23. Casos e Acasos <ul><li>Diversificada, empresa de serviços financeiros </li></ul><ul><li>Mais de US$30bi em recursos </li></ul><ul><li>Portifólio de serviços incluem </li></ul><ul><ul><li>Banco </li></ul></ul><ul><ul><li>Investimentos </li></ul></ul><ul><ul><li>Cartões de Crédito e Débito </li></ul></ul><ul><ul><li>Seguro </li></ul></ul><ul><ul><li>Leasing e Hipoteca </li></ul></ul><ul><li>Vantagem competitiva: habilidade de prover produtos financeiros diversificados através de bancos locais subsidiários </li></ul>
  24. 24. Antes de BPEL
  25. 25. Depois do BPEL
  26. 26. O uso do BPEL <ul><li>Execução paralela de serviços </li></ul><ul><li>Modelo de agregação recursiva peritiu a rápida contrução de um micro fluxo </li></ul><ul><li>Integração de processos de longa duração e serviços completamente direcionados à conversação </li></ul>
  27. 27. Benefícios trazidos <ul><li>Aumento da agilidade de negócios </li></ul><ul><ul><li>Ágil tempo de implementação de novos produtos financeiros </li></ul></ul><ul><ul><li>Ágil suporte para novos canais de entrega </li></ul></ul><ul><ul><ul><li>Protótipo de uma aplicação mobile em um dia </li></ul></ul></ul><ul><li>Melhoria nos serviços ao cliente </li></ul><ul><ul><li>Aplicação de banco online provê capacidades de serviço de auto-atendimento </li></ul></ul><ul><ul><li>Gerentes de conta tem acesso a atualizações de contas em tempo real </li></ul></ul><ul><li>Melhoria na eficiência de TI </li></ul><ul><ul><li>Serviços de negócio reusáveis </li></ul></ul><ul><ul><li>Desenvolvimento de aplicações mais rápido </li></ul></ul><ul><ul><li>Melhor consitência e atualização das informações </li></ul></ul>
  28. 28. Por ques e Senãos <ul><li>Vantagens </li></ul><ul><ul><li>Adapta à dinamicidade dos negócios </li></ul></ul><ul><ul><ul><li>Possibilidade de remodelar o processo com facilidade </li></ul></ul></ul><ul><ul><li>Controle para recuperação de Falhas e Compensação </li></ul></ul><ul><ul><ul><li>Facilidade em implementar tais rotinas </li></ul></ul></ul><ul><ul><li>Executar diversas versões do mesmo processo </li></ul></ul><ul><ul><ul><li>O Engine suporta executar diversas versões </li></ul></ul></ul><ul><ul><li>Processos assíncronos e paralelos </li></ul></ul><ul><ul><li>Multiplataforma </li></ul></ul><ul><li>Desvantagem </li></ul><ul><ul><li>Tecnologia em desenvolvimento </li></ul></ul><ul><ul><ul><li>Muitas possibilidades de desenvolvimento </li></ul></ul></ul><ul><ul><li>Confusão de conceitos </li></ul></ul><ul><ul><ul><li>Documentação contraditória </li></ul></ul></ul><ul><ul><li>Curva de aprendizado das ferramentas de design muito alta </li></ul></ul>
  29. 29. Aonde Chegamos <ul><li>Como muitas linguagens derivadas da sintaxe mark-up, BPEL é de fácil entendimento. Principalmente para quem conhece o conceito de Web Service e XML. </li></ul><ul><li>Uso de ferramentas de designer torna o desenvolvimento mais dinâmico do que o paradigma tradicional. </li></ul><ul><li>Integrado à um ambiente já bem estruturado e robusto para as aplicações da atualidade (Servidores de Aplicação) </li></ul><ul><li>Quanto ao uso do BPEL, podemos esperar aumento de produtividade, redução de custos e melhoria do nível de serviços automatizado. </li></ul>
  30. 30. Obrigado! <ul><li>Referências: </li></ul><ul><li>Sanjiva Weeraw Arana, Web Services Platform Archtecture , ISBN: 0-13-148874-0 </li></ul><ul><li>Stany Blanvalet, BPEL Cookbook: Best Practices for SOA-based integration and composite applications development , ISBN: 1-904811-33-7 </li></ul><ul><li>Steef-Jan Wiggers, SOA Thoughts, EAI Challenges: BizTalk Architecture and considerations , http://soa-thoughts.blogspot.com/2008/05/biztalk-server-architecture-and.html em 26/09/2008 </li></ul><ul><li>Apache.org, ODE Architectural Overview , http://ode.apache.org/architectural-overview.html em 26/09/2008 </li></ul><ul><li>Oracle, Getting Started with the Oracle BPEL Process Manager , http://docs.huihoo.com/oracle/docs/B14099_19/integrate.1012/b15604/intro.htm em 26/09/2008 </li></ul><ul><li>Matjaz B. Juric, BPEL and Java , http://www.theserverside.com/tt/articles/article.tss?l=BPELJava em 26/09/2008 </li></ul><ul><li>OASIS, BPEL Specification , http://www.oasis-open.org em 26/09/2008 </li></ul><ul><li>Wolfgang Emmerich, Impact of Research on Middleware Technology , http://www.sigsoft.org/impact/docs/EmmerichMiddlewareImpact.pdf?searchterm=bpel em 26/09/2008 </li></ul><ul><li>Sang Shin, Service Oriented Architecture: BPEL, JBI , http://www.javapassion.com/webservices/SOABPELJBI.pdf em 26/09/2008 </li></ul><ul><li>Jboss.org, BPEL Wiki , http://wiki.jboss.org/wiki/WSBPEL em 26/09/2008 </li></ul>

×