soa next steps/passos de adoção soa
DESCRIPTION
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.TRANSCRIPT
SOA Next Steps e
Roadmap de Adoção
SOA Next Steps e
Roadmap de Adoção
confide público | www.sensedia.com/br 1
Roadmap de AdoçãoRoadmap de Adoção
Kleber [email protected]
• Benefícios e Desafios
• Principais características
• Funcionamento da arquitetura SOA
• Exemplos (Básicos e Avançados)
• Web Services
AgendaAgenda
público | www.sensedia.com/br
• Web Services
• Infra-estrutura SOA
• Roadmap de Adoção
�Agilidade
MotivaçãoMotivação
público | www.sensedia.com/br
�Agilidade
�Produtividade
Fazer mais com menos!
Arquitetura TradicionalArquitetura Tradicional
• Mundo de conexões Ponto-a-Ponto• Muito difícil de entender, manter e evoluir
público | www.sensedia.com/br
• 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 NÃO é:SOA NÃO é:
público | www.sensedia.com/br
• SOA não é uma revolução ou “bala de prata”
• SOA ≠ WebServices ≠ XML ≠ BPM
• SOA não é “Puro Marketing”
“Because SOA Comes From So Many Places, SOA Will Happen to Everyone”
Não há como evitar SOA:
público | www.sensedia.com/br
“Service Orient or Be Doomed”Jason Bloomberg, Ronald Schmelzer, mar 2006
Places, SOA Will Happen to Everyone”Frank Kenney, Gartner, abr 2007
Service-Oriented Architecture
SOA é uma abordagem arquitetural corporativa que permite a criação de serviços de negócio interoperáveis que
Arquitetura Orientada a Serviços
público | www.sensedia.com/br
Architecturede negócio interoperáveis que podem facilmente ser reutilizados e compartilhados entre aplicações e empresas.
• Metodologia / Processos / Governança
• Capacitação e estruturação organizacional
Dimensões EnvolvidasDimensões Envolvidas
“Em 2010, a carência de planejamento relacionado a governança será a razão mais comum dos fracassos em SOA”
público | www.sensedia.com/br
• 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
O que o Mercado anda dizendo...O que o Mercado anda dizendo...
“Em 2008, mais de 60% das empresas utilizarão SOA como princípio básico para a criação de aplicações e processos de
missão crítica”
O mercado SOA na América Latina deve crescer de US$ 71
milhões para US$1,6 bilhão de
público | www.sensedia.com/br
missão crítica”milhões para US$1,6 bilhão de
2006 para 2011 o que representa um crescimento acumulado de 86% ao ano
“SOA é a nova fundação para a entrega mais rápida e
eficiente de valor ao negócio através de TI”
“Companies with even basic governance in place see the
benefits through high levels of service reuse and low levels of
service duplication”
Conceitos-chave: Baixo AcoplamentoConceitos-chave: Baixo Acoplamento
• Alto Acoplamento • Baixo Acoplamento
� Capacidade dos ativos de TI trabalharem integrados embora existam independentemente
público | www.sensedia.com/br
� Permite que agentes humanos interajam com sistemas complexos de uma forma simples:
Conceitos-chave: AbstraçãoConceitos-chave: Abstração
público | www.sensedia.com/br
� Elemento de software que encapsula conhecimento e que pode ser reusado: Quais são os seus?
Conceitos-chave: AssetConceitos-chave: Asset
público | www.sensedia.com/br
Exemplo de AtivosExemplo de Ativos
Serviços de Negócio
Componentes para domínios específicos de negócio (representados através de modelos ou componentes/serviços de software)
Módulos e APIs de produtos
COTs (Commercial off-the-shelf), módulos de produtos com API’s, serviços disponíveis de forma “on-demand”
público | www.sensedia.com/br
Padrões Patterns de arquitetura, de design, padrões de interface, codificação etc
Componentes Técnicos / Framework
Biblioteca de funcionalidades e componentes técnicos que servem de base para novos desenvolvimentos
Templates Modelos e documentos gerados no ciclo de vida de desenvolvimento
Código Classes, funções e procedimentos ou, no pior caso, reuso copy&paste
Benefícios e Desafios
Benefícios e Desafios
confide público | www.sensedia.com/br 15
DesafiosDesafios
• Time-to-Market / Agilidade
• Redução de Custo
• Facilidade / Flexibilidade de Manutenção
• Melhoria da Qualidade / Maturidade
• Otimização dos processos
Benefícios Esperados de SOABenefícios Esperados de SOA
público | www.sensedia.com/br
• Otimização dos processos
• Transformação dos negócios / Oportunidades de Receita
SOA: Manutenção vs. InovaçãoSOA: Manutenção vs. Inovação
público | www.sensedia.com/br
Principais DesafiosPrincipais Desafios
Organização e PessoasOrganização e Pessoas
� Papéis e Responsabilidades
� Mudança de Cultura, Treinamentos
Tecnologia e FerramentasTecnologia e Ferramentas
público | www.sensedia.com/br
Treinamentos
� Promoção, Acompanhamento e Enforcement
� Arquiteturas Padronizadas
� Middleware de Integração
� Padrões de Classificaçãoe Documentação
� Repositório de AtivosReutilizáveis
Processos e Políticas
Processos e Políticas
� Ciclo de Vida dos Ativos
� Metodologia de Desenvolvimento Revisitada
� Processos de Manutenção
Funcionamento Básico SOA
Funcionamento Básico SOA
confide público | www.sensedia.com/br 19
Básico SOABásico SOA
Dinâmica de FuncionamentoDinâmica de Funcionamento
Diretório
de Serviços
Query Service Register Service12
público | www.sensedia.com/br
Provedor
do Serviço
Consumidor
do Serviço
Ex.: CorreiosTracking de Pacotes
Ex.: SubmarinoLoja Virtual
Bind Service
Register Service
Service Contract
and Address
Service Response
3
4
5
Dinâmica de FuncionamentoDinâmica de Funcionamento
É muito mais comum encontrar integração com
ligação ponto-a-ponto usando Web Services
público | www.sensedia.com/br
Provedor
do Serviço
Consumidor
do Serviço
Ex.: CorreiosTracking de Pacotes
Ex.: SubmarinoLoja Virtual
Bind Service
Service Response
4
5
• Serviços Básicos:
� Stock Quotes
� Previsão do Tempo
• Serviços com Valor Estratégico para o Negócio
Mais alguns exemplos de ServiçosMais alguns exemplos de Serviços
público | www.sensedia.com/br
• Serviços com Valor Estratégico para o Negócio
� Status de Pedido
� Consulta de Extrato
� Consulta de índice de Risco
Agência de ViagensAgência de Viagens
público | www.sensedia.com/br
Como SOA vem Transformando
Negócios
Como SOA vem Transformando
Negócios
confide público | www.sensedia.com/br 24
NegóciosNegócios
• Algumas empresas já vêm destacando-se e reinventando sua forma de realizar negócios
• Alguns destaques globais:
� Amazon.com
Alguns (bons) ExemplosAlguns (bons) Exemplos
público | www.sensedia.com/br
� Amazon.com
� Strike Iron
� Massa crítica:
– ComponentSource
– Widgetbox
Amazon.com WebservicesMarketplace at 1’click
Amazon.com WebservicesMarketplace at 1’click
público | www.sensedia.com/br
Strike IronIt’s all about information
Strike IronIt’s all about information
público | www.sensedia.com/br
Component Source(http://www.componentsource.com)
Component Source(http://www.componentsource.com)
público | www.sensedia.com/br
O Fenômeno Web 2.0 O Fenômeno Web 2.0
público | www.sensedia.com/br
SerasaEstamos começando?
SerasaEstamos começando?
público | www.sensedia.com/br
• Reflexões:
� Isso se aplica a mim?
– Comprador de soluções de software
Fornecedores de
E quanto a todos nós?E quanto a todos nós?
público | www.sensedia.com/br
– Fornecedores de serviços
– Vendors de produtos/ pacotes
� Software as a Service (SaaS) ??
• 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
Quando NÃO usar SOAQuando NÃO usar SOA
público | www.sensedia.com/br
• 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
Serviços:Identificação, Modelagem,
Granularidade, ...
Serviços:Identificação, Modelagem,
Granularidade, ...
confide público | www.sensedia.com/br 33
Granularidade, ...Granularidade, ...
• Top-Down
� Identificando as necessidades de negócio e modelando essas necessidades em serviços de alto valor agregado
• Bottom-Up
Identificação de ServiçosIdentificação de Serviços
público | www.sensedia.com/br
• 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
Trade-off da GranularidadeTrade-off da Granularidade
Coarse-Grained Fine-Grained
Performance ☺☺☺☺ Melhor pois o número de troca de mensagens é menor
���� Requer mais troca de mensagens
Testabilidade ☺☺☺☺ Simplificado pois o controle do caminho de execução é limitado
���� Testar é mais desafiador pois o fluxo é desconhecido
público | www.sensedia.com/br
limitado
Flexibilidade ���� Menos flexível ☺☺☺☺ Permite composição e orquestração
Reusabilidade ���� É mais difícil surgirem oportunidades de reúso para os grãos maiores
☺☺☺☺ Grãos menores são mais facilmente reutilizados
Gerenciamento ☺☺☺☺ Melhor pois haverá um número menor de serviços
���� O número de serviços pode explodir
Valor para o negócio ☺☺☺☺ Representa melhor um conceito de negócio
���� Pode ser muito detalhado
Tudo em função de decisões de design
Implementando SOA com Web Services
Implementando SOA com Web Services
confide público | www.sensedia.com/br 36
com Web Servicescom 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**
Web ServicesWeb Services
público | www.sensedia.com/br
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
Dinâmica de FuncionamentoDinâmica de Funcionamento
Diretório
de Serviços
Query Service
(UDDI query API)
Publish WSDL12
Implementação
Registro de Serviços UDDI
WSDL Service Endpoint
SOAP Message
público | www.sensedia.com/br
Provedor
do Serviço
Consumidor
do Serviço
(UDDI query API)
Invoque
Services Info
(WSDL file)
Response
3
4
5
Implementação do Serviço JEE
Consumidor do Serviço .Net
WS* Um oceano de especificaçõesWS* Um oceano de especificações
BusinessProcess
Management
Metadata TransactionSecurity
Inte
rop
era
bilit
y
Presentation
Reliability Resource
público | www.sensedia.com/br
Metadata TransactionSecurity
Messaging and Transport
XML
Inte
rop
era
bilit
y
Reliability Resource
InteroperabilidadeInteroperabilidade
• Composta por cerca de 130 empresas (70% vendors; 30% end-user organizations)
• Objetivos:
público | www.sensedia.com/br
• Objetivos:
� Integrar especificações
� Promover implementações consistentes
� Oferecer guias, boas práticas, ferramentas e exemplos de implementação
� Encorajar a adoção através de consenso
www.ws-i.org
Main Deliverables:• Basic Profile• Basic Security Profile• Attachments Profile• Testing Tools• Sample Applications
• Catálogo global com informações sobre provedores de serviços e serviços disponíveis para invocação
• Função de páginas amarelas para descoberta de serviços públicos
UBR – UDDI Business RegistriesUBR – UDDI Business Registries
Conclusão: “Quem tem amigos
não precisa de páginas amarelas”
público | www.sensedia.com/br
de serviços públicos
• UBR’s públicos: Microsoft, IBM e SAP (lançamento em Set/2000)
• ....
Infra-estrutura SOAInfra-estrutura SOA
confide público | www.sensedia.com/br 43
• Design Time:
� Modelagem de Negócio: BPM (BPMN, ...)
� Catálogo de Ativos Reutilizáveis
• Run Time:
Quais Classes de Ferramentas estão relacionadas a SOA?
Quais Classes de Ferramentas estão relacionadas a SOA?
público | www.sensedia.com/br
• 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
• Objetivo:: Integrar!
• O que existe por aí?
� Enterprise Service Bus (ESB)
� Message-Oriented Middleware (MOM)
ESB: Nova Classe de Produtos?ESB: Nova Classe de Produtos?
público | www.sensedia.com/br
� 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++
Abordagem Tradicional
Conexões Ponto-a-PontoAbordagem Tradicional
Conexões Ponto-a-Ponto
ERPAplicação
.NETWebService(Externo)
Custom point-to-point connections
público | www.sensedia.com/br
AplicaçãoJEE
Legacy(C/C++)
Mainframe(CICS Transaction
Gateway)
Pacote CRM(proprietário)
connections
Barramento Corporativo de Serviços(ESB – Enterprise Service Bus)
Barramento Corporativo de Serviços(ESB – Enterprise Service Bus)
ERPAplicação
.NETWebService(Externo)
JCA SOAP/HTTP
SOAP/HTTP
público | www.sensedia.com/br
Enterprise Service Bus
JMS SOAP/HTTP
SOAP/HTTP
JCA
AplicaçãoJEE
Legacy(C/C++)
Mainframe(CICS Transaction
Gateway)
Pacote CRM(proprietário)
Seleção DinâmicaSeleção Dinâmica
(3) ESB solicitainformações sobre o
(4) Registry responde com as informações básicas e os metadados
(1) Provedor registra o serviço no Registry e no ESB. Regras/Policiespodem ser incluídas
DiretórioServiços
público | www.sensedia.com/br
ESBClienteServiço
ProvedorServiço
informações sobre oserviço a ser executado
informações básicas e os metadados (port type, endpoint, policies, etc.)
(5) ESB executa o match client-provider aplicando as transformações, policies etc.
(2) Cliente invocao serviço chamando a infra-estrutura de ESB
(6) A mensagem é transformada e roteada para o provedor correto
Roadmap de AdoçãoRoadmap de Adoção
confide público | www.sensedia.com/br 49
E quais são os fatores críticos para o sucesso?E quais são os 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
Fatores críticos para o sucessoFatores críticos para o sucesso
público | www.sensedia.com/br
� 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
Nível de Reuso
Abordagem IncrementalAbordagem Incremental
Aplicações
A 1 2
B 31 4 5
1
5
2
3
Identificados
Reutilizados
público | www.sensedia.com/br
Ativos Reutilizáveis
D 2 73 8
E 3 5 6
F 1 2 6
8
11 2 3 4
6 75 8
2 3
5 6 8
C 1 65 6
9
Fases de Adoção SOAFases de Adoção SOA
SOAInitiation
SOAPlanning
and Design
SOAImplementation
SOAMonitoring and
Compliance
público | www.sensedia.com/br
• Entendimento e Conceituação
• Capacitação• Análise de GAP• Business Case e “Venda interna”
• Estabelecimento dos processos de Governança:
• Definição da Arquitetura Tecnológica:
• Padrões e Guidelines• Arquitetura de Referência
• Definição de Infra-estrutura SOA
• Seleção de Projeto-Piloto
• Identificação de serviços já existentes
• Implantação da Infra-estrutura SOA• Realização dos Serviçosdo Projeto Piloto
• Coleta de indicadores• Análise Crítica e Propostas de Melhoria
“SERIOUS ABOUT SOA? MAKE A REPOSITORY
PART OF YOUR
• “Service Orient or Be Doomed!”
• Promova a Padronização naArq. de Software
• Defina Processos de Governança
Recomendações FinaisRecomendações Finais
público | www.sensedia.com/br
STRATEGY”• Defina Processos de Governança
• 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!
Obrigado!
www.sensedia.com/br
público | www.sensedia.com/br
Copyright (C) 2008DigitalAssets 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.
www.sensedia.com/br