Abordagens Realistas da Arquitetura
Orientada a Serviços
Rodrigo Baptista e Paulo Costa
Progress Software
Como implementar uma Arquitetura
Orientada a Serviços (SOA), passo a
passo.
Abordagens Realistas de SOA
O que você verá
Agenda
Ponto de partida
O que você precisa
•
Um conto de duas arquiteturas
•
Processo, processo, processo
•
Pensamento estratégico, ação localizada
Armadilhas mais comuns
O que fazer quando voltar pra casa
© 2007 Progress Software Corporation 4 INT-3: Realistic Service Oriented Architecture Approaches
Introdução à SOA & SOBA
9Uma abordagem para a construção de
aplicações de negócio ágeis e flexíveis
•
Serviços pouco amarrados
= processos de negócio flexíveis
8
SOA não é
8
Um produto ou aplicação
8
Uma tecnologia específica
8
Um padrão específico
8
Um conjunto de regras
Service-Oriented Architecture > Service-Oriented Business
Applications
© 2007 Progress Software Corporation 5 INT-3: Realistic Service Oriented Architecture Approaches
Otimização
Transformação
Resposta
Funcionalidade
Custo-Benefício
Serviços Iniciais
Serviços de Arquitetura
Serviços de
Negócio Medidos
Serviços De Negócios OtimizadosServiços
de Negócio
Serviços
Colaborativos
O modelo de maturidade SOA
O impacto da SOA
SOA é
SOA
•
A arquitetura para agilidade
nos negócios
SOA é uma abordagem de
design
•
Não uma tecnologia
Deve ser aos poucos
© 2007 Progress Software Corporation 7 INT-3: Realistic Service Oriented Architecture Approaches
Optimization
Transformation
Responsiveness
Functionality
Cost Effectiveness
Initial Services
Architected Services
Measured
Business Services
Optimized Business ServicesBusiness
Services
Collaborative
Services
O modelo de maturidade SOA
O impacto da SOA
© 2007 Progress Software Corporation 8 INT-3: Realistic Service Oriented Architecture Approaches
Agenda
Ponto de partida
O que você precisa
•
Um conto de duas arquiteturas
•
Processo, processo, processo
•
Pensamento estratégico, ação localizada
Armadilhas mais comuns
O que fazer quando voltar pra casa
Abordagens Realistas da Arquitetura Orientada a Serviços
Um conto de duas arquiteturas
Não se chega ao topo com um único
movimento.
Initial Services Architected Services Measured Business Services Optimized Business Services Business Services Collaborative Services© 2007 Progress Software Corporation 10INT-3: Realistic Service Oriented Architecture Approaches
Um conto de duas arquiteturas
Você precisará de duas arquiteturas
durante a transição
Permitirão transição passo-a-passo
Nova
Arquitetura
Orientada
A Serviços
Arquitetura
Existente
© 2007 Progress Software Corporation 11INT-3: Realistic Service Oriented Architecture Approaches
Um conto de duas arquiteturas
A comunicação é conduzida de
ponto a ponto, síncrona e não
confiável
A lógica de processos está
presente em várias aplicações e
plataformas e implementada de
forma diferente em cada lugar
Os dados vêm em formatos
diversos e incompatíveis
A comunicação é direta através
de um canal centralizado de
serviços
A lógica de processos está
alocada de forma coerente em
um modelo único que pode ser
editado e empregado em outras
localidades
Dados vêm em formato XML
Arquitetura Existente
Nova SOA (ESB)
Exemplo: Usando as Duas Arquiteturas
P3 P1 P2 Order Mgmt Order Fulfillment Order Process
Aplicações
de Negócio
Finance Supplier Mgmt CRM Tracking ServiceParceiro
Back Office
MFG
CRM Adapter Adapter Integration BrokerEnterprise Service Bus (ESB)
Nova SOA (ESB)
Arquitetura Existente
© 2007 Progress Software Corporation 13INT-3: Realistic Service Oriented Architecture Approaches
Processo, Processo, Processo
“Tentar extrair as funções de negócio de
aplicações de grande porte é como tentar
extrair tijolos de uma parede grande. É
possível, mas nada simples.
”
Gartner – September 2005
© 2007 Progress Software Corporation 14INT-3: Realistic Service Oriented Architecture Approaches
Processo, Processo, Processo
Para responder às demandas,
não basta um novo código.
É preciso mudar seus processos.
O sucesso é alcançável com
processos “suficientes”
(CMMi Nível 3…)
Isso não quer dizer “não use processo
algum”
Saiba que os estilos de desenvolvimento
mudarão com o decorrer das
implementações SOA
Processo, Processo, Processo
Uma combinação de
passos que permite
alcançar os objetivos de
negócio a todo momento
© 2007 Progress Software Corporation 16INT-3: Realistic Service Oriented Architecture Approaches
Processo, Processo, Processo
A adoção de SOA requer que os
desenvolvedores:
•
Especifiquem os contratos e interfaces
•
Aproveitem a lógica já madura
•
Consolidem o legado
•
Definam o gerenciamento dos sistemas
•
Especifiquem políticas de serviços e
granularidade
–
Quão pequeno / grande deve ser um serviço?
–
Não é uma boa idéia termos 74 deles!
SODA - Service Oriented Development of Applications
© 2007 Progress Software Corporation 17INT-3: Realistic Service Oriented Architecture Approaches
Processo: Contratos e Interfaces
Input – serviço sendo chamado
Formato e tipo de dados (ou qual XML Schema)
Opções de funcionalidade de serviços (ou ações e
eventos)
Detalhes no fluxo dos processos de negócios (ex.
Gráfico UML)
Resposta do serviço:
•
Dados resultantes dos eventos de
serviços
•
Quaisquer erros ou mensagens do
serviço
Mais detalhes:
▼
Dono do serviço
▼
Design do serviço
▼
Histórico do serviço
▼
Referência Cruzada
do serviço
Processo: Aproveitando a Lógica Atual
•
Linha mestra
para o
levantamento, análise,
redesenho,
armazenamento,
construção e testes…
•
…NADA obrigatório!
•
Quebra de projetos
grandes em parcelas
menores permite
gerenciamento de riscos
•
Busque “Transform” no
PSDN
Awareness Transformation Assessment Analysis &ModelingRedesign &
Harvest Build & Test Transformation Continues… Engagement
Capability Gap Fulfillment Project Planning & Management Commitment
© 2007 Progress Software Corporation 19INT-3: Realistic Service Oriented Architecture Approaches
Estratégia SOA
Definição de uma
visão a longo
prazo
Pensamento global, ação localizada
O sucesso
reside em
pensar de
forma ampla e
agir de forma
localizada
Tática SOA
Implementação dos
primeiros elementos
da visão SOA nos
próximos projetos
Uso de elementos
SOA em projetos
diversos até que
esteja completa a
adoção
© 2007 Progress Software Corporation 20INT-3: Realistic Service Oriented Architecture Approaches
Pensamento global, ação localizada
O impulsionador da adoção de SOA deve ser
a agilidade dos negócios
•
A reutilização do código é apenas um
facilitador
If possible, get funding for some overall SOA
infrastructure needs
• Resource Management – roles & duties
• Developer training
• Cross-application tools
Set expectations of evolving process
“Para ter agilidade,
as empresas precisam de regras de negócio quase
descartáveis – ao ponto de serem baratas e simples
para que sejam jogadas fora ou substituídas quando
houver necessidade.”
- Ronald Ross, Conceitos da Regra de Negócio
“Pai das regras de negócio”
Pensamento global, ação localizada
O apoio dos executivos de negócio é crucial
O impulsionador da adoção de SOA deve ser a
agilidade dos negócios
•
A reutilização do código é apenas um facilitador
Se possível, o projeto deve angariar fundos para
cobrir gastos com algumas ações de infra-estrutura
•
Gerenciamento dos Recursos – tarefas e participações
•
Treinamento para os desenvolvedores
•
Ferramentas que sirvam para todas as aplicações
Entender a evolução dessa estratégia e ser realista
com as expectativas
© 2007 Progress Software Corporation 22INT-3: Realistic Service Oriented Architecture Approaches
Ações Localizadas – Tática SOA
Encontre um projeto de alto valor para piloto
•
Processos de negócio com menor amarração
•
Que se beneficiem de mudanças nos processos de
negócios
•
Que seja de alta importância para a empresa
Construa o plano de projeto levando em
consideração SOA
•
Usando o mínimo de SOA no começo
•
Incluir novos processos
–
Granularidade de Serviços
–
Contratos de Serviços
© 2007 Progress Software Corporation 23INT-3: Realistic Service Oriented Architecture Approaches
P3 P1 P2 Order Mgmt Order Fulfillment Order Process
Aplicações
de negócio
Finance Supplier Mgmt CRM Tracking ServiceParceiro
Back Office
MFG
CRM Adapter Adapter Integration BrokerEnterprise Service Bus (ESB)
Nova SOA (ESB)
Arquitetura Existente
Adapter
Ações Localizadas – Tática SOA: Projeto 1
Ações Localizadas – Tática SOA
SOA implementado
•
Refinar brechas de arquitetura
–
Contexto e Segurança são as mais comuns
–
Granularidade de serviços
–
Interfaces externas serviços
•
Retrospectiva do projeto
–
Buscar melhorias de processos
Repetir no próximo projeto de alto valor para
os negócios
© 2007 Progress Software Corporation 25INT-3: Realistic Service Oriented Architecture Approaches
P3 P1 P2 Order Mgmt Order Fulfillment Order Process
Aplicações
de Negócio
Finance Supplier Mgmt CRM Tracking ServiceParceiro
Back Office
MFG
CRM Adapter Adapter Integration BrokerEnterprise Service Bus (ESB)
Novo SOA (ESB)
Arquitetura Existente
Adapter
Ações Localizadas – Tática SOA: Novos Projetos
Adapter
Adapter
Enterprise Service Bus (ESB)
© 2007 Progress Software Corporation 26INT-3: Realistic Service Oriented Architecture Approaches
Agenda
Ponto de partida
O que você precisa
•
Um conto de duas arquiteturas
•
Processo, processo, processo
•
Pensamento estratégico, ação localizada
Armadilhas mais comuns
O que fazer quando voltar pra casa
Abordagens Realistas da Arquitetura Orientada a Serviços
Armadilhas: Comunicação
Comunicar a visão
•
Vender ativamente a agilidade que a abordagem
SOA proporciona e quais os benefícios
•
Manter uma visão SOA simplista
•
Time Completo – negócios, desenvolvedores
(IT), e usuários.
Comunicar a realidade técnica
•
Protótipos iniciais incluem a experimentação
© 2007 Progress Software Corporation 28INT-3: Realistic Service Oriented Architecture Approaches
Armadilhas: Processo
“Nós temos apenas 3 pessoas, não precisamos
de processos – sempre conversamos…”
•
Mas e quando os serviços forem expostos
externamente?
Em que você está pensando…?
© 2007 Progress Software Corporation 29INT-3: Realistic Service Oriented Architecture Approaches
Armadilhas: Processo
“mas eu não preciso de SOA ainda…”
•
E você sabe quando os negócios serão afetados
pelas mudanças?
–
Fusões e Aquisições
–
Desafios competitivos
–
Tempo de resposta ao mercado menor
–
Responder mais rapidamente às mudanças
Em que você está pensando…?
Armadilhas: Processo
Quanto de processos é necessário?
•
Obrigatoriedade do processo!
–
Se você deixar, os problemas te sufocarão
–
Melhor entendê-los e ajustar os processos
Definição dos cargos e tarefas
Treinamento
•
Modelagem de processos de negócios
•
Documentação dos contratos de serviços
© 2007 Progress Software Corporation 31INT-3: Realistic Service Oriented Architecture Approaches
Armadilhas: Processo
Usar a nova abordagem
•
Utilizar a OERA
•
Separação da Lógica de Negócios
•
Ganhar experiência com novas ferramentas
•
Entender os padrões:
–
Técnicos: Web Standards, JMS
–
Indústria: Como seu setor troca informações?
Organização do desenvolvimento
© 2007 Progress Software Corporation 32INT-3: Realistic Service Oriented Architecture Approaches
•
Linha mestra
como (re-)arquitetar a
aplicação moderna.
•
..NÃO há obrigatoriedade!
•
Priorize! Talvez você precise n-tier
ou integração antes de separar
TODAS as camadas, todos os
clientes, todo o acesso a dados, etc!
Apoia na adoção de uma nova arquitetura
Presentation Presentation Business Services Business Services Data Access Data Access Data Sources Data Sources Com m on I n fr as tr u c tur e Com m on I n fr as tr u c tur e Enterprise Services Enterprise ServicesArmadilha: Processo
OpenEdge
®
Reference Architecture
Armadilha: Primeiro projeto SOA
Qualificação do projeto
•
Garantir que o ROI é mensurável
–
Podemos crescer a receita?
–
Reduzir gastos?
–
Melhorar eficiência?
Qualificação técnica
•
Definir integração necessária para resolver o
problema
Potencial de re-uso de Serviços e Eventos
•
Simplificar projetos usando serviços e
infra-estrutura comuns
© 2007 Progress Software Corporation 34INT-3: Realistic Service Oriented Architecture Approaches
Agenda
Ponto de partida
O que você precisa
•
Um conto de duas arquiteturas
•
Processo, processo, processo
•
Pensamento estratégico, ação localizada
Armadilhas mais comuns
O que fazer quando voltar pra casa
Abordagens Realistas da Arquitetura Orientada a Serviços
© 2007 Progress Software Corporation 35INT-3: Realistic Service Oriented Architecture Approaches
Abordagens Realistas de SOA
A estratégia SOA é incremental e progressiva
•
Seguir o modelo de maturidade e ter objetivos
realistas e claros
Estratégia e Tática
•
Visão e Implementação por etapas
Fatores de sucesso
Etapas para o sucesso
Definição de uma visão SOA para agilidade nos negócios
Determinar onde você está no Modelo de Maturidade SOA
e os objetivos e práticas necessários para chegarmos ao
próximo nível
Uso de projetos de alto valor para o piloto
Construir e refinar os processos necessários
Para mais informações…
PSDN
•
A New Service-Oriented Architecture (SOA) Maturity Model
•
Principles of a Service-Oriented Architecture
•
Fundamentals of Service–Oriented Architecture
•
Service-Oriented Architecture: Overview and Business Drivers
•
Design Best Practices: Methodology using Patterns
•
SOA Worst Practices, Volume 1
•
Expertise Centers: SOBA & SOA Infrastructure
•
OpenEdge
®Evaluation Kit and Product Tour
Progress eLearning Community:
•
SOA Essentials for OpenEdge Developers
•
SOAP for OpenEdge Developers
•
What's New in OpenEdge 10.1: SOA Support
© 2007 Progress Software Corporation 37INT-3: Realistic Service Oriented Architecture Approaches
Outras sessões
Ainda neste evento:
Implementando processos ESB com OpenEdge
e Sonic
Integre pela Internet usando WebServices
OpenEdge
Transações no mundo SOA (no site)
© 2007 Progress Software Corporation 38INT-3: Realistic Service Oriented Architecture Approaches
Perguntas?
Thank you for
your time
© 2007 Progress Software Corporation 40INT-3: Realistic Service Oriented Architecture Approaches