Palestra sobre a SOA foi destaque no Ciasc

Post on 18-Nov-2014

1.550 views 1 download

Tags:

description

 

Transcript of Palestra sobre a SOA foi destaque no Ciasc

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