SOA e reúso te ativos de software na prática. Essa apresentação aborda aspectos estratégicos, educativos e técnicos sobre SOA (Service Oriented Architecture), reúso de ativos de software, arquitetura e componentização.
1. SOA Next Steps e
Roadmap de Adoção
Kleber Bacili
kleber.bacili@sensedia.com
confide público | www.sensedia.com/br 1
2. Agenda
• Benefícios e Desafios
• Principais características
• Funcionamento da arquitetura SOA
• Exemplos (Básicos e Avançados)
• Web Services
• Infra-estrutura SOA
• Roadmap de Adoção
público | www.sensedia.com/br
3. Motivação
Agilidade
Produtividade
Fazer mais com menos!
público | www.sensedia.com/br
4. Arquitetura Tradicional
• Mundo de conexões Ponto-a-Ponto
• Muito difícil de entender, manter e evoluir
público | www.sensedia.com/br
5. SOA NÃO é:
• SOA não é uma tecnologia
• SOA não é um produto ou plataforma
• Nenhum fornecedor pode vender SOA para você
• SOA não é uma revolução ou “bala de prata”
• SOA ≠ WebServices ≠ XML ≠ BPM
• SOA não é “Puro Marketing”
público | www.sensedia.com/br
6. Não há como evitar SOA:
“Because SOA Comes From So Many
Places, SOA Will Happen to Everyone”
Frank Kenney, Gartner, abr 2007
“Service Orient or Be Doomed”
Jason Bloomberg, Ronald Schmelzer,
mar 2006
público | www.sensedia.com/br
7. Arquitetura Orientada a Serviços
SOA é uma abordagem
arquitetural corporativa que
permite a criação de serviços
Service-Oriented
de negócio interoperáveis que
Architecture
podem facilmente ser
reutilizados e compartilhados
entre aplicações e empresas.
público | www.sensedia.com/br
8. Dimensões Envolvidas
• Metodologia / Processos / Governança
“Em 2010, a carência de planejamento relacionado
a governança será a razão mais comum dos
fracassos em SOA”
• Capacitação e estruturação organizacional
• Arquitetura Tecnológica
Padrões, Frameworks e Boas Práticas
• Ferramentas em Design-time e Run-time
Fator Crítico de TI: Reutilização
público | www.sensedia.com/br
9. O que o Mercado anda dizendo...
“Em 2008, mais de 60% das
empresas utilizarão SOA como
O mercado SOA na América Latina
princípio básico para a criação
deve crescer de US$ 71
de aplicações e processos de
milhões para US$1,6 bilhão de
missão crítica”
2006 para 2011 o que
representa um crescimento
acumulado de 86% ao ano
“SOA é a nova fundação para a
“Companies with even basic entrega mais rápida e
governance in place see the eficiente de valor ao negócio
benefits through high levels of através de TI”
service reuse and low levels of
service duplication”
público | www.sensedia.com/br
10.
11. Conceitos-chave: Baixo Acoplamento
Capacidade dos ativos de TI trabalharem
integrados embora existam independentemente
• Alto Acoplamento • Baixo Acoplamento
público | www.sensedia.com/br
12. Conceitos-chave: Abstração
Permite que agentes humanos interajam com
sistemas complexos de uma forma simples:
público | www.sensedia.com/br
13. Conceitos-chave: Asset
Elemento de software que encapsula conhecimento
e que pode ser reusado: Quais são os seus?
público | www.sensedia.com/br
14. Exemplo de Ativos
Componentes para domínios específicos de
Serviços de
negócio (representados através de modelos ou
Negócio
componentes/serviços de software)
COTs (Commercial off-the-shelf), módulos de
Módulos e APIs
produtos com API’s, serviços disponíveis de
de produtos
forma “on-demand”
Patterns de arquitetura, de design, padrões de
Padrões
interface, codificação etc
Biblioteca de funcionalidades e componentes
Componentes
técnicos que servem de base para novos
Técnicos /
desenvolvimentos
Framework
Modelos e documentos gerados no ciclo de vida
Templates
de desenvolvimento
Classes, funções e procedimentos ou, no pior
Código
caso, reuso copy&paste
público | www.sensedia.com/br
15. Benefícios e
Desafios
confide público | www.sensedia.com/br 15
16. Benefícios Esperados de SOA
• Time-to-Market / Agilidade
• Redução de Custo
• Facilidade / Flexibilidade de Manutenção
• Melhoria da Qualidade / Maturidade
• Otimização dos processos
• Transformação dos negócios / Oportunidades
de Receita
público | www.sensedia.com/br
18. Principais Desafios
Organização
e Pessoas
Tecnologia e
Papéis e Responsabilidades
Ferramentas
Mudança de Cultura,
Treinamentos
Arquiteturas Padronizadas
Promoção, Acompanhamento
Middleware de Integração
e Enforcement
Padrões de Classificação
e Documentação
Processos e Repositório de Ativos
Políticas Reutilizáveis
Ciclo de Vida dos Ativos
Metodologia de Desenvolvimento Revisitada
Processos de Manutenção
público | www.sensedia.com/br
19. Funcionamento
Básico SOA
confide público | www.sensedia.com/br 19
20. Dinâmica de Funcionamento
Diretório
de Serviços
Query Service
2 Register Service
1
Service Contract
3
and Address
Consumidor Bind Service
4 Provedor
do Serviço do Serviço
Service Response
5
Ex.: Submarino
Ex.: Correios
Loja Virtual
Tracking de Pacotes
público | www.sensedia.com/br
21. Dinâmica de Funcionamento
É muito mais comum
encontrar integração com
ligação ponto-a-ponto
usando Web Services
Consumidor Bind Service
4 Provedor
do Serviço do Serviço
Service Response
5
Ex.: Submarino
Ex.: Correios
Loja Virtual
Tracking de Pacotes
público | www.sensedia.com/br
22. Mais alguns exemplos de Serviços
• Serviços Básicos:
Stock Quotes
Previsão do Tempo
• Serviços com Valor Estratégico para o Negócio
Status de Pedido
Consulta de Extrato
Consulta de índice de Risco
público | www.sensedia.com/br
24. Como SOA vem
Transformando
Negócios
confide público | www.sensedia.com/br 24
25. Alguns (bons) Exemplos
• Algumas empresas já vêm destacando-se e
reinventando sua forma de realizar negócios
• Alguns destaques globais:
Amazon.com
Strike Iron
Massa crítica:
ComponentSource
–
Widgetbox
–
público | www.sensedia.com/br
31. E quanto a todos nós?
• Reflexões:
Isso se aplica a mim?
Comprador de
–
soluções de software
Fornecedores de
–
serviços
Vendors de produtos/
–
pacotes
Software as a Service (SaaS) ??
público | www.sensedia.com/br
32. Quando NÃO usar SOA
• Em ambientes estáveis, homogêneos e quando
a empresa não oferece serviços de software
para parceiros, clientes ou fornecedores
• Como SOA é baseado em troca de mensagens
e baixo acoplamento, para os casos que
necessitem de desempenho real-time, SOA
pode não ser a melhor abordagem
público | www.sensedia.com/br
34. Identificação de Serviços
• Top-Down
Identificando as necessidades de negócio e
modelando essas necessidades em serviços de
alto valor agregado
• Bottom-Up
Disponibilizando um conjunto de
funcionalidades já disponíveis nos sistemas
existentes (legados)
• Recomendação (“meet in the middle”):
Primeiro a análise Top-Down e depois a Botom-
Up para preservar o alinhamento com o negócio
que é o principal objetivo de uma arquitetura
orientada a serviços
público | www.sensedia.com/br
35. Trade-off da Granularidade
Coarse-Grained Fine-Grained
☺ Melhor pois o número de Requer mais troca de
Performance
troca de mensagens é menor mensagens
☺ Simplificado pois o controle Testar é mais desafiador
Testabilidade
do caminho de execução é pois o fluxo é desconhecido
limitado
Menos flexível ☺ Permite composição e
Flexibilidade
orquestração
É mais difícil surgirem ☺ Grãos menores são mais
Reusabilidade
oportunidades de reúso para facilmente reutilizados
os grãos maiores
☺ Melhor pois haverá um O número de serviços
Gerenciamento
número menor de serviços pode explodir
☺ Representa melhor um Pode ser muito detalhado
Valor para o negócio
conceito de negócio
Tudo em função de decisões de design
público | www.sensedia.com/br
36. Implementando SOA
com Web Services
confide público | www.sensedia.com/br 36
37. Web Services
• Baseado em padrões abertos de grande
aceitação no mercado
• Aplicações podem ser desenvolvidas em
qualquer linguagem que possua suporte a
WebServices de forma bastante simples**
• Forma padronizada para se descrever as
interfaces dos serviços
• Infra-estrutura de transporte e comunicação já
existente – a Web (baixos custos de adoção)
• Ferramentas dão suporte e cuidam de quase
todos os detalhes
público | www.sensedia.com/br
38. Dinâmica de Funcionamento
Registro de WSDL Service Endpoint
Serviços UDDI
SOAP Message
Diretório
de Serviços
Publish WSDL
1
Query Service
2
(UDDI query API) Implementação
Services Info
3 do Serviço JEE
(WSDL file)
Consumidor Invoque
4 Provedor
do Serviço do Serviço
Response
5
Consumidor do
Serviço .Net
público | www.sensedia.com/br
39. WS* Um oceano de especificações
Business
Management Presentation
Process
Interoperability
Metadata Security Transaction Resource
Reliability
Messaging and Transport
XML
público | www.sensedia.com/br
40.
41. Interoperabilidade
• Composta por cerca de 130
empresas (70% vendors;
30% end-user
organizations)
• Objetivos:
Integrar especificações
Promover implementações
www.ws-i.org
consistentes
Oferecer guias, boas
Main Deliverables:
• Basic Profile
práticas, ferramentas e
• Basic Security Profile
exemplos de
• Attachments Profile
• Testing Tools
implementação
• Sample Applications
Encorajar a adoção através
de consenso
público | www.sensedia.com/br
42. UBR – UDDI Business Registries
• Catálogo global com informações Conclusão:
sobre
“Quem tem amigos
provedores de serviços e serviços disponíveis
não precisa de
para invocação
páginas amarelas”
• Função de páginas amarelas para descoberta
de serviços públicos
• UBR’s públicos: Microsoft, IBM e SAP
(lançamento em Set/2000)
• ....
público | www.sensedia.com/br
44. Quais Classes de Ferramentas estão
relacionadas a SOA?
• Design Time:
Modelagem de Negócio: BPM (BPMN, ...)
Catálogo de Ativos Reutilizáveis
• Run Time:
Container de WebServices
ESB: Enterprise Service Bus
Registro de localização de Serviços e Aplicações
de Policies de Governança
BAM: Monitoramento de Atividade de Negócio
público | www.sensedia.com/br
45. ESB: Nova Classe de Produtos?
• Objetivo:: Integrar!
• O que existe por aí?
Enterprise Service Bus (ESB)
Message-Oriented Middleware (MOM)
• Features comuns:
Garantia de entrega das chamadas/mensagens
–
Roteamento e Transformação
–
Mediação, Load-balancing e Adaptadores
–
Segurança, Logging e Auditoria
–
ESB = MOM++
público | www.sensedia.com/br
48. Seleção Dinâmica
(1) Provedor registra o
serviço no Registry e no
Diretório ESB. Regras/Policies
Serviços podem ser incluídas
(4) Registry responde com as
(3) ESB solicita
informações básicas e os metadados
informações sobre o
(port type, endpoint, policies, etc.)
serviço a ser executado
Provedor
Cliente ESB
Serviço
Serviço (6) A mensagem é
(2) Cliente invoca
transformada e roteada
o serviço chamando a
para o provedor correto
infra-estrutura de ESB
(5) ESB executa o match
client-provider aplicando as
transformações, policies etc.
público | www.sensedia.com/br
50. E quais são os fatores
críticos para o sucesso?
51. Fatores críticos para o sucesso
• Executive level buy-in
• Comunicação e colaboração efetiva
• Escolher corretamente o projeto piloto
Requisitos e escopo bem definidos
Valor de negócio claro e visível
• Disciplina formal e Governança
Ownership de serviços e incentivos
às equipes de projeto
• Adoção incremental baseada em uma
combinação de critérios técnicos e de negócio
público | www.sensedia.com/br
52. Abordagem Incremental
Nível de
Aplicações
Reuso
A 1 2 Identificados
Reutilizados
B 3
1 5
4
C 1 5 6
D 8
2 3 7
Ativos Reutilizáveis
E 3 5 6
1 2 3 4
F 1 2 6 9
5 8
6 7
público | www.sensedia.com/br
53. Fases de Adoção SOA
SOA SOA
SOA SOA
Planning Monitoring and
Initiation Implementation
and Design Compliance
• Estabelecimento dos • Identificação de serviços• Coleta de indicadores
• Entendimento e
processos de Governança:existentes • Análise Crítica e
já
Conceituação
• Definição da • Implantação da Infra-estrutura SOA de Melhoria
• Capacitação Propostas
•
Arquitetura Tecnológica:Realização dos Serviços
• Análise de GAP
• Padrões e Guidelinesdo Projeto Piloto
• Business Case e
• Arquitetura de Referência
“Venda interna”
• Definição de
Infra-estrutura SOA
• Seleção de Projeto-Piloto
público | www.sensedia.com/br
54.
55. Recomendações Finais
• “Service Orient or Be Doomed!”
• Promova a Padronização na
“SERIOUS ABOUT SOA?
Arq. de Software MAKE A REPOSITORY
• Defina Processos de Governança PART OF YOUR
STRATEGY”
• Organize o Catálogo de Ativos
• Para consumidores de soluções de software:
Estabeleça uma infra-estrtura SOA que suporte
a demanda do negócio
• Para ISVs / Software Services:
Estruturem sua oferta SOA!
público | www.sensedia.com/br
56. Obrigado!
www.sensedia.com/br
Copyright (C) 2008
DigitalAssets S.A. - Todos os direitos reservados.
Todos os nomes e produtos são usados apenas com o propósito de
identificação e são marcas registradas de seus respectivos
proprietários.
público | www.sensedia.com/br