Please enable JavaScript.
Coggle requires JavaScript to display documents.
ARQUITETURA ORIENTADA A SERVIÇOS (SOA) (VANTAGENS DA UTILIZAÇÃO…
ARQUITETURA ORIENTADA A SERVIÇOS (SOA)
Modelo de arquitetura que é agnóstico a qualquer plataforma de tecnologia
A plataforma de tecnologia mais associada com a realização de SOA, são os Web Services.
Existem também outras
tecnologias, tais como: DCOM, CORBA, RPC, DDS, WCF, etc
CONCEITOS-CHAVES: O Modelo de Referência do SOA apresenta, a partir da perspectiva dinâmica de
serviço, três conceitos-chaves dessa arquitetura:
a visibilidade entre provedores de
serviços e consumidores;
a interação entre eles;
e os efeitos no mundo real da
interação com um serviço.
Existem outros conceitos fundamentais, esses são
conceitos relacionados à dinâmica dos serviços.
OBJETIVOS E BENEFÍCIOS: Thomas Erl afirma que a arquitetura orientada a serviços possui diversos objetivos estratégicos, tais como:
maior interoperabilidade intrínseca
No SOA, os serviços já são nativamente interoperáveis, reduzindo – então – a necessidade de integração
maior federação
Um ambiente federado é aquele em que recursos e aplicativos são unidos, entretanto, cada um mantém sua autonomia e autogestão
maior diversificação de fornecedores
Trata da capacidade que o cliente tem de analisar diversos fornecedores e serviços, invocando o melhor serviço ou aquele que seja mais condizente com sua demanda
VANTAGENS DA UTILIZAÇÃO
Interoperabilidade
Integração
Alinhamento com o negócio
Governança
Manutenibilidade
Padronização
Flexibilidade
Abstração
Produtividade
Riscos
Reutilização
DESVANTAGENS DA UTILIZAÇÃO
Complexidade
Robustez
Performance
Disponibilidade
Testabilidade
Governança
Design
Segurança
MODELOS ARQUITETÔNICOS
Modelo Triangular: fornece uma estrutura subjacente para criação, registro, descoberta e composição de serviços distribuídos.
Três papeis são identificados com base em seus comportamentos e responsabilidades sobre um serviço.
Registro de Serviços
Solicitantes de Serviço.
Prestadores de Serviço
Existem dois modelos bastante similares que implementam o modelo triangular com algumas particularidades
Modelo Publish-Find-Bind
Modelo Find-Bind-Execute,
alguns chamam de Find-Bind-Invoke.
Os papeis ou atores que compõem o Ciclo de Vida de Soluções SOA.
Arquiteto SOA
Responsável pela modelagem dos serviços, além da construção, instalação e manutenção.
Provedor
Fornece toda a infraestrutura de acesso, tipicamente via rede, e é capaz de responder as requisições.
Consultor de Negócios
Responsável pelo mapeamento dos processos de negócio da organização.
Consumidor
Efetua consultas diretamente no registro de
forma a obter a localização sobre o serviço e o seu provedor
Pode ser representado por uma pessoa, uma organização, uma máquina ou um componente de software.
A primeira etapa na implantação de uma solução orientada a serviço está relacionada a
modelagem do serviço
.
Responsáveis por identificar os recursos necessários para a construção, o recondicionamento ou reúso de serviços existentes e a integração da solução final.
Normalmente, usa-se as abordagens top-down e bottom-up no processo de modelagem
A modelagem
Top-Down
determina que a organização identifique, primeiramente, os processos que considerar
prioritários
.
A modelagem
bottom-up
determina que a organização identifique, primeiramente, os processos
menos prioritários
PRINCÍPIOS DE DESIGN, que norteiam toda a modelagem lógica de serviços e aplicações.
Contrato de Serviço Padronizado
(Service Contract)
Trata-se de um
documento que descreve o que o serviço faz
, dentre outras coisas. Cada contrato de serviços deve ser padronizado.
Baixo Acoplamento de Serviços (Service Loose Coupling)
Está relacionado com sua capacidade de ser
independente
de outros serviços para realizar sua tarefa.
Abstração de Serviços (Service Abstraction)
Manter a quantidade e os detalhes do conteúdo do contrato concisos e equilibrados e evitar o acesso
desnecessário a detalhes de serviço adicionais.
Criar uma interface de comunicação com o mundo exterior
Reusabilidade de Serviços
(Service Reusability)
Um serviço reutilizável é genérico o suficiente para
atender outros projetos. Possível utilizar um serviço em diferentes contextos e tecnologias. Esse princípio é uma
consequência do Princípio do Baixo Acoplamento
Autonomia de Serviços (Service Autonomy)
Visa fornecer serviços com independência de seu ambiente de execução. Traz alguns benefícios claros como, por exemplo, o
desempenho
, além de ser mais
seguro e confiável
.
Independência de Estados de Serviços
(Service Statelessness)
Ocorre quando um serviço não precisa reter nenhum dado do estado para que outro serviço processe a sua lógica. Por isso, recomenda-se a construção de serviços
stateless
(sem estado).
Visibilidade de Serviços
(Service Discoverability)
O objetivo principal é fazer com que o serviço se torne visível a todos, aumentando assim a
agilidade
, a
produtividade
e a
confiabilidade
dos consumidores
Composição de Serviços
(Service Composability)