Mudanças entre as edições de "Serviços e Microsserviços"
Linha 36: | Linha 36: | ||
* '''Distribuição''': Os serviços devem ficar distribuídos, para aproveitar melhor os recursos computacionais. | * '''Distribuição''': Os serviços devem ficar distribuídos, para aproveitar melhor os recursos computacionais. | ||
− | = Web Services | + | = Serviço Web = |
+ | |||
+ | * '''serviço''': | ||
+ | ** componente de software; | ||
+ | ** possui uma implementação bem definida de uma funcionalidade de negócios; | ||
+ | ** possui uma interface de publicação e e descoberta para consumidores de serviços; | ||
+ | ** podem ser agrupados para a criação de diferentes aplicações e processos de negócios utilizando-se de um modelo de comunicação baseado na troca de mensagens com baixo acoplamento<ref>O'BRIEN, L.; BASS, L.; MERSON, P. Quality Attributes and Service-Oriented Architectures. Technical Note - Software Engineering Institute, Carnegie Mellon University. 2005.</ref>. | ||
+ | * '''Serviços Web''': | ||
+ | ** do inglês ''web service''; | ||
+ | ** sistemas de software, ou programas de computador, que buscam a interoperabilidade através da interação entre um computador e uma rede; | ||
+ | ** se comunicam por meio de mensagens baseadas no protocolo HTTP (''HiperText Transfer Protocol''); | ||
+ | |||
+ | {{tip|Os serviços web trouxeram um novo paradigma suportando sistemas distribuídos fracamente acoplados com a descoberta e execução de serviços<ref>PAUROBALLY, S.; JENNINGS, N.R. Developing Agent Web Service Agreements. Proceedings of the IEEE/WIC/ACM International Conference on Web Intelligence (WI'05). 2005.</ref>.}} | ||
+ | |||
+ | == SOAP == | ||
+ | |||
+ | * '''SOAP''' (''Simple Object Access Protocol'') - é o protocolo de comunicação entre os serviços web e seus clientes. | ||
+ | ** possui três elementos principais<ref>HAAS, H; e BROWN, A.; 2004. Web Services Glossary. Disponível em: <http://www.w3.org/TR/ws-gloss/>, Acessado em Dez/2008.</ref>: | ||
+ | *** o protocolo de comunicação; | ||
+ | *** a descrições dos serviços; | ||
+ | *** e a descoberta de serviços. | ||
+ | * Utiliza a linguagem '''XML''' (''Extensible Modeling Language''); | ||
+ | * Usa a linguagem '''WSDL''' (''Web Services Definition Language'') para descrever formalmente os serviços web; | ||
+ | * Usa o '''XML Schema''' para especificar a estrutura e os tipos dos dados que estão contidos nas mensagens; | ||
+ | * Utiliza o '''UDDI''' (''Universal Descripition, Discovery and Integration'') como diretório de registro de serviços, acessados por meio de mensagens SOAP<ref>WANG, H., HUANG, J. Z., QU, Y., e XIE, J. Web services: problems and future directions. Journal of Web Semantics, 1(3):241–320. 2005.</ref>. | ||
= Referências = | = Referências = |
Edição das 10h21min de 30 de agosto de 2021
Afluentes: Sistemas Distribuídos e Mobile
Histórico
Arquitetura Orientada a Serviços
- Service Oriented Architecture - SOA
A Arquitetura Orientada a Serviço "é um paradigma para organização e utilização de competências distribuídas que estão sob o controle de diferentes domínios proprietários"[1].
Ou seja, as pessoas e organizações criam competências para resolver problemas específicos conforme suas necessidades. Estas são modeladas através de um conjunto de componentes que compõe a arquitetura e podem ser invocados por meio da descrição de suas interfaces, que podem ser publicadas e descobertas[2].
O ponto central do paradigma da Engenharia de Sistemas orientados a Objetos (SOSE – Service-Oriented System Engineering) é o conceito de serviço, bem como a estratégia para expor sistema de capacidades para os consumidores como os serviços através do Service-Oriented Architecture (SOA). Neste contexto, a tecnologia de serviços Web é apenas uma maneira de realizar eficientemente os conceitos de serviços e SOA. O serviço faz um acordo contratual entre fornecedor e consumidor. Além de uma interface comum que define operação assinaturas, um serviço também pode ter atributos que lhe são próprias, tais como o acordo de nível de serviço, das políticas, das dependências, e assim por diante[3].
- Tem como base componentes baseados em serviços.
- Surgiu para reduzir o tempo, custos e recursos gastos para uma integração rápida e flexivel de sistemas envolvidos nas organizações.
- Enfoca no aumento da agilidade na implementação de novos produtos e processos e na composição de novos processos por meio da orquestração de componentes já prontos.
- Orquestração é a configuração, o gerenciamento e a coordenação automatizada de serviços, aplicações e sistemas de computador.
- Abrange a possibilidade do reuso de sistemas e aplicações legadas.
- As aplicações de negócio são divididas em funções e processos de negócios individuais, compartilhados, independentes de plataforma e reutilizáveis, chamados de serviços.
- Para tornar os serviços disponíveis e viabilizados para o uso por terceiros, dev ser disponibilizada uma descrição desse serviço contendo as informações necessárias para a interação com ele, tais como suas entradas, saídas e semânticas associadas.
Requisitos
Os requisitos de uma arquitetura SOA, segundo Singh e Huhns[4] são:
- Baixo acoplamento: Os serviços da arquitetura não devem ter uma dependência forte entre si.
- Independência de implementação: Não se deve depender de características específicas de linguagens de programação ou
ambientes de execução.
- Configuração flexível: Os diferentes serviços devem poder ser ligados entre si de forma dinâmica e configurável.
- Tempo de vida longo: Os serviços devem existir por tempo suficiente para que sejam descobertos e utilizados até se obter
confiança em seu comportamento.
- Granularidade: As funcionalidades de um sistema devem ser divididas em vários serviços.
- Distribuição: Os serviços devem ficar distribuídos, para aproveitar melhor os recursos computacionais.
Serviço Web
- serviço:
- componente de software;
- possui uma implementação bem definida de uma funcionalidade de negócios;
- possui uma interface de publicação e e descoberta para consumidores de serviços;
- podem ser agrupados para a criação de diferentes aplicações e processos de negócios utilizando-se de um modelo de comunicação baseado na troca de mensagens com baixo acoplamento[5].
- Serviços Web:
- do inglês web service;
- sistemas de software, ou programas de computador, que buscam a interoperabilidade através da interação entre um computador e uma rede;
- se comunicam por meio de mensagens baseadas no protocolo HTTP (HiperText Transfer Protocol);
|
SOAP
- SOAP (Simple Object Access Protocol) - é o protocolo de comunicação entre os serviços web e seus clientes.
- possui três elementos principais[7]:
- o protocolo de comunicação;
- a descrições dos serviços;
- e a descoberta de serviços.
- possui três elementos principais[7]:
- Utiliza a linguagem XML (Extensible Modeling Language);
- Usa a linguagem WSDL (Web Services Definition Language) para descrever formalmente os serviços web;
- Usa o XML Schema para especificar a estrutura e os tipos dos dados que estão contidos nas mensagens;
- Utiliza o UDDI (Universal Descripition, Discovery and Integration) como diretório de registro de serviços, acessados por meio de mensagens SOAP[8].
Referências
- ↑ ESTEFAN, J. A.; LASKEY, K.; MCCABE, F.; THORNTON, D. Reference Architecture for Services Oriented Architecture Version 1.0. OASIS. Disponível em: <http://docs.oasis-open.org/soa-rm/soa-ra/v1.0/soa-ra-pr-01.pdf>. Acessado em: 10 dez. 2008.
- ↑ BOOTH, D.; HAAS, H.; MCCABE, F.; NEWCOMER, E.; et al. Web Services Architecture. Disponível em: <http://www.w3.org/TR/ws-arch/> Acessado em Fevereiro/2009. 2004.
- ↑ STOJANOVIC, Z.; DAHANAYAKE, A. Service-oriented software system engineering: challenges and pratices. Idea Group Inc. Hershely, PA. 2005.
- ↑ SINGH, M. P. and HUHNS, M. N. Service-Oriented Computing: Semantics, Processes, Agents. John Wiley & Sons, New York, NY, EUA, 1a. Edição. 2005.
- ↑ O'BRIEN, L.; BASS, L.; MERSON, P. Quality Attributes and Service-Oriented Architectures. Technical Note - Software Engineering Institute, Carnegie Mellon University. 2005.
- ↑ PAUROBALLY, S.; JENNINGS, N.R. Developing Agent Web Service Agreements. Proceedings of the IEEE/WIC/ACM International Conference on Web Intelligence (WI'05). 2005.
- ↑ HAAS, H; e BROWN, A.; 2004. Web Services Glossary. Disponível em: <http://www.w3.org/TR/ws-gloss/>, Acessado em Dez/2008.
- ↑ WANG, H., HUANG, J. Z., QU, Y., e XIE, J. Web services: problems and future directions. Journal of Web Semantics, 1(3):241–320. 2005.