29.01.2014 Views

Arquitetura SOA

Arquitetura SOA

Arquitetura SOA

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

<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.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!