palestra sobre a soa foi destaque no ciasc
Post on 18-Nov-2014
1.550 Views
Preview:
DESCRIPTION
TRANSCRIPT
público | www.digitalassets.com.br
Workshop SOA (Service Oriented Architecture)
Workshop SOA (Service Oriented Architecture)
público | www.digitalassets.com.br
Plano de Aula
• Introdução a Componentização, Reúso e SOA • BPM (Business Process Management)• Infraestrutura SOA• Serviços SOA• Web Services • Governança SOA• Roadmap SOA
público | www.digitalassets.com.br
Referências
• Livros: Service Orient or Be Doomed!: How Service Orientation
Will Change Your Business– Jason Bloomberg, Ronald Schmelzer, mar 2006
SOA: A Planning and Implementation Guide for Business and Technology
– Erik A. Marks, Michael Bell, abr 2006 Measuring Software Reuse
– Principles, Practices and Economic ModelsJeffrey S. Poulin, 1996
Managing Software Reuse– Wayne Lim, 1998
Service-Oriented Architecture: A Field Guide to Integrating XML and Web Services
– Thomas Erl, abr 2004
público | www.digitalassets.com.br
Aquele Blog de SOA
www.aqueleblogdesoa.com.br
público | www.digitalassets.com.br
Atuação da DigitalAssets
Produtos• Repositório de Ativos Reutilizáves
• Identificação Automática de Ativos
Consultoria
• Design e Implantação de SOA
• Arquitetura de Referência
• Governança e Infra-estrutura
• Programas de Reúso de Software
Educação • Treinamentos In Company
• Parcerias Educacionais
público | www.digitalassets.com.br
Alguns Clientes
público | www.digitalassets.com.br
Educação
Cursos de Extensão Acadêmica, Pós-graduação e Educação Corporativa em Arquitetura de Software, Componentização, Reúso, SOA e WebServices
“Consultores DigitalAssets são responsáveis pelas principais disciplinas nos módulos SOA, WebServices, Componentização e Reúso”
Cursos e Workshops em parceiras com instituições
(www.ibta.com.br)
(igdnbrasil.com)
SOA & WebServices3
Componentização e Reúso3
Treinamentos In-Company
Parcerias Educacionais
público | www.digitalassets.com.br
Integração dos Produtos DigitalAssets
Asset ProductionAnd Consumption
3 Eclipse Platform
3 IBM Rational RSA/RSM
3 MS VisualStudio
3 Oracle JDeveloper
3 Borland JBuilder
Source Code Management
AssetRuntime
Publication
3 UDDIs
3 ESBs
IBM Rational ClearCase
CVS/Subversion
Existing Assets Discovery
DA Discoverer
J2EE3
MS.NET3
Asset Management
DA Manager
MetadataSearchesReuse Metrics
PromotionCollaborationWorkflow
público | www.digitalassets.com.br
Arquitetura Orientada a Serviços
Arquitetura Orientada a Serviços
público | www.digitalassets.com.br
• Flexibilidade
Soluções devem se adaptar a novos contextos de utilização para acompanhar a evolução do negócio
Cenário Competitivo
público | www.digitalassets.com.br
AgilidadeAs soluções devem atender a prazos cada vez mais agressivos com redução do ciclo de desenvolvimento e aumento de produtividade
Fazer mais com menos!
Cenário Competitivo
público | www.digitalassets.com.br
Motivação
Top-Down Enterprise Drivers:• Agilidade• Flexibilidade dos processos• Inovação contínua• Fusões & Arquisições
Bottom-Up Business Unit Drivers:• Integração de processos• B2B Real-time• Outsourcing de atividades não-chave
Desafios constantes de TI:• Fazer mais com menos• Alinhamento TI x Negócio• Qualidade• Time-to-delivery
público | www.digitalassets.com.br
Arquitetura Tradicional
Muito difícil de entender, manter e evoluir
público | www.digitalassets.com.br
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.digitalassets.com.br
“Service Orient or Be Doomed”Jason Bloomberg, Ronald Schmelzer, mar 2006
“Because SOA Comes From So Many Places, SOA Will Happen to Everyone”Frank Kenney, Gartner, abr 2007
Não há como evitar SOA:
público | www.digitalassets.com.br
O que é SOA?
Service-Oriented Architecture
SOA é uma abordagem arquitetural corporativa que permite a criação de serviços de negócio interoperáveis que podem facilmente ser reutilizados e compartilhados entre aplicações e empresas.
público | www.digitalassets.com.br
Novidades da Abordagem SOA
O Mundo é Orientado a Serviços!!– Vocabulário aderente às demandas de negócios
dos clientes
Baseado em tecnologias padronizadas– Integração de aplicações intra e entre empresas é
um fardo pesado
Construído sobre o existente usando uma abordagem incremental
– O legado é muito importante
público | www.digitalassets.com.br
Abordagem Corporativa
Application Infrastructure• Application Development• Service Enablement• Execution Environment• Reliability
Service Infrastructure• Composite Application Framework• Business Service Orchestration• Cross-platform management • Governance and control• Service discovery, publishing and security• Message routing and transformation
público | www.digitalassets.com.br
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
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”
público | www.digitalassets.com.br
público | www.digitalassets.com.br
Conceitos-ChaveConceitos-Chave
público | www.digitalassets.com.br
Conceitos-chave: Baixo Acoplamento
• Alto Acoplamento • Baixo Acoplamento
Capacidade dos ativos de TI trabalharem integrados embora existam independentemente
público | www.digitalassets.com.br
Permite que agentes humanos interajam com sistemas complexos de uma forma simples:
Conceitos-chave: Abstração
público | www.digitalassets.com.br
Elemento de software que encapsula conhecimento e que pode ser reusado: Quais são os seus?
Conceitos-chave: Assets
público | www.digitalassets.com.br
Dimensões de uma estratégia SOA
Metodologia Processos e Governança
CapacitaçãoEstruturação Organizacional
Arquitetura Tecnológica:Padrões, Frameworks, Boas
práticas
Ferramentas em Design-time e Run-time
Fator Crítico de TI: Reutilização
público | www.digitalassets.com.br
Benefícios e DesafiosBenefícios e Desafios
público | www.digitalassets.com.br
Benefícios Esperados de SOA
• Redução de Custo em novos projetos• Time-to-Market / Agilidade• Facilidade / Flexibilidade de Manutenção• Melhoria da Qualidade de serviço• Otimização dos processos• Transformação dos negócios /
Oportunidades de Receita
público | www.digitalassets.com.br
SOA: Manutenção vs. Inovação
público | www.digitalassets.com.br
Survey conducted by IDG Research Services Group January 2006. Sample population was composed of 1,040 IT Managers in organizations of 500 or more
33%
45%
49%
56%
60%
Top 5 business needs that companies are looking to address with SOA
React quickly to changes in market dynamics
Intra- and inter-company business modelsand processes
Real-time information to make decisions
Customer service initiatives
New and evolving regulatory requirements
SOA: Alguns números Interessantes
Agilidade
público | www.digitalassets.com.br
53%
59%
62%
67%
71%
Survey conducted by IDG Research Services Group January 2006. Sample population was composed of 1,040 IT Managers in organizations of 500 or more
More flexible architecture
Integration to existing applications
Data integration
Service integration
Composite application development
Top 5 IT needs that companies are looking to address with SOA
SOA: Alguns números Interessantes
Arquitetura
público | www.digitalassets.com.br
Nem tudo são flores...
público | www.digitalassets.com.br
Principais Desafios
Organização e Pessoas
Organização e Pessoas
Papéis e Responsabilidades Mudança de Cultura,
Treinamentos Promoção, Acompanhamento
e Enforcement
Tecnologia e FerramentasTecnologia e Ferramentas
Arquiteturas Padronizadas Middleware de Integração Padrões de Classificação
e Documentação Repositório de Ativos
Reutilizáveis
Processos e Políticas
Processos e Políticas
Ciclo de Vida dos Ativos Metodologia de Desenvolvimento Revisitada Processos de Manutenção
público | www.digitalassets.com.br
Organização e Pessoas
• Requer mudança de mentalidade• Apoio executivo• Capacitação nos conceitos-chave• Política de incentivos• Divulgação e visibilidade dos ativos existentes: é
necessário um trabalho de endo-marketing
Um excelente componente ou serviço, flexível, bem documentado e que resolve um problema recorrente só pode ser considerado um bom
ativo se as pessoas conseguirem encontrá-lo, entendê-lo, avaliá-lo e reusá-lo, caso contrário,
será um ótimo segredo!!
Um excelente componente ou serviço, flexível, bem documentado e que resolve um problema recorrente só pode ser considerado um bom
ativo se as pessoas conseguirem encontrá-lo, entendê-lo, avaliá-lo e reusá-lo, caso contrário,
será um ótimo segredo!!
público | www.digitalassets.com.br
Organização e Pessoas
• Estrutura organizacional / Papéis: Administração de componentes
– Perfil semelhante à Administração de Dados– Conhecimento de negócio
Gestão da Arquitetura de Referência ICC (Integration Competency Center) ou
SOA CoE (Center of Excelence) Desenvolvimento/suporte de componentes
– Perfil: Desenvolvedores seniors com ampla capacitação em orientação a objetos, design patterns
– Conhecimento de ofertas de componentes de mercado
público | www.digitalassets.com.br
Processos e Políticas
• Adaptações no processo de desenvolvimento atual para tornar SOA uma prática sistemática
• Como as atividades abaixo se encaixam no processo de desenvolvimento de software atual? Identificação de serviços; Modelagem de serviços; Publicação dos serviços; Definição das interfaces
dos serviços; Testes; Deploy de serviços
público | www.digitalassets.com.br
Dificuldades relacionadas a Tecnologia
• Volatilidade Tecnológica• Falta de padronização de
arquitetura• Repositório de Assets• Massa crítica de serviços• Middleware para invocação dos serviços
público | www.digitalassets.com.br
Tecnologia
Repositório de Assets
• Repositório de Serviços: “Embora a adoção de uma ferramenta de
administração de ativos focada em reúso não garanta por si só o sucesso da iniciativa de reutilização da empresa, ela irá aumentar significativamente suas chances”
Fonte: Enterprise Unified Process The Strategic Reuse Discipline Scott Ambler, John Nalbone e Michel J. Vizdos
público | www.digitalassets.com.br
Rítimo de Adoção
• “Em 2010, menos de 25% das grande empresas terão desenvolvido as habilidades técnicas e organizacionais necessárias para implantar SOA de forma corporativa.”
“Through 2010, fewer than 25 percent of large companies will have developed the technical
and organizational skills needed to deliver enterprisewide SOA (0.8 probability).”
público | www.digitalassets.com.br
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.digitalassets.com.br
Funcionamento Básico SOAFuncionamento Básico SOA
público | www.digitalassets.com.br
Dinâmica de Funcionamento
Provedordo Serviço
Consumidordo Serviço
Diretóriode Serviços
Ex.: CorreiosTracking de Pacotes
Ex.: SubmarinoLoja Virtual
Query Service
Bind Service
Register Service1
Service Contractand Address
Service Response
2
3
4
5
público | www.digitalassets.com.br
Dinâmica de Funcionamento
Provedordo Serviço
Consumidordo Serviço
Ex.: CorreiosTracking de Pacotes
Ex.: SubmarinoLoja Virtual
Bind Service
Service Response
4
5
É muito mais comum encontrar integração com
ligação ponto-a-ponto usando Web Services
público | www.digitalassets.com.br
Desenvolvendo apenas o Código de Cola....
Selecionar Itinerário
ReservarBilhete Aéreo
ReservarHospedagem
ReservarCarro Alugado
Confirmar Viagem
Realizar Pagamento
público | www.digitalassets.com.br
Como SOA vem Transformando NegóciosComo SOA vem Transformando Negócios
público | www.digitalassets.com.br
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 HP
público | www.digitalassets.com.br
Amazon.com WebservicesMarketplace at 1’click
público | www.digitalassets.com.br
Strike IronIt’s all about information
público | www.digitalassets.com.br
O Fenômeno Web 2.0
público | www.digitalassets.com.br
SerasaEstamos começando?
público | www.digitalassets.com.br
Portal de relacionamento entre fabricante, seus distribuidores, revendas e consumidores finais
Posição de Estoque na Cadeia de Distribuição
Fabricante Cadeia dedistribuidores e revendas
Consumidorfinal
público | www.digitalassets.com.br
BPM (Business Process Management)BPM (Business Process Management)
público | www.digitalassets.com.br
De onde vêm os serviços?
• “Empresas que montarem seus programas organizacional e cultural de transformação em BPM terão mais que o dobro de chances de se tornarem líderes em suas indústrias m 2010.”
“Enterprises that aggressively begin their organizational and cultural transformation for
BPM in 2007 will double their chances of becoming industry leaders by 2010.”
público | www.digitalassets.com.br
BPM - Conceitos
• Processo Atividades que empregam e
consomem recursos (humanos ou não), para alcançar um resultado (bem ou serviço).
• Processo de negócio Processo que segue políticas e
princípios de negócio (regras de negócio e critérios de decisão), para produzir valor para a empresa.
público | www.digitalassets.com.br
BPM - Conceitos
• Macro processos Processos
– Sub-Processos» Atividades
» Tarefas
público | www.digitalassets.com.br
Pilares de BPM
Workflow
Monitoração
Gerenciamento
BPMBPM
EAI / SOA
público | www.digitalassets.com.br
Pilares de BPM -Workflow
• Ordem das atividades
• Diferentes executores
• Informações que fluem entre executores
público | www.digitalassets.com.br
Pilares de BPM -EAI / SOA
• Soluciona problemas de incompatibilidade de sistemas
• É mais simples integrar do que reconstruir• Estilos de integração
File Transfer Shared Database Remote Procedure
Invocation Messaging
público | www.digitalassets.com.br
Pilares de BPM - Monitoração
• Acesso em tempo real de indicadores de performance críticos para o negócio Melhoria na velocidade e eficácia das operações
• Business Activity Monitoring (BAM) Possibilita os usuários a agir sobre os eventos,
tomar as ações corretas e monitorar, medir e melhorar a eficiência dos processos de negócio.
público | www.digitalassets.com.br
Pilares de BPM - Gerenciamento
• Gerenciamento Planejamento
– imaginar o que está para vir no futuro e planejar ações para este cenário
Organização– otimizar o uso dos recursos necessários para o sucesso da
execução dos planos
Liderar/Motivar– tirar o melhor do time para alcançar os objetivos planejados
Controle– acompanhar o andamento real em relação ao
planejado para detectar mudanças necessárias
público | www.digitalassets.com.br
Order Management Process
Enterprise Infrastructure Services
(Portal, SOA, IDRS, LDAP, EAI, E-mail, IT Operations)
Customer Relationship Management
Sales and Marketing
Production Planning Manufacturing
Inventory & Logistics Finance & HR
SFA Product LMS
Inv MGMT
B2Bproduct
ERP.
SCMproducti
nfo.
MES
DB ERPCRM
BPM models, simulates, executes, manages, monitors, & optimizes those Business Processes.
What is Business Process Management?
Customer Relationship Management
Sales and Marketing
Production Planning
Manufacturing Inventory & Logistics
Finance & HR
SFA Product LMS
Inv MGMT
B2B
Enterprise Infrastructure Services
(Portal, SOA, IDRS, LDAP, EAI, E-mail, IT Operations)
product
ERP
SCM product
MES
DB ERPCRM
Organizational Units
Real-World Business Processes span organizations, systems, and applications.
Product ConfigurationProduct Configuration
Order ManagementOrder Management
Warranty & Returns ManagementWarranty & Returns Management
Pro
cess
es
público | www.digitalassets.com.br
Padrões de BPM
SOA
BPEL
BPMN
público | www.digitalassets.com.br
BPEL / BPEL4WS
• Business Process Execution Language (for Web Services) Seja chique: fale "bi-pél“ ou “bípou“ (beeple) Uma linguagem baseada em XML para
padronização de processos de negócio em computação distribuída que possibilita negócios conectarem suas aplicações e compartilharem dados.
Desenvolvida a partir de WebServices Flow Language da IBM e da especificação de XLANG da Microsoft, BPEL permite empresas manter diferentes protocolos de negócios internamente e entre empresas.
público | www.digitalassets.com.br
BPMN
• Business Process Modeling Notation. Notação gráfica entendível por pessoas técnicas e
não-técnicas para expressar processo de negócio, e semântica para os Business Process Diagrams
A especificação de BPMN provê um mapeamento entre os elementos da notação gráfica e a construção de processos de blocos nas linguagens BPEL/BPEL4WS
Mantida pela BPMN.org
público | www.digitalassets.com.br
Exemplo de Processo
Interface WebMethods
público | www.digitalassets.com.br
Inventory Level
Exemplo de BAM:• Interface WebMethods
público | www.digitalassets.com.br
Em poucas palavras...
• BPM tem o potencial para trazer grande agilidade e flexibilidade para gestão dos processos de negócio das empresas
• A estratégia SOA é fundamental para conseguir entregar os benefícios de BPM
• As áreas de negócio das empresas ainda encontram-se bastante imaturas para colher benefícios tangíveis
• As ferramentas ainda estão amadurecendo
público | www.digitalassets.com.br
Infra-estrutura SOAInfra-estrutura SOA
público | www.digitalassets.com.br
Quais Classes de Ferramentas estão relacionadas a SOA?
• Design Time:– Foco em usabilidade, produtividade, controle, ...
Modelagem de Negócio: BPM (BPMN, ...) Catálogo de Ativos Reutilizáveis
• Run Time:– Foco em robustez, escalabilidade, ...
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.digitalassets.com.br
BPMS
• BPM Suites Pilha de tecnologias em evolução Unifica softwares previamente independentes de
infraestrutura:– Human workflow mgmt.– Integration servers– Portals– BI tools– Runtime containers– Message-oriented middleware– Business rule engines– Modeling tools– App. servers/IDEs
público | www.digitalassets.com.br
Mercado de BPM
público | www.digitalassets.com.br
Alguns Exemplos:WebSphere Business Modeler
público | www.digitalassets.com.br
Alguns Exemplos:Savvion Business Modeler
público | www.digitalassets.com.br
Infra-estrutura SOA
ESB (Enterprise Service Bus)Infra-estrutura SOA
ESB (Enterprise Service Bus)
público | www.digitalassets.com.br
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
público | www.digitalassets.com.br
Abordagem Tradicional
Conexões Ponto-a-Ponto
ERPERP Aplicação.NET
Aplicação.NET
WebService(Externo)
WebService(Externo)
AplicaçãoJEE
AplicaçãoJEE
Legacy(C/C++)Legacy(C/C++)
Mainframe(CICS Transaction
Gateway)
Mainframe(CICS Transaction
Gateway)
Pacote CRM(proprietário)
Pacote CRM(proprietário)
Custom point-to-point connections
público | www.digitalassets.com.br
Barramento Corporativo de Serviços
(ESB – Enterprise Service Bus)
Enterprise Service Bus
ERPERP Aplicação.NET
Aplicação.NET
WebService(Externo)
WebService(Externo)
JCA
JMS SOAP/HTTP
SOAP/HTTP
SOAP/HTTP
SOAP/HTTP
JCA
AplicaçãoJEE
AplicaçãoJEE
Legacy(C/C++)Legacy(C/C++)
Mainframe(CICS Transaction
Gateway)
Mainframe(CICS Transaction
Gateway)
Pacote CRM(proprietário)
Pacote CRM(proprietário)
público | www.digitalassets.com.br
Seleção Dinâmica
ESBClienteServiçoClienteServiço
ProvedorServiço
ProvedorServiço
(3) ESB solicitainformações sobre o
serviço a ser executado
(4) Registry responde com as 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
(1) Provedor registra o serviço no Registry e no ESB. Regras/Policiespodem ser incluídas
DiretórioServiços
público | www.digitalassets.com.br
Principais Players
IBM WESB, MessageBroker Oracle ESB BEA ESB Sonic ESB Tibco SoftwareAG/Webmethods Microsoft (BizTalk) ...a cada dia surgem novos...
público | www.digitalassets.com.br
E opções Open Source?
• Apache Service Mix incubator.apache.org/servicemix/home.html
• IONA FUSE baseado no Apache Service Mix - open.iona.com
• WSO2 wso2.com/products/esb
• JBOSS ESB labs.jboss.com/jbossesb
• MULE SOURCE ESB mule.codehaus.org/display/MULE/Home
público | www.digitalassets.com.br
Registry / Repository
• Classe de produtos que ainda causa confusão• Classificação funcional que atende a diversos
propósitos• Mercado em consolidação (com diversas
aquisições)
• ...“SERIOUS ABOUT SOA?
MAKE A REPOSITORY PART OF YOUR
STRATEGY”
público | www.digitalassets.com.br
ExemploExemplo
público | www.digitalassets.com.br
público | www.digitalassets.com.br
Principais Funcionalidades
Promovendo os ativos:• Indexação e Busca (full text)• Mecanismos de colaboração:
- Notícias/RSS - Fóruns de discussão - Notificação
• Envio automático de Notificações• Buscas remotas em repositórios alternativos como SourceFORGE, Google e ComponentSource
Gerenciando o acervo:• Metadados com categorização flexível• Mapeamento das dependências• Gerenciamento dos documentos e artefatos relacionados• Perfis de Acesso• Import/export para Excel, XML e RAS• Análise de impacto com visualização gráfica das dependências entre ativos• Controle do Fluxo de aprovação
Medindo os resultados:• Economia e Retorno (Cost Avoidance e ROI)• Componentes e documentos mais consultados, acessados e baixados• Novos ativos catalogados• Gráficos com estatísticas
Acelerando o reuso:• Acervo inicial (Starting Library)• Integração com Ambiente de Desenv.: - Plug-ins para plataforma Eclipse, Oracle JDevelopmer e MS VisualStudio - Integração com repositório de fontes ClearCase e CVS/Subversion
público | www.digitalassets.com.br
DA Manager
Information Model
Assetversion
Artifacts
User’s guide
API docs
Release notes
Samples
...
Asset Types
Components
Services
Applications
Business Process
...Relationship
Types
Depends on
Invokes
...
Metadata Classification
Security Workflow
Collaboration
público | www.digitalassets.com.br
público | www.digitalassets.com.br
público | www.digitalassets.com.br
Em poucas palavras...
• A oferta de infra-estrutura para SOA está crescendo a uma velocidade nunca antes vista
• É preciso conhecer as ferramentas/middleware com suas características funcionais e comparar os overlaps existentes
• Algumas ferramentas são muito importantes para a entrega dos benefícios SOA: destaque para Repositório de Serviços (design-time) e ESB (run-time)
público | www.digitalassets.com.br
Serviços SOA:Identificação, Modelagem, Granularidade, Anti-Patterns...
Serviços SOA:Identificação, Modelagem, Granularidade, Anti-Patterns...
público | www.digitalassets.com.br
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.digitalassets.com.br
Identificação dos Serviços
• Top-Down, algumas técnicas: BPM – Business Process Modeling PBS – Product Breakdown Structure Análise/Design de Domínio
• Bottom-Up, algumas técnicas: Bases de dados existentes Aplicativos existentes Funcionalidades existentes
público | www.digitalassets.com.br
Identificação de Serviços
Top-Down
Bottom-Up
público | www.digitalassets.com.br
Anatomia de um Serviço
New Service
WrappedLegacy
CompositeService
Service costumer
Interface proxy
Serviceinterface
ServiceImplementation
público | www.digitalassets.com.br
De onde vêm os serviços?
• “Em 2008, pelo menos 65% dos serviços desenvolvidos em projetos SOA serão implementados através do encapsulamento ou reengenharia de aplicações já existentes.”
“Through 2008, at least 65 percent of custom-developed services for new SOA projects will
be implemented via wrapping or re-engineering of established applications (0.8 probability).”
público | www.digitalassets.com.br
Granularidade
• Discussão: Qual o tamanho correto dos serviços?!
Quais aspectos devem ser levados em consideração para a empresa definir a granularidade correta para seus serviços?
público | www.digitalassets.com.br
Trade-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
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
público | www.digitalassets.com.br
Anti-Patterns
público | www.digitalassets.com.br
Anti-Patterns*
Googando “SOA Anti-Pattern”
* Andrew Koenig, 1995 – http://en.wikipedia.org/wiki/Antipattern
“Experience is the name every one gives to their mistakes.” Oscar Wilde
“Experience is what causes a person to make new mistakes instead of
old ones.” Unknow
público | www.digitalassets.com.br
Erros mais comuns em SOA**(anti-patterns)
1. Try to Boil the Ocean
2. Vamos implementar alguns Web Services
3. Pensaremos em governança mais tarde
4. “Governar” vs. “Ser Governado”
5. A nossa empresa é diferente
6. Vamos às Compras
** Compilação livre baseada em experiências, segundo Kleber Bacili
Top
6 Concerns
público | www.digitalassets.com.br
1. (don’t) Try to Boil the Ocean
• As estratégias SOA devem ser corporativas (não se deve pensar apenas em um projeto ou uma área apenas)
Dicas: – Reflita sobre o todo– Determine escopo para aplicação (Pilotos)– Aceite e se planeje para mudanças
vs.Tratar como corporativo,
patinar e não sair do lugar!
Avançar rápido com risco de negligenciar áreas e
pessoas
público | www.digitalassets.com.br
2. Vamos implementar algunsWeb Services
• SOA é muito mais que “Um punhado de Web Services”
• Principais perspectivas: Arquitetura (não podemos esquecer “A” do SOA)
– Padrões (WS-I, etc), Frameworks e Boas Práticas
Metodologia / Processos / Governança Estruturação Organizacional Capacitação Ferramentas em Design-time Infraestrutura em Run-time
público | www.digitalassets.com.br
3. Pensaremos em Governançamais tarde
• Quantos serviços eu preciso ter para me preocupar com governança?
• A Governança deve ser desenhada para o nível de maturidade e a necessidade da empresa
• O básico: Ciclo de vida dos serviços Papéis e responsabilidades Classificação e visibilidade
“Em 2010, a carência de planejamento relacionado a governança será a razão mais comum dos fracassos em SOA”
1
It’s all about ownership!!
público | www.digitalassets.com.br
4. “Governar” vs. “Ser Governado”
• “Governar” é bom, “Ser Governado” é ruim
• Suporte executivo é necessário para garantir o cumprimento das políticas de governança
• Dicas para resolução de conflitos: Políticas claras Matriz de responsabilidades
público | www.digitalassets.com.br
5. A nossa empresa é diferente
• Todas as empresas possuem peculiaridades, mas acreditem, muitas outras possuem problemas muito parecidos com os seus!
• Dicas: Participe de conferências Ouça as histórias de outras
empresas (cases) Conheça o mercado e as
ofertas dos players
público | www.digitalassets.com.br
6. Ir às Compras
Começar por onde?
SOA Products
EnterpriseService Bus
Business ProcessManagement
Modeling Simulation
Orchestration / Choreography
Registry /Repository
ServicesMonitoring
PoliceEnforcement
Sec
uri
ty /
Iden
tity
Mo
del
ing
an
dD
evel
op
men
t
Execution Monitoring
SOA Services
Consulting /Mentoring
Business Process Modeling
IntegrationDevelopment
DigitalAssets expertise
público | www.digitalassets.com.br
Web Services:EspecificaçõesEmergentes
Web Services:EspecificaçõesEmergentes
público | www.digitalassets.com.br
WS-*Um oceano de especificações
BusinessProcess
Management
Metadata TransactionSecurity
Messaging and Transport
XML
Inte
rop
era
bili
ty
Presentation
Reliability Resource
público | www.digitalassets.com.br
público | www.digitalassets.com.br
Interoperabilidade
• Composta por cerca de 130 empresas (70% vendors; 30% end-user organizations)
• 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
público | www.digitalassets.com.br
Governança SOAGovernança SOA
público | www.digitalassets.com.brEvitando os acidentes...Evitando os acidentes...
público | www.digitalassets.com.br
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.digitalassets.com.br
Governança?
• “Em 2010, a carência de planejamento relacionado a governança será a razão mais comum dos fracassos em SOA.”
“Through 2010, lack of working SOAgovernance arrangements will be themost common reason for SOA failure
(0.8 probability).”
público | www.digitalassets.com.br
Definição
• Governança SOA é um subset da Governança de TI relacionada ao estabelecimento de políticas, controles e obrigações relacionados aos serviços SOA.
• Governança SOA deve endereçar como os serviços reusáveis são definidos, modelados, criados, acessados, executados e mantidos (papéis e responsabilidades)
• Governança SOA identifica: Business Processes and Service Ownership Alocação de custos em modelos compartilhados
público | www.digitalassets.com.br
Mais grupos e papéis
• É necessário definir os papéis que atuarão em cada etapa do ciclo de desenvolvimento
• Novamente há a sobreposição com o Processo de Desenvolvimento de Software
• Exemplo de organização: RACI Tables
– (R)esponsible– (A)ccountable– (C)onsulted– (I)nformed
público | www.digitalassets.com.br
Definindo a RACI Table
público | www.digitalassets.com.br
Qualificando os Assets
• Algumas formas possíveis: Classificação / Taxonomia / Ontologia
• Passos importantes:1. Determinar os tipos de assets que serão gerenciados
/ governados
2. Para cada tipo de asset:• Determinar os atributos que melhor
representam/documentam o asset• Levantar amostragem dos domínios das informações• Verificar o que é comum a todos
3. Determinar os relacionamentos possíveisentre os assets
público | www.digitalassets.com.br
Discussão
• Quais são os assets e quais informações são necessárias para melhor documentá-los e governá-los? Que facilitem sua descoberta Que facilitem a reutilização Que facilitem a gestão
público | www.digitalassets.com.br
• Gerais: Nome / Versão Descrição Categorização Release notes …
• Para o reuso: Palavras-chave para busca Documentos (requisitos, exemplos,
binários) Referências (pessoas e projetos /
sistemas) Dependências Compatibilidades …
• De controle: Tracking de utilização
(quais áreas / sistemas / projetos com seus contatos utilizam quais versões de quais componentes)
Número de linhas de código Esforço de implementação Situação do componente Formas de licenciamento
(preço) …
Alguns exemplos de Informações
público | www.digitalassets.com.br
Ciclo de Vida de Serviços
EmDesenvolvimento
Disponível
Aposentado
Identificado
Em Aprovação
?Qual o ciclo de vidade um ativo
público | www.digitalassets.com.br
Adoção e Maturidade SOAAdoção e Maturidade SOA
público | www.digitalassets.com.br
Colocando para Rodar...
• Vários conceitos: Níveis de Maturidade Estágios de Adoção Processo de Implantação Abordagem Incremental Fatos críticos para o sucesso
... E agora?
“Don’t try to boil the ocean”
público | www.digitalassets.com.br
Visão Estratégica
• Definição do processo de governança formal para SOA• Centro de Excelência• Papéis / Responsabilidades de governança• Metodologia de desenvolvimento “Designed For SOA”
• Estratégia de integração arquitetural• Padrões• Mecanismos• Boas práticas• Infra-estrutura
Implantação estruturada de SOA de maneira corporativa
Implantação estruturada de SOA de maneira corporativa
público | www.digitalassets.com.br
Plano de TrabalhoVisão Geral
• Assessment: - Processos - Perfis x Pessoas - Arquitetura de Referência - Boas práticas - Estratégia BPM
- Níveis de maturidade
• Capacitação conceitual
• Iniciar estratégia de integração
DiagnósticoSOA
DesignGovernançaSOA (nível 1)+ Mentoring
MelhoriaContínua
+ Mentoring
DesignGovernançaSOA (nível 2)+ Mentoring
1 2 3 4
público | www.digitalassets.com.br
Plano de TrabalhoVisão Geral
• Governança - nível 1: - Centro de Excelência SOA – Perfis e responsabilidades - Processo de governança - Metodologia “Design For SOA” L Processo de Identificação, modelagem e deploy de serviços - Catálogo de serviços L Identificação de serviços existentes L Classificação e taxonomia - Modelagem de Processos - BPM
• Estratégia de integração – nível 1 - POCs Independentes ESBs - Estrutura de mapeamento de ativos L Análise de impacto e rastreabilidade
- Modelagem de integração L Padrões de interface e protocolos
DiagnósticoSOA
DesignGovernançaSOA (nível 1)+ Mentoring
Melhoria Contínua
+ Mentoring
DesignGovernançaSOA (nível 2)+ Mentoring
1 2 3 4
público | www.digitalassets.com.br
Plano de TrabalhoVisão Geral
• Governança – nível 2: - KPIs SOA - Definição e implantação do Services Life Cycle
- Definição de padrões para serviços L Runtime Policies L Transação, Segurança - BPM e SOA (identificação de serviços)
• Estratégia de integração – nível 2 - Padrão de implantação de serviços - Mentoring em projeto piloto
• Skill transfer aplicado - Metodologia SOA (área de processos e desenvolvimento) - Padrões (Arquitetura de sistemas)
DiagnósticoSOA
DesignGovernançaSOA (nível 1)+ Mentoring
MelhoriaContínua
+ Mentoring
DesignGovernançaSOA (nível 2)+ Mentoring
1 2 3 4
público | www.digitalassets.com.br
Plano de TrabalhoVisão Geral
• Ciclo de Melhoria: - Coleta de Indicadores - Análise Crítica e Propostas de Melhoria
- Quality Assurance Arquitetural - Quality Assurance Processos SOA
DiagnósticoSOA
DesignGovernançaSOA (nivel 1)+ Mentoring
MelhoriaContínua
+ Mentoring
DesignGovernançaSOA (nível 2)+ Mentoring
1 2 3 4
público | www.digitalassets.com.br
Nível de Reuso
O mais importante: Abordagem Incremental
Ativos Reutilizáveis
Aplicações
A 1 2
B 31 4 5
1
5
D 2 73 8
2
3
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
Identificados
Reutilizados
9
público | www.digitalassets.com.br
Meu mundo
Imagino
Mas... Qual a visibilidade dos serviços hoje?
Conheço
Eu fiz
público | www.digitalassets.com.br
Níveis de Maturidade
público | www.digitalassets.com.br
público | www.digitalassets.com.br
Em poucas palavras...
• Pensar Grande
• Começar Pequeno
• Avançar Rápido
público | www.digitalassets.com.br
Faça parte do time!
www.aqueleblogdesoa.com.br
público | www.digitalassets.com.br
Copyright (C) 2007DigitalAssets 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.
Venha nos visitar!www.digitalassets.com.br
?Obrigado!
marcilio.oliveira@digitalassets.com.br
público | www.digitalassets.com.br
Apêndice
ROI Medindo o Reuso
público | www.digitalassets.com.br
Ganho
Economia
Investimento
$
Sem reúso
público | www.digitalassets.com.br
Com reúsoCom reúso
Ganho
Economia
Investimento
...
RCA = (Tam * %reuso) – Overhead. ROA = ΣRCA ativoROA = ΣRCA ativo
reúsos
$
público | www.digitalassets.com.br
• Principais barreiras:Falta de padronização nas contagensFalta de confiabilidade nos valores
• Literatura de referência:
Measuring Software ReusePrinciples, Practices and Economic ModelsJeffrey S. Poulin
Métricas de Reuso na Indústria
White Paper:The Return on Investment on COTS Software ComponentsChris Brooke, ComponentSource
White Paper:Calculating The Value of Your Asset PortifolioSharon Fay, Flashline
público | www.digitalassets.com.br
• Percentual de Reuso Padrão “de facto” Facilidade de cálculo
• Modelos Econômicos de Reuso Cost Avoidance ROI
Métricas de Reuso na Indústria
x 100%Software Reusado
Software Total
público | www.digitalassets.com.br
• Para componentes com características específicas, um Fator de Ajuste pode tornar o índice de reuso mais real
• Exemplo:(variação conforme a intensidade de uso) Básico: 30% ; Médio: 60% ; Completo: 100%
Extensão do Modelo
público | www.digitalassets.com.br
Métricas
• Percentual de reuso:
• RSI = Reused Source Instruction
• LOC = Lines of Code
TotalLOCAjuste" deFator " RSI
% useRe
TotalLOCRSI
% useRe
público | www.digitalassets.com.br
Métricas
• Análise Econômica:
• RCA = Reuse Cost Avoidance
• RSI = Reused Source Instruction
• RCR = Relative Cost of Reuse
• $/LOC = Custo por linha de código
Quantidade de Linhas de código reusadasCusto por linha de código (extraído da produtividade da empresa)
LOC$
Ajuste" deFator " RCR) - (1 RSI RCA
público | www.digitalassets.com.br
Métricas
• RCA = Reuse Cost Avoidance
• Nhs = Número de horas
• RCR = Relative Cost of Reuse
• $/hs = Custo por hora
hr$
Ajuste" deFator " RCR) - (1 Nhs RCA
público | www.digitalassets.com.br
Componente Fator de Ajuste SLOCs AjustadoCAF 3.0 (suíte) 12% 22.000 2.640 CAFX 1.0 30% 5.000 1.500 eFlow 1.2 30% 37.000 11.100 PageBrowser 2.0 30% 5.000 1.500 FWSecurity 2.2 30% 36.000 10.800
105.000 27.540 24.000
53%
TotaisSLOCs Projeto
Reuse %
OBS: Análise baseada em linhas de código
Reuse% (se calculado sem ajuste): 81% RCA = R$ 22K
(Considerando RCR = 20% e $/LOC = R$1,00)
Economia em Projeto: Projeto Exemplo (caso real)
público | www.digitalassets.com.br
Copyright (C) 2007DigitalAssets 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.
Venha nos visitar!www.digitalassets.com.br
?Obrigado!
marcilio.oliveira@digitalassets.com.br
top related