SlideShare una empresa de Scribd logo
1 de 32
SOA   PADRÕES ASSOCIADOS Faculdade Anhanguera de Limeira Desenvolvimento de Sistemas para a Web Módulo 3 – Tópicos no Desenvolvimento de Software Prof. Geraldo Aparecido Gimenez   Luis André Claudiano Cláudio Maesi Evandro Santaclara Paulo William
SOA -  Service-oriented architecture   Padrões associados a SOA
SOA -  Service-oriented architecture   Padrões associados a SOA A Arquitetura Orientada a Serviços envolve três aspectos principais: •  A localização de serviços:  Incluindo a procura por serviços que satisfaçam determinados critérios de negócio; •  A organização de serviços:  de forma que um requisitante de serviços possa compreender facilmente o que um serviço oferece; •  A especificação de serviços:  incluindo os protocolos para que os serviços possam ser invocados de modo apropriado.
SOA -  Service-oriented architecture   Padrões associados a SOA Os papéis envolvidos na Arquitetura Orientada a Serviços são: •  Provedores de serviços  •  Consumidores de serviços •  Compositores de serviços  •  Repositórios de serviços
Padrões associados a SOA A aplicação da Arquitetura Orientada a Serviços na  Web  é realizada pela tecnologia de serviços  Web . Um serviço  Web  é um tipo específico de serviço eletrônico, identificado por um URI ( Identificador de Recursos Uniforme ), que expõe funcionalidades accessíveis através da  Web  e cuja descrição e interação utilizam padrões XML. A definição de serviço Web   incluída no documento que especifica o modelo do W3C consiste de: •  Sistema de software   projetado para apoiar interações máquina-a-máquina em uma rede; •  Interface descrita  em um formato processável por máquina (especificamente WSDL); •  Outros sistemas  que interagem com um serviço conforme sua descrição utilizando mensagens SOAP.  Essas mensagens são conduzidas utilizando tipicamente o protocolo HTTP, com uma serialização XML em conjunto com outros padrões relacionados.  SOA -  Service-oriented architecture
Padrões associados a SOA SOA -  Service-oriented architecture   Modelo de serviços Web básico.
Padrões associados a SOA A estrutura da tecnologia de serviços  Web  compreende, entre outras, três áreas básicas: 1- protocolo de mensagens 2- descrição de serviços e  3- descoberta de serviços .  SOA -  Service-oriented architecture
Padrões associados a SOA SOA -  Service-oriented architecture   Estrutura da tecnologia de serviço Web
SOA -  Service-oriented architecture   WSDL
WSDL SOA -  Service-oriented architecture   Web Services Description Language   é um formato XML que proporciona uma descrição de serviço  Web  processável por máquina. A linguagem WSDL é apoiada pelo W3C. Um documento WSDL descreve a funcionalidade de um serviço  Web  e provê um ponto de acesso para consumidores de serviços. Uma descrição WSDL completa inclui dois tipos de informação: •  Uma interface de serviço ; •  Detalhes concretos de uma descrição de serviço, que consumidores  devem seguir para acessar o serviço.
WSDL SOA -  Service-oriented architecture   INTERFACE DE SERVIÇO Em WSDL, uma interface compreende um conjunto de operações realizadas por um serviço. Mensagem é o elemento fundamental de uma descrição de serviço. Cada mensagem trocada consiste de itens de dados com tipos definidos. A descrição de uma mensagem é inicialmente abstrata. Em seção posterior do documento WSDL, a mensagem é associada a um protocolo de comunicações. É a partir das mensagens recebidas/enviadas por um serviço Web que o serviço é descrito em WSDL. A parte abstrata de uma descrição de serviço WSDL compreende os seguintes elementos: •  portType:  é uma coleção de operações; •  operation:  define uma troca de mensagens; •  message:  representa os dados enviados em uma transmissão de mensagem; •  types:  são os tipos de dados empregados pelo serviço.
WSDL SOA -  Service-oriented architecture   DETALHES CONCRETOS Os elementos WSDL que compõem a parte concreta de uma descrição de serviço são apresentados a seguir: •  binding:  especifica o estilo de interação e o protocolo de comunicações para um elemento portType; •  port:  combina informações de ligação com um ponto de acesso, especificado por um URI, através do qual uma implementação de um portType determinado pode ser acessada; •  service:  é uma coleção de elementos port.
WSDL SOA -  Service-oriented architecture   Exemplo de descrição de serviço  Web
SOA -  Service-oriented architecture   UDDI
UDDI SOA -  Service-oriented architecture   Universal Description Discovery & Integration  provê um repositório de descrições de serviços  Web . UDDI é apoiado pelo OASIS, um corpo de padronização que inclui as principais empresas da indústria de software. O padrão UDDI oferece aos consumidores de serviços  Web  um mecanismo para localizar provedores, os serviços disponibilizados por eles e as informações necessárias para acessar os serviços.
UDDI SOA -  Service-oriented architecture   Baseado em XML, UDDI provê uma infra-estrutura para integrar informação em ambientes de serviços  Web  tanto para serviços disponíveis publicamente quanto para serviços expostos internamente em organizações. Apesar de desempenhar função semelhante, um repositório UDDI possui as seguintes diferenças em relação a outros serviços de diretório: •  Independência:  entradas podem ser postadas por qualquer organização e repositórios disponibilizados em diferentes tipos de plataforma; •  Flexibilidade:  com UDDI é possível utilizar documentos com estrutura livre para a publicação de serviços.
UDDI SOA -  Service-oriented architecture   Um repositório UDDI compreende informações sobre os seguintes itens principais: - provedor de serviços - especificação de serviço e  - implementação de serviço. Mapeamento entre elementos WSDL e elementos UDDI para a publicação de serviços  Web .
UDDI SOA -  Service-oriented architecture   Exemplo da estrutura utilizada para representar um serviço  Web  em um repositório UDDI
UDDI SOA -  Service-oriented architecture   O padrão UDDI compreende duas especificações que definem a estrutura e operação de um repositório de serviços: • Uma definição da informação a ser provida sobre cada serviço; • Uma interface de inserção e consulta para o repositório, que define como inserir informações em um repositório e como as informações armazenadas podem ser consultadas.
UDDI SOA -  Service-oriented architecture   o padrão UDDI também apóia repositórios privados. Os seguintes tipos de repositório são permitidos: •  Repositório público:  repositório que provê acesso aberto aos dados registrados.  •  Repositório privado:  repositório interno, isolado por um  firewall  de uma rede privada. •  Repositório compartilhado:  repositório instalado em um ambiente controlado, sendo compartilhado com um grupo limitado de organizações.
SOA -  Service-oriented architecture   SOAP
SOAP SOA -  Service-oriented architecture   SOAP é um protocolo que possibilita a comunicação entre serviços  Web .  O protocolo SOAP é apoiado pelo W3C. Além da estrutura de mensagem básica, o padrão descreve como receptores devem processar mensagens SOAP. SOAP permite a troca de informação em um ambiente distribuído e descentralizado, tal como um ambiente típico de serviços  Web . O mecanismo oferecido por SOAP para a troca de informação utiliza a linguagem XML. Ao invés de definir um novo protocolo de comunicações, SOAP trabalha sobre protocolos existentes. Uma vantagem de empregar SOAP sobre HTTP é a possibilidade de atravessar  firewalls  sem a necessidade de configurações adicionais.
SOAP SOA -  Service-oriented architecture   Uma mensagem SOAP inclui os seguintes componentes: •  Um elemento obrigatório para a identificação de mensagens SOAP; •  Um cabeçalho opcional que contém informação que pode ser processada por nós intermediários; •  Um corpo obrigatório que representa a mensagem sendo transmitida; •  Um elemento opcional com informação sobre falhas de processamento de  mensagens.
SOAP SOA -  Service-oriented architecture   O cabeçalho e o corpo de uma mensagem SOAP podem possuir múltiplas partes na forma de blocos. Um bloco é qualquer sub-elemento de primeiro nível do elemento  Header  ou  Body  de uma mensagem. Para cada mensagem SOAP, além dos papéis de emissor e receptor final da mensagem, pode existir um número arbitrário de nós para o processamento e roteamento da mensagem. A informação central que um emissor deseja transmitir a um receptor deve ser incluída no corpo da mensagem. Informações adicionais necessárias para o processamento intermediário da mensagem, como, por exemplo, interação transacional, são inseridas no cabeçalho.
SOAP SOA -  Service-oriented architecture   A estrutura de uma mensagem SOAP é influenciada principalmente pelo estilo de interação. SOAP pode ser utilizado em dois estilos de interação: documento e chamada de procedimento remoto. A seguir, esses estilos são descritos: •  document-style :  as partes envolvidas na interação estabelecem um acordo sobre a estrutura dos documentos a serem trocados. Mensagens SOAP são empregadas para transportar os documentos entre as partes; •  RPC-style :  nesse estilo de interação, uma mensagem SOAP encapsula uma requisição enquanto outra mensagem encapsula a resposta para a requisição. SOAP define uma convenção para representar requisições e respostas. O corpo de uma mensagem de requisição inclui uma chamada de procedimento, especificando o nome do procedimento sendo invocado e os parâmetros de entrada. O corpo de uma mensagem de resposta inclui o resultado e os parâmetros de saída.
SOAP SOA -  Service-oriented architecture   Exemplo de uma mensagem SOAP
SOA -  Service-oriented architecture   BPEL
BPEL SOA -  Service-oriented architecture   Notoriamente, BPEL é a linguagem de orquestração e coreografia de maior destaque atualmente. Devido à alta aceitação da linguagem no mercado, várias ferramentas, tanto abertas quanto proprietárias, foram criadas para o desenvolvimento, instalação e execução de  scripts  BPEL. A presença de grandes empresas no comitê técnico de especificação da próxima versão da linguagem mostra o forte interesse destas no desenvolvimento da linguagem. Na linguagem BPEL são definidos processos de negócio ( Business Processes ) e protocolos de negócio ( Business Protocols ). O primeiro é um  script  que define um fluxo de execução sob o ponto de vista de uma entidade que gerencia chamadas a serviços componentes. Uma máquina de software é capaz de interpretar tal  script , coordenando atividades e compensando-as quando erros ocorrerem.
BPEL SOA -  Service-oriented architecture   Qualquer serviço que participa da composição do serviço orquestrado é considerado um parceiro ( partner ). Parceiros podem realizar chamadas ao processo, prover serviços ao processo ou ambos simultaneamente. As interfaces dos parceiros, bem como do serviço composto, são definidas na linguagem WSDL (adicionada de algumas extensões). Por esse motivo, BPEL é considerado uma camada sobre WSDL.  Tecnologias para Composição de Serviços BPEL
BPEL SOA -  Service-oriented architecture   Atividades Básicas Na linguagem BPEL cada instrução é uma atividade. As instruções são representadas no documento por elementos XML. Atividades podem ser básicas ou estruturadas. As atividades básicas da linguagem BPEL são: •  receive :  instrução para o recebimento de uma requisição de serviço .   •  invoke :  instrução para envio de uma requisição de serviço.  •  reply :  instrução para resposta a uma requisição de serviço realizada anteriormente.  •  throw :  instrução utilizada para sinalizar a ocorrência de uma falha interna.  •  wait :  permite que um processo especifique um atraso por um certo período de tempo ( for ) ou até que um prazo final ( until ) seja atingido. •  empty :   instrução que não realiza ação alguma.
BPEL SOA -  Service-oriented architecture   As atividades estruturadas da linguagem BPEL são: •  sequence :  instrução que contém uma ou mais atividades que são executadas seqüencialmente, na ordem em que são apresentadas dentro do elemento.  •  switch :  instrução que provê comportamento condicional.  •  while :  instrução que provê suporte à execução repetida de uma dada atividade iterativa.  •  pick :  instrução que aguarda a ocorrência de um dentre um conjunto de eventos e então executa a atividade associada ao evento ocorrido  •  flow :  instrução que provê concorrência e sincronização.
REFERÊNCIA BIBLIOGRÁFICA SOA -  Service-oriented architecture   Tese de Mestrado:  Incorporação de Qualidade de Serviço no Modelo de Serviços  Web Autor:  Diego Zuquim Guimarães Garcia Dissertação de Mestrado:  Uma Arquitetura Orientada a Serviços para Desenvolvimento, Gerenciamento e Instalação de Serviços de Rede Autor:  Victor Alexandre Siqueira Marques de Souza Biblioteca Digital da Unicamp http://libdigi.unicamp.br

Más contenido relacionado

La actualidad más candente

La actualidad más candente (8)

Rest
RestRest
Rest
 
WebServices intro
WebServices introWebServices intro
WebServices intro
 
Serviços na Plataforma .NET (SOA, REST, Microservices, WCF, Web API)
Serviços na Plataforma .NET (SOA, REST, Microservices, WCF, Web API)Serviços na Plataforma .NET (SOA, REST, Microservices, WCF, Web API)
Serviços na Plataforma .NET (SOA, REST, Microservices, WCF, Web API)
 
Introdução a Web Services
Introdução a Web ServicesIntrodução a Web Services
Introdução a Web Services
 
BizTalk Server - Princípios básicos dos Mapas
BizTalk Server  - Princípios básicos dos MapasBizTalk Server  - Princípios básicos dos Mapas
BizTalk Server - Princípios básicos dos Mapas
 
Web service
Web serviceWeb service
Web service
 
Esb Soa AplicaçõEs
Esb   Soa AplicaçõEsEsb   Soa AplicaçõEs
Esb Soa AplicaçõEs
 
Arquitetura de Serviços - SOA, REST, Microservices e a plataforma .NET
Arquitetura de Serviços - SOA, REST, Microservices e a plataforma .NETArquitetura de Serviços - SOA, REST, Microservices e a plataforma .NET
Arquitetura de Serviços - SOA, REST, Microservices e a plataforma .NET
 

Similar a SOA - Padrões Associados

Web Services - Grupo F
Web Services - Grupo FWeb Services - Grupo F
Web Services - Grupo F
mdmansur
 
Sistemas Distribuídos - Big Web Services
Sistemas Distribuídos - Big Web ServicesSistemas Distribuídos - Big Web Services
Sistemas Distribuídos - Big Web Services
Keyo Galvao
 
Apresentação web services
Apresentação web servicesApresentação web services
Apresentação web services
Vitor Fonseca
 

Similar a SOA - Padrões Associados (20)

Sistemas Distribuídos - Aula 07 - Servicos Web
Sistemas Distribuídos - Aula 07 - Servicos WebSistemas Distribuídos - Aula 07 - Servicos Web
Sistemas Distribuídos - Aula 07 - Servicos Web
 
A Estrutura de um Web Service
A Estrutura de um Web ServiceA Estrutura de um Web Service
A Estrutura de um Web Service
 
Web Service - XML
Web Service - XMLWeb Service - XML
Web Service - XML
 
Web Services - Grupo F
Web Services - Grupo FWeb Services - Grupo F
Web Services - Grupo F
 
UM ESTUDO SOBRE SOA
UM ESTUDO SOBRE SOAUM ESTUDO SOBRE SOA
UM ESTUDO SOBRE SOA
 
WebServices-XML
WebServices-XMLWebServices-XML
WebServices-XML
 
Web Services Xml
Web Services XmlWeb Services Xml
Web Services Xml
 
WebServices
WebServicesWebServices
WebServices
 
Web services
Web servicesWeb services
Web services
 
Sistemas Distribuídos - Big Web Services
Sistemas Distribuídos - Big Web ServicesSistemas Distribuídos - Big Web Services
Sistemas Distribuídos - Big Web Services
 
Serviços Web Semânticos
Serviços Web SemânticosServiços Web Semânticos
Serviços Web Semânticos
 
Web services, aplicações, acesso a aplicações, XML, API
Web services, aplicações, acesso a aplicações, XML, APIWeb services, aplicações, acesso a aplicações, XML, API
Web services, aplicações, acesso a aplicações, XML, API
 
Monica vasconcelos
Monica vasconcelosMonica vasconcelos
Monica vasconcelos
 
Monica vasconcelos (1)
Monica vasconcelos (1)Monica vasconcelos (1)
Monica vasconcelos (1)
 
Monica vasconcelos
Monica vasconcelosMonica vasconcelos
Monica vasconcelos
 
Soa conceitos
Soa conceitosSoa conceitos
Soa conceitos
 
Soap x rest
Soap x restSoap x rest
Soap x rest
 
Apresentação web services
Apresentação web servicesApresentação web services
Apresentação web services
 
Arquitetura e Integração de sistemas
Arquitetura e Integração de sistemasArquitetura e Integração de sistemas
Arquitetura e Integração de sistemas
 
Projeto VI: Tecnologias Básicas da Web 2 0
Projeto VI: Tecnologias Básicas da Web 2 0Projeto VI: Tecnologias Básicas da Web 2 0
Projeto VI: Tecnologias Básicas da Web 2 0
 

SOA - Padrões Associados

  • 1. SOA PADRÕES ASSOCIADOS Faculdade Anhanguera de Limeira Desenvolvimento de Sistemas para a Web Módulo 3 – Tópicos no Desenvolvimento de Software Prof. Geraldo Aparecido Gimenez Luis André Claudiano Cláudio Maesi Evandro Santaclara Paulo William
  • 2. SOA - Service-oriented architecture Padrões associados a SOA
  • 3. SOA - Service-oriented architecture Padrões associados a SOA A Arquitetura Orientada a Serviços envolve três aspectos principais: • A localização de serviços: Incluindo a procura por serviços que satisfaçam determinados critérios de negócio; • A organização de serviços: de forma que um requisitante de serviços possa compreender facilmente o que um serviço oferece; • A especificação de serviços: incluindo os protocolos para que os serviços possam ser invocados de modo apropriado.
  • 4. SOA - Service-oriented architecture Padrões associados a SOA Os papéis envolvidos na Arquitetura Orientada a Serviços são: • Provedores de serviços • Consumidores de serviços • Compositores de serviços • Repositórios de serviços
  • 5. Padrões associados a SOA A aplicação da Arquitetura Orientada a Serviços na Web é realizada pela tecnologia de serviços Web . Um serviço Web é um tipo específico de serviço eletrônico, identificado por um URI ( Identificador de Recursos Uniforme ), que expõe funcionalidades accessíveis através da Web e cuja descrição e interação utilizam padrões XML. A definição de serviço Web incluída no documento que especifica o modelo do W3C consiste de: • Sistema de software projetado para apoiar interações máquina-a-máquina em uma rede; • Interface descrita em um formato processável por máquina (especificamente WSDL); • Outros sistemas que interagem com um serviço conforme sua descrição utilizando mensagens SOAP. Essas mensagens são conduzidas utilizando tipicamente o protocolo HTTP, com uma serialização XML em conjunto com outros padrões relacionados. SOA - Service-oriented architecture
  • 6. Padrões associados a SOA SOA - Service-oriented architecture Modelo de serviços Web básico.
  • 7. Padrões associados a SOA A estrutura da tecnologia de serviços Web compreende, entre outras, três áreas básicas: 1- protocolo de mensagens 2- descrição de serviços e 3- descoberta de serviços . SOA - Service-oriented architecture
  • 8. Padrões associados a SOA SOA - Service-oriented architecture Estrutura da tecnologia de serviço Web
  • 9. SOA - Service-oriented architecture WSDL
  • 10. WSDL SOA - Service-oriented architecture Web Services Description Language é um formato XML que proporciona uma descrição de serviço Web processável por máquina. A linguagem WSDL é apoiada pelo W3C. Um documento WSDL descreve a funcionalidade de um serviço Web e provê um ponto de acesso para consumidores de serviços. Uma descrição WSDL completa inclui dois tipos de informação: • Uma interface de serviço ; • Detalhes concretos de uma descrição de serviço, que consumidores devem seguir para acessar o serviço.
  • 11. WSDL SOA - Service-oriented architecture INTERFACE DE SERVIÇO Em WSDL, uma interface compreende um conjunto de operações realizadas por um serviço. Mensagem é o elemento fundamental de uma descrição de serviço. Cada mensagem trocada consiste de itens de dados com tipos definidos. A descrição de uma mensagem é inicialmente abstrata. Em seção posterior do documento WSDL, a mensagem é associada a um protocolo de comunicações. É a partir das mensagens recebidas/enviadas por um serviço Web que o serviço é descrito em WSDL. A parte abstrata de uma descrição de serviço WSDL compreende os seguintes elementos: • portType: é uma coleção de operações; • operation: define uma troca de mensagens; • message: representa os dados enviados em uma transmissão de mensagem; • types: são os tipos de dados empregados pelo serviço.
  • 12. WSDL SOA - Service-oriented architecture DETALHES CONCRETOS Os elementos WSDL que compõem a parte concreta de uma descrição de serviço são apresentados a seguir: • binding: especifica o estilo de interação e o protocolo de comunicações para um elemento portType; • port: combina informações de ligação com um ponto de acesso, especificado por um URI, através do qual uma implementação de um portType determinado pode ser acessada; • service: é uma coleção de elementos port.
  • 13. WSDL SOA - Service-oriented architecture Exemplo de descrição de serviço Web
  • 14. SOA - Service-oriented architecture UDDI
  • 15. UDDI SOA - Service-oriented architecture Universal Description Discovery & Integration provê um repositório de descrições de serviços Web . UDDI é apoiado pelo OASIS, um corpo de padronização que inclui as principais empresas da indústria de software. O padrão UDDI oferece aos consumidores de serviços Web um mecanismo para localizar provedores, os serviços disponibilizados por eles e as informações necessárias para acessar os serviços.
  • 16. UDDI SOA - Service-oriented architecture Baseado em XML, UDDI provê uma infra-estrutura para integrar informação em ambientes de serviços Web tanto para serviços disponíveis publicamente quanto para serviços expostos internamente em organizações. Apesar de desempenhar função semelhante, um repositório UDDI possui as seguintes diferenças em relação a outros serviços de diretório: • Independência: entradas podem ser postadas por qualquer organização e repositórios disponibilizados em diferentes tipos de plataforma; • Flexibilidade: com UDDI é possível utilizar documentos com estrutura livre para a publicação de serviços.
  • 17. UDDI SOA - Service-oriented architecture Um repositório UDDI compreende informações sobre os seguintes itens principais: - provedor de serviços - especificação de serviço e - implementação de serviço. Mapeamento entre elementos WSDL e elementos UDDI para a publicação de serviços Web .
  • 18. UDDI SOA - Service-oriented architecture Exemplo da estrutura utilizada para representar um serviço Web em um repositório UDDI
  • 19. UDDI SOA - Service-oriented architecture O padrão UDDI compreende duas especificações que definem a estrutura e operação de um repositório de serviços: • Uma definição da informação a ser provida sobre cada serviço; • Uma interface de inserção e consulta para o repositório, que define como inserir informações em um repositório e como as informações armazenadas podem ser consultadas.
  • 20. UDDI SOA - Service-oriented architecture o padrão UDDI também apóia repositórios privados. Os seguintes tipos de repositório são permitidos: • Repositório público: repositório que provê acesso aberto aos dados registrados. • Repositório privado: repositório interno, isolado por um firewall de uma rede privada. • Repositório compartilhado: repositório instalado em um ambiente controlado, sendo compartilhado com um grupo limitado de organizações.
  • 21. SOA - Service-oriented architecture SOAP
  • 22. SOAP SOA - Service-oriented architecture SOAP é um protocolo que possibilita a comunicação entre serviços Web . O protocolo SOAP é apoiado pelo W3C. Além da estrutura de mensagem básica, o padrão descreve como receptores devem processar mensagens SOAP. SOAP permite a troca de informação em um ambiente distribuído e descentralizado, tal como um ambiente típico de serviços Web . O mecanismo oferecido por SOAP para a troca de informação utiliza a linguagem XML. Ao invés de definir um novo protocolo de comunicações, SOAP trabalha sobre protocolos existentes. Uma vantagem de empregar SOAP sobre HTTP é a possibilidade de atravessar firewalls sem a necessidade de configurações adicionais.
  • 23. SOAP SOA - Service-oriented architecture Uma mensagem SOAP inclui os seguintes componentes: • Um elemento obrigatório para a identificação de mensagens SOAP; • Um cabeçalho opcional que contém informação que pode ser processada por nós intermediários; • Um corpo obrigatório que representa a mensagem sendo transmitida; • Um elemento opcional com informação sobre falhas de processamento de mensagens.
  • 24. SOAP SOA - Service-oriented architecture O cabeçalho e o corpo de uma mensagem SOAP podem possuir múltiplas partes na forma de blocos. Um bloco é qualquer sub-elemento de primeiro nível do elemento Header ou Body de uma mensagem. Para cada mensagem SOAP, além dos papéis de emissor e receptor final da mensagem, pode existir um número arbitrário de nós para o processamento e roteamento da mensagem. A informação central que um emissor deseja transmitir a um receptor deve ser incluída no corpo da mensagem. Informações adicionais necessárias para o processamento intermediário da mensagem, como, por exemplo, interação transacional, são inseridas no cabeçalho.
  • 25. SOAP SOA - Service-oriented architecture A estrutura de uma mensagem SOAP é influenciada principalmente pelo estilo de interação. SOAP pode ser utilizado em dois estilos de interação: documento e chamada de procedimento remoto. A seguir, esses estilos são descritos: • document-style : as partes envolvidas na interação estabelecem um acordo sobre a estrutura dos documentos a serem trocados. Mensagens SOAP são empregadas para transportar os documentos entre as partes; • RPC-style : nesse estilo de interação, uma mensagem SOAP encapsula uma requisição enquanto outra mensagem encapsula a resposta para a requisição. SOAP define uma convenção para representar requisições e respostas. O corpo de uma mensagem de requisição inclui uma chamada de procedimento, especificando o nome do procedimento sendo invocado e os parâmetros de entrada. O corpo de uma mensagem de resposta inclui o resultado e os parâmetros de saída.
  • 26. SOAP SOA - Service-oriented architecture Exemplo de uma mensagem SOAP
  • 27. SOA - Service-oriented architecture BPEL
  • 28. BPEL SOA - Service-oriented architecture Notoriamente, BPEL é a linguagem de orquestração e coreografia de maior destaque atualmente. Devido à alta aceitação da linguagem no mercado, várias ferramentas, tanto abertas quanto proprietárias, foram criadas para o desenvolvimento, instalação e execução de scripts BPEL. A presença de grandes empresas no comitê técnico de especificação da próxima versão da linguagem mostra o forte interesse destas no desenvolvimento da linguagem. Na linguagem BPEL são definidos processos de negócio ( Business Processes ) e protocolos de negócio ( Business Protocols ). O primeiro é um script que define um fluxo de execução sob o ponto de vista de uma entidade que gerencia chamadas a serviços componentes. Uma máquina de software é capaz de interpretar tal script , coordenando atividades e compensando-as quando erros ocorrerem.
  • 29. BPEL SOA - Service-oriented architecture Qualquer serviço que participa da composição do serviço orquestrado é considerado um parceiro ( partner ). Parceiros podem realizar chamadas ao processo, prover serviços ao processo ou ambos simultaneamente. As interfaces dos parceiros, bem como do serviço composto, são definidas na linguagem WSDL (adicionada de algumas extensões). Por esse motivo, BPEL é considerado uma camada sobre WSDL. Tecnologias para Composição de Serviços BPEL
  • 30. BPEL SOA - Service-oriented architecture Atividades Básicas Na linguagem BPEL cada instrução é uma atividade. As instruções são representadas no documento por elementos XML. Atividades podem ser básicas ou estruturadas. As atividades básicas da linguagem BPEL são: • receive : instrução para o recebimento de uma requisição de serviço . • invoke : instrução para envio de uma requisição de serviço. • reply : instrução para resposta a uma requisição de serviço realizada anteriormente. • throw : instrução utilizada para sinalizar a ocorrência de uma falha interna. • wait : permite que um processo especifique um atraso por um certo período de tempo ( for ) ou até que um prazo final ( until ) seja atingido. • empty : instrução que não realiza ação alguma.
  • 31. BPEL SOA - Service-oriented architecture As atividades estruturadas da linguagem BPEL são: • sequence : instrução que contém uma ou mais atividades que são executadas seqüencialmente, na ordem em que são apresentadas dentro do elemento. • switch : instrução que provê comportamento condicional. • while : instrução que provê suporte à execução repetida de uma dada atividade iterativa. • pick : instrução que aguarda a ocorrência de um dentre um conjunto de eventos e então executa a atividade associada ao evento ocorrido • flow : instrução que provê concorrência e sincronização.
  • 32. REFERÊNCIA BIBLIOGRÁFICA SOA - Service-oriented architecture Tese de Mestrado: Incorporação de Qualidade de Serviço no Modelo de Serviços Web Autor: Diego Zuquim Guimarães Garcia Dissertação de Mestrado: Uma Arquitetura Orientada a Serviços para Desenvolvimento, Gerenciamento e Instalação de Serviços de Rede Autor: Victor Alexandre Siqueira Marques de Souza Biblioteca Digital da Unicamp http://libdigi.unicamp.br