Mudanças entre as edições de "Serviços e Microsserviços"

De Aulas
Linha 22: Linha 22:
 
* 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.
 
* 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.
 
* 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 de uma arquitetura SOA<ref>SINGH, M. P. and HUHNS, M. N. Service-Oriented Computing: Semantics, Processes, Agents. John Wiley & Sons, New York, NY, EUA, 1a. Edição. 2005.</ref>:
+
 
** '''Baixo acoplamento''': Os serviços da arquitetura não devem ter uma dependência forte entre si.
+
== Requisitos ==
** '''Independência de implementação''': Não se deve depender de características específicas de linguagens de programação ou
+
 
 +
Os requisitos de uma arquitetura SOA, segundo Singh e Huhns<ref>SINGH, M. P. and HUHNS, M. N. Service-Oriented Computing: Semantics, Processes, Agents. John Wiley & Sons, New York, NY, EUA, 1a. Edição. 2005.</ref> 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.
 
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.
+
* '''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
+
* '''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.
 
confiança em seu comportamento.
** '''Granularidade''': As funcionalidades de um sistema devem ser divididas em vários serviços.
+
* '''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.
+
* '''Distribuição''': Os serviços devem ficar distribuídos, para aproveitar melhor os recursos computacionais.
 +
 
 +
= Web Services =
  
 
= Referências =
 
= Referências =

Edição das 10h06min 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.

Web Services

Referências

  1. 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.
  2. 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.
  3. STOJANOVIC, Z.; DAHANAYAKE, A. Service-oriented software system engineering: challenges and pratices. Idea Group Inc. Hershely, PA. 2005.
  4. SINGH, M. P. and HUHNS, M. N. Service-Oriented Computing: Semantics, Processes, Agents. John Wiley & Sons, New York, NY, EUA, 1a. Edição. 2005.