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

Arquitetura BPEL

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