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