SOA - Service Oriented Architecture

Transcrição

SOA - Service Oriented Architecture
SOA - Service Oriented
Architecture
Marcelo Canevello Ferreira
Índice






Arquitetura baseada em componentes
Introdução a SOA
Principais conceitos de SOA
SOA Framework
Abordagem de integração
Conclusões
Evolução da arquitetura
Serviço orientado a Componentes
Componentes
Evolução
Objetos distribuídos
N Camadas
3 Camadas
Cliente Servidor
Orientado a objetos
Monolítica
Estruturado
Arquitetura baseada em
componentes



A arquitetura baseada em componentes é uma
arquitetura onde as funcionalidades do todo são
divididas em funções menores, cada qual
encapsulada num componente.
Sistemas distribuídos são uma extensão da
arquitetura baseada em componentes e
referencia componentes que podem existir em
diferentes locais físicos
As principais vantagens de uma arquitetura
baseada em componentes são a facilidade de reusabilidade e reposição de componentes, que
tornam a manutenção mais fácil (principais
requisitos de negócio para a adoção de SOA).
Introdução a SOA


SOA é uma evolução da arquitetura baseada em
componentes, projeto baseado em interface
(orientação a objetos) e sistemas distribuídos
(DCOM, CORBA, J2EE e Intenet em geral)
SOA não significa Web Services (.NET, J2EE e
CORBA). Essas são apenas implementações que
incluem os principais aspectos da arquitetura com
abordagem orientada a serviços. Cada uma dessas
implementações estende o modelo básico de
referência do SOA
Introdução a SOA





Os seguintes conceitos são encontrados em
todas as implementações de SOA:
Serviços
Descritores de serviços
Propaganda e descoberta
Especificação de um modelo de dados
associado
Contrato de serviço
Principais conceitos de SOA

Serviço
O serviço, no ponto de vista da arquitetura SOA, é
uma função de um sistema computacional que é
disponibilizado para outro sistema na forma de
um serviço.
Um serviço deve funcionar de forma
independente do estado de outros serviços e
deve possuir interface bem definida. Como
exemplo podemos citar o Web Service.
Principais conceitos de SOA

Descritor de serviço
O descritor de um serviço consiste de um
conjunto de parâmetros, regras e políticas
que definem os termos de invocação do
serviço. Como exemplo podemos citar o WSDL.
Principais conceitos de SOA

Propaganda e descoberta
A propaganda é a divulgação de um serviço, podendo ser
efetuada através de Push e Pull.
Na metodologia Pull, potenciais consumidores de um serviço
requisitam ao provedor de serviço que envie a descrição de um
serviço. Ela pode ser implementada através de unicast,
multicast, broadcast e anycast.
Na metodologia Push, o provedor do serviço (ou seu agente)
envia a descrição do serviço a potencias consumidores.
A descoberta de um serviço ocorre quando um potencial
consumidor obtém informações sobre a existência de um
serviço.
Principais conceitos de SOA

Propaganda e descoberta
A propaganda e descoberta podem ser
implementadas através de:
 Repositório de registros
 Serviço de diretórios
Principais conceitos de SOA

Propaganda e descoberta

Repositório de registros (ISO/IEC 11179 Part 315 - OASIS
ebXML - OASIS Universal

Description and Discovery Interface (UDDI))
O repositório de registros é um componente onde
os usuários podem armazenar e gerenciar
artefatos. O que inclui artefatos que requerem
compartilhamento entre mais de um usuário (como
schemas XML e descritores de Web-services). O
repositório provê mecanismos intrínsecos de
armazenamento que são limitados ao registro, ou
seja, é possível auditar os artefatos no repositório e
rastrear todos os eventos.
Principais conceitos de SOA

Propaganda e descoberta
 Serviço de diretórios
Um serviço de diretórios é uma interface que provê
informações sobre as ligações com os artefatos.
Aqueles que possuem ou controlam artefatos podem
criar uma entrada no diretório a fim de referenciar o
artefato e explicar como se ligar a ele. Já os
consumidores, podem recuperar informações para se
ligarem aos artefatos. A principal deficiência do
serviço de diretórios é a falta de controle ou
notificação sobre alterações num artefato, não
havendo comunicação aos usuários sobre os eventos.
Principais conceitos de SOA

Especificação de um modelo de dados
associado (W3C’s WSDL - )
Quando ocorre a invocação do serviço, certos
parâmetros são necessários para ajudar o
serviço a executar o que foi pedido, e o serviço
pode também passar parâmetros de volta ao
consumidor do serviço.
Para entender qualquer serialização de
parâmetros, é necessário que um artefato
associe os modelos de dados para os serviços.
SOA Framework
Figura retirada do WHITEPAPER: Service Oriented Architecture de Duane Nickull – Adobe Systems, Inc.
Abordagem de Integração
Figura retirada de Evaluating a Service-Oriented Architecture, Phil Bianco, Rick Kotermanski, Paulo Merson, Software
Engineering Institute
Referências



Service Oriented Architecture, Duane
Nickull – Adobe Systems,Inc.
JWSA - Service-Oriented Architecture
Evaluating a Service-Oriented Architecture,
Phil Bianco, Rick Kotermanski, Paulo
Merson, Software Engineering Institute