Arquitetura SOA
Arquitetura SOA
Arquitetura SOA
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
<strong>Arquitetura</strong> Orientada<br />
a Serviços (<strong>SOA</strong>)<br />
Copyright © e-Core LTDA, 2010. Todos os direitos reservados.
Visão Geral e-Coree<br />
Estabelecida em 1999<br />
<br />
Escritórios rios no Brasil e EUA<br />
<br />
Aproximadamente 100 profissionais<br />
<br />
Atua em prestação de serviços offshore desde<br />
2004
Roteiro<br />
• O que é <strong>SOA</strong><br />
• Conceitos de <strong>Arquitetura</strong><br />
• Elementos da <strong>Arquitetura</strong> <strong>SOA</strong><br />
• Orientação a Serviços<br />
• Web Services e <strong>SOA</strong><br />
• Gerações e evolução de <strong>SOA</strong><br />
• Comparação OO vs SO<br />
• O que não é <strong>SOA</strong><br />
• Vantagens de <strong>SOA</strong><br />
• Conclusão<br />
3<br />
Copyright © e-Core LTDA, 2010. Todos os direitos reservados.
O que é <strong>SOA</strong>?<br />
<strong>SOA</strong> = solução para tudo?<br />
Nova moda, nova tecnologia<br />
Reduzir custos, diminuir tempo<br />
de desenvolvimento<br />
4<br />
Copyright © e-Core LTDA, 2010. Todos os direitos reservados.
Modelo Tradicional de Desenvolvimento<br />
Vida antes de <strong>SOA</strong><br />
1. Análise de Negócio<br />
2. Envio de requerimentos<br />
para a área de TI<br />
3. Análise de TI,<br />
arquitetura<br />
4. Desenvolvimento da<br />
aplicação<br />
5<br />
Copyright © e-Core LTDA, 2010. Todos os direitos reservados.
Modelo tradicional de Desenvolvimento<br />
Problemas<br />
Excesso de lógica de<br />
negócio duplicada<br />
Problemas na integração<br />
6<br />
Copyright © e-Core LTDA, 2010. Todos os direitos reservados.
Modelo tradicional de Desenvolvimento<br />
Custo desenvolvendo Silos<br />
(ROI)<br />
Diversidade de tecnologias<br />
7<br />
Copyright © e-Core LTDA, 2010. Todos os direitos reservados.
Modelo <strong>SOA</strong><br />
Novo modelo:<br />
Reuso de lógica existente<br />
* Inventário de Serviços<br />
Criar o restante da lógica<br />
8<br />
Copyright © e-Core LTDA, 2010. Todos os direitos reservados.
Conceitos de <strong>Arquitetura</strong><br />
1. Característica de desenho<br />
2. Princípios de desenho<br />
3. Paradigma de desenho<br />
4. Padrão de desenho<br />
5. Linguagem de padrões<br />
de desenho<br />
6. Standard de desenho<br />
7. Melhores práticas<br />
8. Framework<br />
9<br />
Copyright © e-Core LTDA, 2010. Todos os direitos reservados.
<strong>Arquitetura</strong> <strong>SOA</strong><br />
<strong>SOA</strong><br />
Combinação de<br />
Tecnologias<br />
Produtos<br />
APIs<br />
Plataformas<br />
Extensões<br />
10<br />
Copyright © e-Core LTDA, 2010. Todos os direitos reservados.
<strong>Arquitetura</strong> <strong>SOA</strong> (IBM)<br />
11<br />
Copyright © e-Core LTDA, 2010. Todos os direitos reservados.
O que é um serviço?<br />
Orientação a Serviços<br />
Uma pessoa pode proporcionar um serviço<br />
Um grupo de pessoas também pode proporcionar<br />
um serviço<br />
12<br />
Copyright © e-Core LTDA, 2010. Todos os direitos reservados.
Orientação a Serviços<br />
Um serviço em software<br />
13<br />
Copyright © e-Core LTDA, 2010. Todos os direitos reservados.
14<br />
Orientação a Serviços<br />
Paradigma de orientação a serviços contem os principios:<br />
- Contrato standard de serviço<br />
- Baixo Acoplamento<br />
- Abstração do serviço<br />
- Reuso<br />
- Autonomia<br />
- Falta ou delegação de estado (statelessness)<br />
- Facilidade de descoberta<br />
- Composição<br />
- Interoperabilidade<br />
Copyright © e-Core LTDA, 2010. Todos os direitos reservados.
Orientação a<br />
Serviços<br />
15<br />
Copyright © e-Core LTDA, 2010. Todos os direitos reservados.
Contrato de Serviço Standard<br />
Forma em que o serviço expressa a funcionalidade:<br />
- Natureza da informação de entrada e saida<br />
- Quantidade de conteúdo<br />
- Modelos de dados<br />
- Políticas<br />
16<br />
Copyright © e-Core LTDA, 2010. Todos os direitos reservados.
Baixo Acoplamento<br />
Acoplamento = Relacionamento entre 2 coisas<br />
- Vários tipos de acoplamento<br />
1) Tecnologia - Contrato<br />
2) Lógica – Contrato<br />
3) Funcionalidade – Contrato (Processo pai)<br />
- Vários níveis de acoplamento<br />
17<br />
Copyright © e-Core LTDA, 2010. Todos os direitos reservados.
Baixo<br />
Acoplamento<br />
18<br />
Copyright © e-Core LTDA, 2010. Todos os direitos reservados.
Abstração<br />
Esconder os detalhes do serviço<br />
- Só informação essencial<br />
- Limitar com o contrato<br />
- Esconder tecnologia<br />
- Esconder lógica<br />
+ Contrato é uma parte<br />
importante<br />
19<br />
Copyright © e-Core LTDA, 2010. Todos os direitos reservados.
Reuso<br />
- Serviços Agnósticos<br />
(sem conhecimento)<br />
ao negócio<br />
- Serviços Utilitários<br />
- Granularidade<br />
+ Perder controle<br />
+ Limitar opções<br />
20<br />
Copyright © e-Core LTDA, 2010. Todos os direitos reservados.
Autonomia<br />
- Nível de controle<br />
no ambiente de execução<br />
1) Confiabilidade<br />
2) Previsível<br />
Especialmente quando<br />
usado em composições<br />
21<br />
Copyright © e-Core LTDA, 2010. Todos os direitos reservados.
Falta ou delegação de estado<br />
(Statelessness)<br />
Gerenciamento de estado<br />
- Incrementa<br />
tempo de processamento<br />
- Limita escalabilidade<br />
- Problemas de<br />
Concorrência<br />
- Limita composição<br />
+ Delegar gerenciamento de estado (Sessão,<br />
Contexto, negócio)<br />
22<br />
Copyright © e-Core LTDA, 2010. Todos os direitos reservados.
Facilidade de Descoberta<br />
- Informação de recursos<br />
+Propósito<br />
+Capacidade<br />
+Limitações<br />
Evitar redundância<br />
Facilitar composição<br />
23<br />
Copyright © e-Core LTDA, 2010. Todos os direitos reservados.
Composição<br />
Dividir um problema<br />
em partes para facilitar<br />
a solução<br />
Requerimentos:<br />
-Ambiente de execução<br />
eficiente<br />
-Contrato flexível<br />
24<br />
Copyright © e-Core LTDA, 2010. Todos os direitos reservados.
Interoperabilidade<br />
Facilidade de comunicação e funcionamento com<br />
outros serviços.<br />
Todos os principios contribuem para a<br />
interoperabilidade.<br />
25<br />
Copyright © e-Core LTDA, 2010. Todos os direitos reservados.
Serviços como Web Services<br />
Opções para<br />
Representar um<br />
Serviço no mundo<br />
Real de TI<br />
SCA, WebServices<br />
26<br />
Copyright © e-Core LTDA, 2010. Todos os direitos reservados.
1ª Geração <strong>SOA</strong> (Web Services)<br />
<strong>SOA</strong>P, WSDL, UDDI<br />
Vantagens: HTTP, XML<br />
27<br />
Copyright © e-Core LTDA, 2010. Todos os direitos reservados.
XML<br />
-Indiferente à tecnologia<br />
usada.<br />
-Facilidade de descrever<br />
novos dados<br />
-Impulso das maiores<br />
Empresas<br />
(IBM, Oracle, Sun, etc)<br />
28<br />
Copyright © e-Core LTDA, 2010. Todos os direitos reservados.
Contrato do Serviço – WSDL<br />
(Web Services Description Language)<br />
- Capacidades do serviço<br />
- Natureza da informação<br />
- Tipos de dados<br />
- Granularidade<br />
+Evitar transformações<br />
+Modelos duplicados<br />
29<br />
Abstração do<br />
serviço<br />
Copyright © e-Core LTDA, 2010. Todos os direitos reservados.
Serviço como Web Service<br />
30<br />
Copyright © e-Core LTDA, 2010. Todos os direitos reservados.
WSDL (Contrato)<br />
UDDI (Facilidade de Descoberta)<br />
31<br />
Copyright © e-Core LTDA, 2010. Todos os direitos reservados.
<strong>SOA</strong>P (Mensagens WS-I Basic Profile)<br />
32<br />
Copyright © e-Core LTDA, 2010. Todos os direitos reservados.
2ª Geração <strong>SOA</strong> (WS-)<br />
33<br />
Copyright © e-Core LTDA, 2010. Todos os direitos reservados.
<strong>SOA</strong> (WS-)<br />
34<br />
Copyright © e-Core LTDA, 2010. Todos os direitos reservados.
<strong>Arquitetura</strong> <strong>SOA</strong> (IBM)<br />
35<br />
Copyright © e-Core LTDA, 2010. Todos os direitos reservados.
Problema (Communicação)<br />
Comunicação Ponto a Ponto<br />
36<br />
Padrão de desenho: Enterprise Service Bus (ESB)<br />
Copyright © e-Core LTDA, 2010. Todos os direitos reservados.
Broker:<br />
- Traduzir tipos de dados<br />
- Interpretar mensagens<br />
Intermediate Routing:<br />
- Evitar ponto a ponto<br />
- Direcionar mensagens<br />
Asynchronous Queuing:<br />
- Garantia de mensagens<br />
- Escalabilidade<br />
Enterprise Server Bus<br />
37<br />
Copyright © e-Core LTDA, 2010. Todos os direitos reservados.
<strong>Arquitetura</strong> <strong>SOA</strong> (IBM)<br />
38<br />
Copyright © e-Core LTDA, 2010. Todos os direitos reservados.
Conceitos de <strong>Arquitetura</strong><br />
para o negócio<br />
39<br />
Copyright © e-Core LTDA, 2010. Todos os direitos reservados.
Camadas de serviços<br />
Varios tipos de serviço dependendo da<br />
granularidade:<br />
- Tarefas de negócio (autorização, revisão, etc)<br />
- Serviço de Entidade (comprador, fatura, artigo,<br />
etc)<br />
- Serviços de utilidade (email, transformação de<br />
dados)<br />
40<br />
Copyright © e-Core LTDA, 2010. Todos os direitos reservados.
Tipos de Serviços<br />
41<br />
Copyright © e-Core LTDA, 2010. Todos os direitos reservados.
WS-BPEL,BPEL4WS (Composição)<br />
Fomentar o reuso<br />
de serviços autônomos<br />
42<br />
Copyright © e-Core LTDA, 2010. Todos os direitos reservados.
BPEL (Oracle)<br />
43<br />
Copyright © e-Core LTDA, 2010. Todos os direitos reservados.
Outras especificações (extensões):<br />
Transações:<br />
WS-Coordination, WS-Transaction,<br />
WS-AtomicTransaction, WS-BusinessActivity<br />
Política:<br />
WS-Policy, WS-PolicyAssertions<br />
Segurança:<br />
WS-Security, WS-Federation, WS-SecureConversation<br />
Extras:<br />
WS-CDL (Choreography Description Language)<br />
44<br />
Copyright © e-Core LTDA, 2010. Todos os direitos reservados.
Desenvolvendo <strong>SOA</strong><br />
-Colaboração importante negócio e TI<br />
-Metodologia ágil não é tão recomendada<br />
45<br />
Copyright © e-Core LTDA, 2010. Todos os direitos reservados.
- Processo cíclico<br />
46<br />
Metodologia <strong>SOA</strong><br />
1) Definir processos do negócio<br />
2) Examinar soluções existentes<br />
(bottom-up)<br />
1) Criar inventário de serviços<br />
2) Implementar serviços de<br />
acordo com a necessidade<br />
(top-down)<br />
+ Evitar criar <strong>SOA</strong> a partir de zero<br />
+ Sempre alinhar TI com o negócio<br />
Copyright © e-Core LTDA, 2010. Todos os direitos reservados.
<strong>Arquitetura</strong> <strong>SOA</strong> (IBM)<br />
47<br />
Copyright © e-Core LTDA, 2010. Todos os direitos reservados.
<strong>SOA</strong> Governance<br />
48<br />
Copyright © e-Core LTDA, 2010. Todos os direitos reservados.
Comparação <strong>SOA</strong>D vs OOAD<br />
-Orientação a objetos é aplicado em segmentos da empresa. Para<br />
integrar aplicativos em OO, EAI era usado. (Contexto)<br />
-OO, EAI são influencias diretas de <strong>SOA</strong>: Reuso, Composição, etc.<br />
-<strong>SOA</strong> visa incrementar os benefícios de negócio (agilidade de<br />
processos), diversificar as opções de provedores e tecnologias,<br />
facilitar a integração.<br />
-Classes e objetos: Atributos e métodos. <strong>SOA</strong> tenta não utilizar<br />
estados (statelessness)<br />
-Mensagens. OOAD normalmente RPC ou similar. <strong>SOA</strong>D usa<br />
mensagens asíncronos e síncronos.<br />
-Maior parte dos serviços em <strong>SOA</strong> têm implementações com OO.<br />
49<br />
Copyright © e-Core LTDA, 2010. Todos os direitos reservados.
O que não é <strong>SOA</strong><br />
-Conjunto de Web Services oferecendo acesso a código existente<br />
(Lembrar principios de desenho)<br />
-Solucão para qualquer tipo de problema. Tem que avaliar<br />
questões de negócio, benefícios, etc.<br />
-Conjunto de aplicações Silos integradas. (EAI)<br />
-<strong>SOA</strong> não é uma tecnologia<br />
totalmente nova:<br />
+ OOD<br />
+ AOD<br />
+ EAI<br />
50<br />
Copyright © e-Core LTDA, 2010. Todos os direitos reservados.
Vantagens de <strong>SOA</strong><br />
-Interoperabilidade: Facilidade de usar várias tecnologias e<br />
provedores<br />
-Facilitar o reuso: Inventário de serviços<br />
-Alinhar TI com negócio<br />
-Aumento de retorno do investimento (não nas primeiras<br />
iterações, e sim com inventario de serviços)<br />
-Agilidade na organização<br />
-Reduzir os custos de TI<br />
-Multicore, Cloud computing<br />
51<br />
Copyright © e-Core LTDA, 2010. Todos os direitos reservados.
Vantagens de <strong>SOA</strong><br />
52<br />
Copyright © e-Core LTDA, 2010. Todos os direitos reservados.
Conclusão<br />
<strong>SOA</strong> é um modelo de arquitetura que visa melhorar<br />
a eficiência, agilidade e produtividade das<br />
empresas ou negócios.<br />
Objetivos de negócio alinhados ao paradigma de<br />
desenvolvimento orientado a serviços.<br />
Combinação de tecnologias, produtos, provedores,<br />
infraestruturas de suporte, extensões.<br />
53<br />
Copyright © e-Core LTDA, 2010. Todos os direitos reservados.
Referências<br />
Web<br />
-www.whatissoa.com<br />
-www.soaprinciples.com<br />
-www.soapatterns.org<br />
-www.soaspecs.com<br />
Thomas Erl.<br />
-www.ibm.com/developerworks/library/ar-soapit/<br />
-www-01.ibm.com/software/solutions/soa/?pgel=ibmhzn&cm_re=masthead-_-<br />
business-_-soa<br />
-www.osoa.org (SCA, SDO)<br />
REST, Restlet, JSON<br />
54<br />
Copyright © e-Core LTDA, 2010. Todos os direitos reservados.