Arquitetura orientada a serviços (SOA)

2,757 views
2,561 views

Published on

0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
2,757
On SlideShare
0
From Embeds
0
Number of Embeds
4
Actions
Shares
0
Downloads
100
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Arquitetura orientada a serviços (SOA)

  1. 1. Arquitetura Orientada aServiços (SOA) Acadêmico: Helio Henrique Lopes Costa Monte Alto R.A.: 53729
  2. 2. Sumário• Definição• Princípios• Web Services• Arquitetura de Web Services• XML - Extensible Markup Language• SOAP – Simple Object Access Protocol• WSDL – Web Service Description Language• UDDI – Universal Description, Discovery and Integration• SOA e OO• Benefícios da SOA• Referências
  3. 3. Definição• Arquitetura de software: estrutura do sistema, que inclui elementos de software, as propriedades externamente visíveis desses elementos e as relações entre elas• SOA (Service-oriented architecture): • Recursos são empacotados como serviços bem definidos; • Modelo que visa decompor um sistema em uma coleção de pequenas unidades relacionadas entre si;
  4. 4. Definição• Serviços: • Usam linguagem de descrição padrão; • Se comunicam através de solicitações de execução de operações; • Provê flexibilidade e agilidade para eliminar barreiras na integração de aplicações; • Constituídas de: Interface e implementação; • Interfaces são independentes de plataforma; • Coordenação de atividades através de passagens de mensagens entre serviços;
  5. 5. Princípios• Reuso (de recursos)• Contrato formal • Contratos de serviços definem formalmente as regras e características do serviço, suas operações e mensagens• Fraco acoplamento • Independência entre os serviços• Abstração • “Caixa-preta”, detalhes de implementação são escondidos• Composição • Um serviço pode ser membro de uma composição de serviços
  6. 6. Princípios• Autonomia • Alto nível de controle sobre seu ambiente e seus recursos básicos• Estado • Permanecem com informações de estado apenas quando necessário, minimizando o consumo de recursos• Descoberta • São externamente descritos para serem encontrados e interpretados
  7. 7. Princípios• Autonomia, fraco acoplamento, abstração e contrato formal são considerados o núcleo fundamental que forma a base da SOA.
  8. 8. Web Services• Tecnologia para implementar SOA;• Provê padronização • Através de conjunto de especificações e protocolos que definem as interfaces e contratos de serviços;• Disponíveis por meio de uma rede;• Padrão XML (Extensible Markup Language): • Mensagens e descrição de serviços• Sem ligação com qualquer linguagem de programação ou sistema operacional
  9. 9. Web Services• Significativa tecnologia na evolução da Web e da computação distribuída;• Interfaces de Web Services podem mapear qualquer tipo de software • Ex: sistema de middleware, SGDBs e aplicações empacotadas
  10. 10. Arquitetura de Web Services• Papéis individuais de cada ator: • Provedor de serviços: implementa e torna-o disponível • Consumidor de serviços: utiliza-o por meio de uma conexão de rede e envia uma solicitação XML • Registro de serviços: onde se publica e se pode encontrar serviços
  11. 11. Arquitetura de Web Services• A interação entre os papéis envolve as operações: • Publicação • Descoberta • Ligação
  12. 12. Arquitetura de Web Services• Pilha de protocolos
  13. 13. XML – Extensible Markup Language• Formato simples e flexível para representar informação estruturada;• Principais características: • Diretamente utilizável na Internet; • Suporta grande variedade de aplicações; • Facilidade de escrever programas que processam documento XML • Devem ser legíveis e claros para os humanos; • Projeto deve ser formal e conciso; • Facilidade para criar documentos XML; • Forma de descrição, armazenamento e transmissão dos dados;
  14. 14. SOAP – Simple Object Access Protocol• Protocolo de comunicação baseado em XML;• Transporte: HTTP• Independente de plataforma;• Especificação: três partes principais: • Especificação do envelope SOAP: regras para encapsulamento dos dados; • Regras de codificação dos dados: baseadas em XML Schema; • Convenções RPC: permite ao cliente especificar nome do método remoto e parâmetros e receber uma resposta;
  15. 15. SOAP – Simple Object Access Protocol• Estrutura da mensagem SOAP:
  16. 16. SOAP – Simple Object Access Protocol
  17. 17. SOAP – Simple Object Access Protocol• Considerações: • SOAP torna possível que Web Services troquem dados, independente de onde estão localizados; • Fornece um mecanismo simples e extensível para mapear múltiplos tipos de interações de mensagens e sistemas de software subjacente
  18. 18. WSDL – Web Service DescriptionLanguage• Define como descrever Web Services com XML;• Representa um contrato entre o serviço consumidor e o serviço provedor • Cliente pode localizar um web service e chamar qualquer uma de suas funções públicas;• Informações principais do protocolo: • De interface (descreve funções disponíveis); • De tipo de dados (para as mensagens); • Sobre o protocolo de transporte utilizado; • De endereço (para localizar o serviço especificado);
  19. 19. WSDL – Web Service DescriptionLanguage• Dividida em seis elementos principais:
  20. 20. WSDL – Web Service DescriptionLanguage
  21. 21. WSDL – Web Service DescriptionLanguage• Considerações: • WSDL fornece um mecanismo para a definição de interfaces para web services; • Contém descrição dos tipos de dados e estruturas usadas em mensagens, bem como informações necessárias para o mapeamento da definição dos web services;
  22. 22. UDDI – Universal Description, Discoveryand Integration• Descrever, descobrir e integrar web services;• Diretório distribuído de negócios e serviços;• Dados são divididos em 3 categorias: • Páginas brancas: informações gerais; • Páginas amarelas: dados de classificação geral; • Páginas verdes: informações técnicas, incluindo um ponteiro para uma especificação externa ou um endereço para chamar o WS• Fornece um mecanismo flexível, poderoso e extensível para registrar e descobrir informações de negócio por meio da Internet;
  23. 23. SOA e OO• Enquanto o foco do paradigma de Programação Orientada a Objetos é o empacotamento de dados com operações, o de SOA é a tarefa ou função de negócio;• OO pretende unir os métodos a um objeto de dados, SOA pretende fornecer serviços que têm acesso aos métodos;• Para usar um objeto, ele primeiro precisa ser instanciado;• Um objeto expõe a estrutura, mas não a semântica, a não ser capturando comentários na definição da classe. SOA enfatiza a necessidade de clarificar a semântica;
  24. 24. Benefícios da SOA• Facilitar gerenciamento do crescimento dos sistemas corporativos de larga escala;• Facilitar escalabilidade da Internet para uso por serviços; • Escalabilidade para organizar grandes sistemas em rede;• Reduzir custos nas organizações para cooperação delas;• Agilidade nos negócios e adaptabilidade • Habilidade para escalar e evoluir -> portifólio de TI adaptável para diferentes necessidades de um domínio de problema;
  25. 25. Referências• CERAMI, E. Web Services Essentials: Distributed Applications with XML-RPC,• SOAP, UDDI & WSDL. OReilly, 2002.• KREGER, H. Web Services Conceptual Architecture. IBM Software Group.• 2001.• Modelo de Referência para Arquitetura Orientada a Serviço 1.0. Comitê de Especificação 1, 19 de Julho de 2006. Disponível em <http://www.pcs.usp.br/~pcs5002/oasis/soa-rm-csbr.pdf>. Acesso em Maio de 2011.• VIVIAN, R. L. "Arquitetura Orientada a Serviços em Aplicações Web Sensíveis ao Contexto“. Monografia de Especialização de Desenvolvimento de Sistemas para Web, Universidade Estadual de Maringá, 2010.• W3C. Extensible Markup Language. Obtido via Internet: http://www.w3.org/XML. Acesso em: mai. 2011.

×