Service Oriented Architecture

25
Arquitetura SOA Service Oriented Architecture Deyvisson Oliveira Flávio Ota Renan Wiezel Battaglin Rodrigo Ferreira Bagni

Transcript of Service Oriented Architecture

Page 1: Service Oriented Architecture

Arquitetura SOA

Service Oriented Architecture

Deyvisson Oliveira Flávio Ota Renan Wiezel Battaglin Rodrigo Ferreira Bagni

Page 2: Service Oriented Architecture

Agenda Introdução Interesse Repercussão no Mercado Arquitetura Problemas e Soluções Composição, Interação e Exemplos Oferecendo e buscando o Serviço SOA e Design Patterns SOA e Baixo Acoplamento Vantagens X Desvantagens

Page 3: Service Oriented Architecture

Introdução Consórcio de gigantes: Microsoft, IBM, BEA Systems,

Intel... Enfoque da IBM: = Hardware

(flexibilidade de infra-estrutura) e Software (SOA) SOA (Service Oriented Architecture) Enfoque nos Serviços Tecnologia mais próxima de regras e processos de

negócio Investimento em padrões abertos Toda aplicação ou recurso são tratados como serviços

Page 4: Service Oriented Architecture

Interesse

Page 5: Service Oriented Architecture

Repercussão no MercadoSOAs to have 'profound impact'IDC looks forward to challenges and opportunitiesRobert Jaques, vnunet.com 03 Apr 2006http://www.vnunet.com/vnunet/news/2153310/soas-profound-impact?vnu_lt=vnu_art_related_articles

IT directors dismiss SOA as marketing hypeTwo-thirds write off Service Oriented Architecture as 'meaningless puff'Matt Chapman, vnunet.com 04 Apr 2006http://www.whatpc.co.uk/vnunet/news/2153394/directors-believe-soa-hype

IBM's SOA strategy under fire from expertsBig Blue's plans dismissed as 'disjointed' and lacking in third-party integrationTom Sanders in California, vnunet.com 24 Mar 2006http://www.vnunet.com/vnunet/news/2152664/analysts-puzzled-ibm-soa

Page 6: Service Oriented Architecture

Repercussão no MercadoThe Sun is Shining over SOA MarketSoftpedia, 20th of June 2005, 10:29 GMThttp://news.softpedia.com/news/The-Sun-is-Shining-over-SOA-Market-3402.shtml

Planejamento em etapas é chave para sucesso de projetos SOA, diz GartnerPor Camila Fusco, do COMPUTERWORLD18 de abril de 2006 - 11h18http://computerworld.uol.com.br/gestao/2006/04/18/idgnoticia.2006-04-18.6974930760/IDGNoticia_view

Page 7: Service Oriented Architecture

Arquitetura

Evolução da Arquitetura Evolução natural Une o melhor do paradigma de orientação a objetos e de componentização

Page 8: Service Oriented Architecture

Problemas

Principais problemas a serem enfrentados: Heterogeinidade de sistemas Evoluções constantes Integração com sistemas legados Flexibilidade Escalabilidade Dimunição de custos

Page 9: Service Oriented Architecture

Soluções

Resolvendo os problemas: Reusabilidade Baixo acoplamento Alta coesão Padronização

Page 10: Service Oriented Architecture

Exemplos

Exemplos do mundo real:

CD Player Um CD diferentes players

Validador de cartão de crédtido Um validador para vários cartões

Page 11: Service Oriented Architecture

Composição

Elementos da arquitetura Funcionais Serviços de qualidade

Page 12: Service Oriented Architecture

Interação

Entidades que compõem a arquitetura

Page 13: Service Oriented Architecture

Oferecendo o ServiçoPasso a Passo

Serviço: entidade de software que é disponibilizada para ser usada por um consumidor.

Através da troca de mensagens o Cliente deseja utilizar o serviço disponibilizado pelo Servidor.

Questão: Como saber quais os serviços disponibilizados?

Page 14: Service Oriented Architecture

Oferecendo o ServiçoPasso a Passo

Registry: repositório que armazena dados dos serviços disponíveis.

O Servidor informa ao Registry quais são os serviços diponíveis.

Cada record do Registry armazena: Local do servidor que provê o serviço; A interface que o servidor utiliza para receber a requisição para

o serviço (Contract); A descrição do serviço.

Page 15: Service Oriented Architecture

Em busca do ServiçoPasso a Passo

Buscar o Serviço no Registry usando como critério o descrição do mesmo.

Busca também conhecida por Dynamic Discovery.

O repositório retorna uma lista com com os serviços encontrados que satisfazem os critérios de busca.

Cliente selecionará o serviço que melhor satisfaz a sua necessidade.

Com o local e a interface em mãos o Cliente solicita o Serviço desejado

Page 16: Service Oriented Architecture

Em busca do ServiçoEsquema gráfico

ClienteCliente

RegistryRegistry

ServidorServidor

Dynamic

Discovery

Contract

Serviços Disponíveis

Requisição de Serviço

Resultado do Serviço

Page 17: Service Oriented Architecture

Estrutura de RegistryObservação

O Registry pode estar distribuído ou até replicado em várias máquinas.

Obtemos maior disponibilidade do serviço de Registry e maior certeza na execução de cada Dynamic Discovery requisitado.

Page 18: Service Oriented Architecture

SOA e Baixo Acoplamento

Baixo acoplamento advindo do Registry

As interfaces disponíveis no Registry devem ser simples, não ambíguas, com semântica e vocabulário comuns a Clientes e Servidores.

Page 19: Service Oriented Architecture

SOA e Baixo Acoplamento

Baixo acoplamento advindo da comunicação. Através da interface definida pelo Contract o Cliente

poderá requisitar o serviço sem saber como ele é implementado.

Troca de mensagens descritivas e não instrutivas.

Para atingir as metas acima contamos com vocabulário e estrutura da comunicação propositadamente limitado.

Page 20: Service Oriented Architecture

SOA e Design Patterns

Inúmeros Design Patterns podem ser identificados em SOA: Proxy Adapter Microkernel etc.

Mas comentaremos apenas dois que se destacam por caracterizarem a própria definição da Arquitetura.

Page 21: Service Oriented Architecture

SOA ServiceLocator

Descreve a solução de design a ser usada para implementar a busca em repositórios (Registries) de componetes distribuídos.

Provê um ponto centralizado de controle

Encapsular as especificidades nas funcionalidades de busca de cada fabricante.

Age como um cache que elimina buscas redundantes.

Page 22: Service Oriented Architecture

SOA Broker

Outra maneira de interpretar a entidade de Registry.

Consumidor e o Servidor interagem com o Service Broker (Registry)

Page 23: Service Oriented Architecture

SOA Broker

Page 24: Service Oriented Architecture

SOA Broker

Pode ser visto como um broker dinâmico, já que o Service Provider pode estar atualizando o repositório constantemente.

O uso do Broker passa a ser um dos pilares do baixo acoplamento.

Page 25: Service Oriented Architecture

Vantagens Desvantagens

Recursos antigos: não é necessário se desfazer de sistemas legados ou parte deles.

Aplicações isoladas, não distribuídas que não requerem integração com outras aplicações.

Baixo acoplamento: a principal integração que ocorre em SOA é com relação à parte de especificação dos

serviços, permitindo liberdade com relação à sua implementação.

Aplicações que são desenvolvidas com o intuito de durarem pouco tempo, SOA visa longevidade.

Escalabilidade: a arquitetura oferece facilidade de integração de novas funcionalidades e permite respostas rápidas a inovações requeridas pelos

usuários.

Aplicações homogêneas, por exemplo, desenvolvidas sobre uma única plataforma.

Reuso: os serviços disponíveis podem ser combinados para fornecer novos serviços aos clientes sem a

necessidade de mais esforço em desenvolvimento.

Aplicações que requerem altas taxas de transmissão de dados.