Desmistificando SOA SERVICE-ORIENTED ARCHITECTURE Patrick de Faria –...

75

Transcript of Desmistificando SOA SERVICE-ORIENTED ARCHITECTURE Patrick de Faria –...

Page 1: Desmistificando SOA SERVICE-ORIENTED ARCHITECTURE Patrick de Faria – patrick.faria@totalbanco.com.br.
Page 2: Desmistificando SOA SERVICE-ORIENTED ARCHITECTURE Patrick de Faria – patrick.faria@totalbanco.com.br.

Desmistificando SOA Desmistificando SOA SERVICE-ORIENTED ARCHITECTURESERVICE-ORIENTED ARCHITECTURE

Patrick de Faria – [email protected] de Faria – [email protected]

Page 3: Desmistificando SOA SERVICE-ORIENTED ARCHITECTURE Patrick de Faria – patrick.faria@totalbanco.com.br.

Desmistificando SOA Desmistificando SOA

Módulo 1 – Primeiro os NegóciosMódulo 1 – Primeiro os Negócios

Page 4: Desmistificando SOA SERVICE-ORIENTED ARCHITECTURE Patrick de Faria – patrick.faria@totalbanco.com.br.

Ambiente Competitivo Atual

Módulo 1 – Primeiro os Negócios

• Hiper-Competição

• Clientes:• Cada vez compram menos• Cada vez mais exigentes• Cada vez menos fiéis

• Rápidos ciclos de produtos

• Empresas precisam ser capazes de responder rapidamente a competição, as demandas dos consumidores e as mudanças do mercado

• Empresas precisam ser ágeis e flexíveis

Hiper-Competição:

Significa estar o tempo todo criando estratégias para conseguir vantagens e eliminar as da concorrência

Dismistificando SOA

Page 5: Desmistificando SOA SERVICE-ORIENTED ARCHITECTURE Patrick de Faria – patrick.faria@totalbanco.com.br.

O Valor do Tempo de Resposta

Módulo 1 – Primeiro os Negócios

Time to Market:

Tempo entre conceber e lançar determinado produto ou serviço

Dismistificando SOA

Agilidade = Diferencial Competitivo

Page 6: Desmistificando SOA SERVICE-ORIENTED ARCHITECTURE Patrick de Faria – patrick.faria@totalbanco.com.br.

Surgem as Perguntas…

Módulo 1 – Primeiro os Negócios

• Como se tornar mais competitivo ? • Como aumentar a agilidade para mudança e inovação ?

• Como responder rapidamente ?

• Como ser flexível o suficiente para reduzir time to market ?

E como fazer tudo isso...

• Tendo o que reduzir custos e

• Conviver com ambientes de TI heterogêneos e cada vez mais complexos

Dismistificando SOA

Page 7: Desmistificando SOA SERVICE-ORIENTED ARCHITECTURE Patrick de Faria – patrick.faria@totalbanco.com.br.

Cabo de Guerra

Módulo 1 – Primeiro os NegóciosDismistificando SOA

Negócios:

•Aumentando nível e volume de mudanças e inovação•Pressionando por rapidez•Virtualizando

TI:

•Reduzir Custos• Lidar com Ambientes Heterogêneos•Maximizar os ativos de TI

Page 8: Desmistificando SOA SERVICE-ORIENTED ARCHITECTURE Patrick de Faria – patrick.faria@totalbanco.com.br.

Olhando para o Passado Recente

Módulo 1 – Primeiro os Negócios

• Empresas nos últimos anos aplicaram dezenas de teorias para aumentarem sua competitividade

• TQM• Six-Sigma• ISO• Re-engenharia• Outsourcing• Rightsourcing• ...

• Levando a competição para trincheiras da:

• Produtividade• Menor Custo

Dismistificando SOA

Page 9: Desmistificando SOA SERVICE-ORIENTED ARCHITECTURE Patrick de Faria – patrick.faria@totalbanco.com.br.

Resultado

Módulo 1 – Primeiro os Negócios

• Eficiência Operacional• Redução de Custos• Aumento da Satisfação do Cliente

Entretanto:

• Fácil de copiar • Não garante tradução sustentável de ganhos • Soma Zero a longo prazo • Pressão sobre os custos e sobre os preços • Competição baseada em Eficiência Operacional normalmente são mutuamente destrutivas

Dismistificando SOA

Eficiência Operacional:

Executar atividades similares melhor que o concorrente

Page 10: Desmistificando SOA SERVICE-ORIENTED ARCHITECTURE Patrick de Faria – patrick.faria@totalbanco.com.br.

Fronteira da Produtividade

Módulo 1 – Primeiro os NegóciosDismistificando SOA

Fronteira da Produtividade:

É o somatório de todas as melhores práticas existentes em um dado momento ou o máximo valor que uma empresa pode criar para um dado custo usando a melhor tecnologia, habilidades, técnicas de gerenciamento e ferramentas.

Porter, HBR, 1996

Page 11: Desmistificando SOA SERVICE-ORIENTED ARCHITECTURE Patrick de Faria – patrick.faria@totalbanco.com.br.

Soma Zero

Módulo 1 – Primeiro os NegóciosDismistificando SOA

Concorrentes Margens$

EMPRESA

Exigências

Ontem

Concorrentes Margens$

EMPRESA

Exigências

Amanhã

Concorrentes Margens$

EMPRESA

Exigências

Ontem

Concorrentes Margens$

EMPRESA

Exigências

Margens$

EMPRESA

Exigências

$

EMPRESA

Exigências

Ontem

Concorrentes Margens$

EMPRESA

Exigências

Amanhã

Page 12: Desmistificando SOA SERVICE-ORIENTED ARCHITECTURE Patrick de Faria – patrick.faria@totalbanco.com.br.

Eficiência Operacional é importante mas não é suficiente!

Segundo Michael Porter: “ A concorrência moderna tornou muito difícil manter vantagens em relação aos seus concorrentes. A empresas passaram a imitar umas às outras, em ritmo acelerado. Restam apenas dois caminhos:

• Diferenciação

• Preço Baixo

Concluindo

Módulo 1 – Primeiro os NegóciosDismistificando SOA

Michael Porter:

Michael Porter é considerado a maior autoridade mundial em estratégia competitiva. É autor dos maiores best-sellers internacionais na área, entre os quais se destacam: Vantagem competitiva e Estratégia competitiva

Page 13: Desmistificando SOA SERVICE-ORIENTED ARCHITECTURE Patrick de Faria – patrick.faria@totalbanco.com.br.

Sabemos que há um limite para compressão dos preços sem prejuízo a saúde financeira das empresas e/ou a qualidade do serviço ou produto.

Logo pedimos licença a Michael Porter para afirmar:

Só existe o caminho, o da diferenciação.

Portanto, seja Distinto ou seja Extinto!

Apenas um Caminho

Módulo 1 – Primeiro os NegóciosDismistificando SOA

Page 14: Desmistificando SOA SERVICE-ORIENTED ARCHITECTURE Patrick de Faria – patrick.faria@totalbanco.com.br.

Empresas só podem superar rivais, conquistar mercados e manter clientes se puderem estabelecer uma diferença ou singularidade que possa preservar .

Existente duas maneiras de se diferenciar:

• Diferenciação por Custos – Eficiência Operacional

• Diferenciação por Atividade – Posicionamento Estratégico

• INOVAR e INOVAR

Apenas um Caminho

Módulo 1 – Primeiro os NegóciosDismistificando SOA

Posicionamento Estratégico:

Executar atividades diferentes dos rivais ou executar atividades similares de diferentes meios ou maneiras.

Page 15: Desmistificando SOA SERVICE-ORIENTED ARCHITECTURE Patrick de Faria – patrick.faria@totalbanco.com.br.

Posicionamento Estratégico tem haver com TI

Desalinhamento é :

A diferença de velocidade entre TI e Negócios é a principal causa do fraco alinhamento entre estas duas áreas.

• Existem casos em que o negócio tem sido guiado pelas restrições de TI

• “Você sabe quanto tempo vai demorar para fazer isso ?”

Desalinhamento

Módulo 1 – Primeiro os NegóciosDismistificando SOA

Alinhameno:

• TI agrega real valor ao plano de negócios;•Não resiste às mudanças;•Combate a resistência às mudanças; e•É planejado•Dinâmico

The Squandred ComputerPaul StrassmannIEP (1997)

Page 16: Desmistificando SOA SERVICE-ORIENTED ARCHITECTURE Patrick de Faria – patrick.faria@totalbanco.com.br.

Atualmente empresas sofrem de ineficiência e falta de agilidade. Isso significa que elas não são capazes de atender rápido o suficiente as requisições de negócio

através de sua infra-estrutura de TI, efetivamente limitando a capacidade de reação para as demandas crescentes e

constantes do mercado.

Juntando Tudo

Módulo 1 – Primeiro os NegóciosDismistificando SOA

Page 17: Desmistificando SOA SERVICE-ORIENTED ARCHITECTURE Patrick de Faria – patrick.faria@totalbanco.com.br.

O Fenômeno das Solicitações de Mudanças

Módulo 1 – Primeiro os NegóciosDismistificando SOA

Page 18: Desmistificando SOA SERVICE-ORIENTED ARCHITECTURE Patrick de Faria – patrick.faria@totalbanco.com.br.

• Dificuldades de realizar mudanças estruturais

• O gerente de projeto e os participantes chaves foram para outros projetos

• A manutenção é realizadas por profissionais menos qualificados

• Perde-se o lobby interno e apoio em função de projetos mais prioritários

• Orçamentos apertados para consertos e manutenções

• Raramente existe orçamento para fazer refactoring

O Fenômeno das Solicitações de Mudanças

Módulo 1 – Primeiro os NegóciosDismistificando SOA

Refactoring:

Reestruturar um software aplicando mudanças em seu desenho,sem alterar o comportamento externo ou observável

Page 19: Desmistificando SOA SERVICE-ORIENTED ARCHITECTURE Patrick de Faria – patrick.faria@totalbanco.com.br.

Desmistificando SOA Desmistificando SOA

Módulo 2 – Os FundamentosMódulo 2 – Os Fundamentos

Page 20: Desmistificando SOA SERVICE-ORIENTED ARCHITECTURE Patrick de Faria – patrick.faria@totalbanco.com.br.

• Componentes de software que representam um processo, atividade ou tarefa de negócio.

• São componentes de alto nível, orientados ao negócio.

• Tecnicamente falando:

• Um Serviço é módulo de aplicação alto-contido• Acessível Remotamente

• Frequentemente os termos “Client” e “Server” são usados como sinônimos para “Service Consumer” e “Service Provider” repectivamente

O Conceito de Serviço

Módulo 2 – Os FundamentosDismistificando SOA

Page 21: Desmistificando SOA SERVICE-ORIENTED ARCHITECTURE Patrick de Faria – patrick.faria@totalbanco.com.br.

• Provém funcionalidades que podem ser re-usadas em diferentes aplicações

• Serviços são destinados para uso público e não de um específico Cliente

• Serviços encapsula alguma atividade de uma determinada complexidade

• Serviços deixam o mundo mais convenientes para o “Service Consumer”

• Um apropriado padrão de interação e comunicação deve existe entre “Service Provider” e “Service Consumer”

O Conceito de Serviço

Módulo 2 – Os FundamentosDismistificando SOA

Page 22: Desmistificando SOA SERVICE-ORIENTED ARCHITECTURE Patrick de Faria – patrick.faria@totalbanco.com.br.

• O Fator crucial no desenvolvimento de serviços é a questão do Grau de Abstração

• Podem existir vários tipos de Serviços

• Serviços Básicos ( Log, Pegar Informação do Cliente )• Serviços de Intermediários ( Gateways, Facades, Adapters )• Serviços de Transações ( Abrir Conta ) • Serviços de Negócios ( Processar Pedido )

O Conceito de Serviço

Módulo 2 – Os FundamentosDismistificando SOA

Page 23: Desmistificando SOA SERVICE-ORIENTED ARCHITECTURE Patrick de Faria – patrick.faria@totalbanco.com.br.

Fraco Acoplamento ( Loosing Coupled )

Módulo 2 – Os FundamentosDismistificando SOA

• Um Consumidor “chama” um provedor de serviço sem se importar como sua Localização, a Plataforma onde ele se encontra, a linguagem em que foi desenvolvido ou mesmo o protocolo de comunicação que ele utiliza

• Serviços são componentes de softwares desenvolvidos de maneira fracamente acoplada

Page 24: Desmistificando SOA SERVICE-ORIENTED ARCHITECTURE Patrick de Faria – patrick.faria@totalbanco.com.br.

Exemplos de Serviços

Módulo 2 – Os FundamentosDismistificando SOA

Caso do Cliente Inativo. Possíveis Serviços: • ConsultaCliente()• ClienteEstaCadastrado()• VerificaPosiçãoFInanceira() • ConsultaCPFSERASA()

Page 25: Desmistificando SOA SERVICE-ORIENTED ARCHITECTURE Patrick de Faria – patrick.faria@totalbanco.com.br.

Um Web Service é uma peça de software que está em conformidade com um conjunto de padrões abertos para

interoperabilidade. Esses padrões permitem que programas de computador troquem informação através de

mensagens, sem se importar com a plataforma de hardware, sistema operacional, infra-estrutura de rede ou

linguagem de programação.

Web Services

Módulo 2 – Os FundamentosDismistificando SOA

Page 26: Desmistificando SOA SERVICE-ORIENTED ARCHITECTURE Patrick de Faria – patrick.faria@totalbanco.com.br.

Web Services e suas Tecnologias

Módulo 2 – Os FundamentosDismistificando SOA

Web Services dependem de três tecnologias inter-relacionadas, baseadas no padrão XML:

• Simple Object Access Protocol (SOAP) — Protocolo para a troca de mensagens • Web Services Description Language (WSDL) — O documento que descreve exatamente o que o web service faz e como invoca-lo

• Universal Discovery, Description, and Integration (UDDI) — O diretório de web services que estão disponíveis para o uso

Page 27: Desmistificando SOA SERVICE-ORIENTED ARCHITECTURE Patrick de Faria – patrick.faria@totalbanco.com.br.

Web Services

Módulo 2 – Os FundamentosDismistificando SOA

Sem Web Services:

• Interface proprietária• Interface para envio e recebimento

Com Web Services:

• Interface universalmente aceitas• XML e SOAP• Ambos computadores entendem SOAP• Tráfego através de HTTP• JMS, FTP, SMTP ....

Page 28: Desmistificando SOA SERVICE-ORIENTED ARCHITECTURE Patrick de Faria – patrick.faria@totalbanco.com.br.

Web Services

Módulo 2 – Os FundamentosDismistificando SOA

Em ambientes de computação distribuídas utilização de SOAP sobre protocolos de internet tornam Web Services universais

• Operações em Web Services tipicamente envolvem Requisição e Resposta

• Existe no mínimo um Consumidor e um Provedor para cada transação

• Um Provedor pode servir a centenas de consumidores em diferentes computadores

Page 29: Desmistificando SOA SERVICE-ORIENTED ARCHITECTURE Patrick de Faria – patrick.faria@totalbanco.com.br.

Web Services e suas Tecnologias

Módulo 2 – Os FundamentosDismistificando SOA

Page 30: Desmistificando SOA SERVICE-ORIENTED ARCHITECTURE Patrick de Faria – patrick.faria@totalbanco.com.br.

Web Services - SOAP

Módulo 2 – Os FundamentosDismistificando SOA

• SOAP é a “língua franca” dos web services, • Documento estruturado em XML na qual as mensagens dos web services são construídas

Page 31: Desmistificando SOA SERVICE-ORIENTED ARCHITECTURE Patrick de Faria – patrick.faria@totalbanco.com.br.

Web Services - WSDL

Módulo 2 – Os FundamentosDismistificando SOA

• O WSDL é um documento estruturado em XML que descreve exatamente como um web service específico trabalha

• Mensagens SOAP podem ser geradas automaticamente a partir do documento WSDL

• Web services são conhecidos como “self-describing” em função das propriedades do WSDL

Page 32: Desmistificando SOA SERVICE-ORIENTED ARCHITECTURE Patrick de Faria – patrick.faria@totalbanco.com.br.

Web Services - UDDI

Módulo 2 – Os FundamentosDismistificando SOA

• UDDI oferece um mecanismo para clientes procurarem web services

• Usando UDDI clientes podem dinamicamente pesquisar e descobrir serviços oferecidos por um provedor de serviços

• UDDI funciona como uma espécie de “páginas amarelas”. Se precisar de serviço procure no UDDI

• Clientes podem encontrar serviços usando diferentes tipos de categorização

Page 33: Desmistificando SOA SERVICE-ORIENTED ARCHITECTURE Patrick de Faria – patrick.faria@totalbanco.com.br.

O que Web Services podem fazer

Módulo 2 – Os FundamentosDismistificando SOA

Comunicação entre sistemas de fornecedores diferentes ( Loose Coupling )

Page 34: Desmistificando SOA SERVICE-ORIENTED ARCHITECTURE Patrick de Faria – patrick.faria@totalbanco.com.br.

Limites dos Web Services

Módulo 2 – Os FundamentosDismistificando SOA

• Latência

• XML são considerados lentos• Web Services devem ser concebidos para função de alto nível

• Segurança

• Expor dados via padrões abertos pode ser perigoso• Não foram concebidos com essa preocupação

• Gerenciamento

• Integrações ponto-a-ponto• Monitoramento de performancee e disponibilidade• Controle de Versão

Page 35: Desmistificando SOA SERVICE-ORIENTED ARCHITECTURE Patrick de Faria – patrick.faria@totalbanco.com.br.

Desmistificando SOA Desmistificando SOA

Módulo 3 – Bem-Vindo a SOAMódulo 3 – Bem-Vindo a SOA

Page 36: Desmistificando SOA SERVICE-ORIENTED ARCHITECTURE Patrick de Faria – patrick.faria@totalbanco.com.br.

Empresas em Direção a SOA

Módulo 3 – Bem-vindo ao SOADismistificando SOA

Page 37: Desmistificando SOA SERVICE-ORIENTED ARCHITECTURE Patrick de Faria – patrick.faria@totalbanco.com.br.

Definição do Conceito

Módulo 3 – Bem-vindo ao SOADismistificando SOA

É uma estratégia que propõe a organização dos ativos de software de forma que eles possam representar

Processos, Atividades ou Tarefas de Negócio. Tais representações são chamadas de Serviços, que devem ser

baseados em padrões e facilmente combinados e reutilizados visando a satisfação dos requerimentos do

negócio.

Page 38: Desmistificando SOA SERVICE-ORIENTED ARCHITECTURE Patrick de Faria – patrick.faria@totalbanco.com.br.

Mais uma definição…

Módulo 3 – Bem-vindo ao SOADismistificando SOA

SOA é a implementação de uma plataforma de serviços, que significa elementos de processo de negócios, que podem ser combinados a recombinados em diferentes

soluções e cenários, como determinado pelas necessidades dos negócios. A capacidade de integrar e

recombinar serviços prover uma maior aproximação entre o negócios e TI bem como maior flexibilidade para

resolver novas situações.

Page 39: Desmistificando SOA SERVICE-ORIENTED ARCHITECTURE Patrick de Faria – patrick.faria@totalbanco.com.br.

Sobre SOA

Módulo 3 – Bem-vindo ao SOADismistificando SOA

• SOA (Service Oriented Architeture) significa Arquitetura orientada a serviços [1970].

• SOA não é orientado a objetos [1980]. Muito menos implementar web services

• Bons desenvolvedores estruturados implementam as características de código do SOA (dados só acessíveis via rotinas específicas, rotinas de cálculo comuns, etc).

• A diferença é a fatoração. É o olhar que damos a estrutura e volatilidade das rotinas em relação ao ciclo de vida do negócio.

Page 40: Desmistificando SOA SERVICE-ORIENTED ARCHITECTURE Patrick de Faria – patrick.faria@totalbanco.com.br.

Sobre SOA

Módulo 3 – Bem-vindo ao SOADismistificando SOA

• Dar ao software um ciclo de vida igual ao do negócio é uma vantagem sensível.

• Fraco acoplamento ( loose-coupled) dos serviços;

• Independência de tecnologia e protocolos;

• Uso irrestrito de padrões

• Incentivo à reutilização de ativos

• SOA não é aplicação N-TIER

Page 41: Desmistificando SOA SERVICE-ORIENTED ARCHITECTURE Patrick de Faria – patrick.faria@totalbanco.com.br.

SOA Permite

Módulo 3 – Bem-vindo ao SOADismistificando SOA

INTERFACESINTERFACES

FLUXO DO FLUXO DO PROCESSOPROCESSO

REGRAS DE REGRAS DE NEGÓCIONEGÓCIO

IMPLEMENTAÇÃOIMPLEMENTAÇÃO

INTEGRAÇÃOINTEGRAÇÃO

Aplicação MonolíticaAplicação Monolítica

Forte AcoplamentoForte Acoplamento

INTERFACESINTERFACES

Aplicação SOAAplicação SOA

Fraco AcoplamentoFraco Acoplamento

SERVIÇOSERVIÇO

FLUXO DE FLUXO DE CONTROLECONTROLE

SERVIÇOSERVIÇOSERVIÇOSERVIÇO

SERVIÇOSERVIÇOSERVIÇOSERVIÇO

SERVIÇOSERVIÇO

SERVIÇOSERVIÇOSERVIÇOSERVIÇO

SERVIÇOSERVIÇO

SERVIÇOSERVIÇOSERVIÇOSERVIÇO

SERVIÇOSERVIÇO

Page 42: Desmistificando SOA SERVICE-ORIENTED ARCHITECTURE Patrick de Faria – patrick.faria@totalbanco.com.br.

SOA Permite

Módulo 3 – Bem-vindo ao SOADismistificando SOA

• Desenvolvimento novos relacionamento com consumidores, parceiros e fornecedores

• Melhoramento do time to market • Criar soluções diferenciadas com alto valor para clientes e parceiros em tempo

• Redução de custos operacionais

• Justificativa de investimentos de TI de maneira mais clara

• Economia de tempo e dinheiro através da re-utilização

Page 43: Desmistificando SOA SERVICE-ORIENTED ARCHITECTURE Patrick de Faria – patrick.faria@totalbanco.com.br.

Camadas do SOA

Módulo 3 – Bem-vindo ao SOADismistificando SOA

Page 44: Desmistificando SOA SERVICE-ORIENTED ARCHITECTURE Patrick de Faria – patrick.faria@totalbanco.com.br.

O Paradigma Muda

Módulo 3 – Bem-vindo ao SOADismistificando SOA

Page 45: Desmistificando SOA SERVICE-ORIENTED ARCHITECTURE Patrick de Faria – patrick.faria@totalbanco.com.br.

Exemplo de Serviços II

Módulo 3 – Bem-vindo ao SOADismistificando SOA

Page 46: Desmistificando SOA SERVICE-ORIENTED ARCHITECTURE Patrick de Faria – patrick.faria@totalbanco.com.br.

Antes e Depois

Módulo 4 – Planejando e ModelandoDismistificando SOA

Page 47: Desmistificando SOA SERVICE-ORIENTED ARCHITECTURE Patrick de Faria – patrick.faria@totalbanco.com.br.

Componentes do SOA

Módulo 3 – Bem-vindo ao SOADismistificando SOA

SOASOA

AplicativosAplicativos ServiçosServiçosRepositório de Repositório de

ServiçosServiços

Barramento deBarramento de

ServiçosServiços

Page 48: Desmistificando SOA SERVICE-ORIENTED ARCHITECTURE Patrick de Faria – patrick.faria@totalbanco.com.br.

Componentes do SOA

Módulo 3 – Bem-vindo ao SOADismistificando SOA

APPLICATION FRONTENDS ( Aplicativos )

• Inicializam e controlam todas as atividades da empresa

• Existem diferentes tipo: com Interface gráfica, Aplicações WEB, …

• Podem ser agentes ou programas Batch

SERVICES ( Serviços )

• Componentes de software que representam um processo, atividade ou tarefa de negócio

• São componentes de alto nível, orientados ao negócio

• São compostos por lógica, dados, contrato e interfaces

Page 49: Desmistificando SOA SERVICE-ORIENTED ARCHITECTURE Patrick de Faria – patrick.faria@totalbanco.com.br.

Componentes do SOA

Módulo 3 – Bem-vindo ao SOADismistificando SOA

SERVICE REPOSITORY ( Repositório de Serviços )

• Um repositório de serviços que oferece facilidades para descobrir e obter informações sobre serviços

SERVICE BUS ( Barramento de Serviços )

• Interconecta todos os participantes de uma SOA, abstraindo a complexidade técnica que existe nas camadas inferiores.

Page 50: Desmistificando SOA SERVICE-ORIENTED ARCHITECTURE Patrick de Faria – patrick.faria@totalbanco.com.br.

Desmistificando SOA Desmistificando SOA

Módulo 4 – Planejando e ModelandoMódulo 4 – Planejando e Modelando

Page 51: Desmistificando SOA SERVICE-ORIENTED ARCHITECTURE Patrick de Faria – patrick.faria@totalbanco.com.br.

SOA e BPM

Módulo 4 – Planejando e ModelandoDismistificando SOA

• BPM ( Business Process Management ) - É um conceito de gerência geral que foca nos aspectos estratégicos e operacionais do mapeamento, análise e otimização de processos de negócio de uma empresa.

• BPM introduz o conceito de “process processing”

• BPMS (Business Process Management System) – Oferece plataforma técnica para realizar as inciativas propostas pelo BPM.

• BPMN é a notação usada pelas BPMS

• Implementam extensivamenteLinguagens de composição ( BPEL,...)

Page 52: Desmistificando SOA SERVICE-ORIENTED ARCHITECTURE Patrick de Faria – patrick.faria@totalbanco.com.br.

Evolução das linguagens de Composição

Módulo 4 – Planejando e ModelandoDismistificando SOA

Page 53: Desmistificando SOA SERVICE-ORIENTED ARCHITECTURE Patrick de Faria – patrick.faria@totalbanco.com.br.

Orquestrar X Coerografar

Módulo 4 – Planejando e ModelandoDismistificando SOA

Orquestrar

• Coordenação central• Os componentes não sabem quem esta envolvido

Coreografar

• Sem coordenação Central• Cada componente sabe exatamente quando executar sua operação

Page 54: Desmistificando SOA SERVICE-ORIENTED ARCHITECTURE Patrick de Faria – patrick.faria@totalbanco.com.br.

BPEL

Módulo 4 – Planejando e ModelandoDismistificando SOA

• BPEL ( Business Process Execution Language ) – Padrão de como especificar a orquestração de processos de negócios

• Baseado em XML

Page 55: Desmistificando SOA SERVICE-ORIENTED ARCHITECTURE Patrick de Faria – patrick.faria@totalbanco.com.br.

BPM, SOA e BPEL

Módulo 4 – Planejando e ModelandoDismistificando SOA

Page 56: Desmistificando SOA SERVICE-ORIENTED ARCHITECTURE Patrick de Faria – patrick.faria@totalbanco.com.br.

BPM, SOA e BPEL na prática

Módulo 4 – Planejando e ModelandoDismistificando SOA

Page 57: Desmistificando SOA SERVICE-ORIENTED ARCHITECTURE Patrick de Faria – patrick.faria@totalbanco.com.br.

Um gráfico vale mais que mil palavras

Módulo 3 – Bem-vindo ao SOADismistificando SOA

Processos de Negócios

( BPEL )

Serviços( WS )

Legado

Componentes

Ativ

os

Ativ

os

Page 58: Desmistificando SOA SERVICE-ORIENTED ARCHITECTURE Patrick de Faria – patrick.faria@totalbanco.com.br.

Entendendo o ESB

Módulo 4 – Planejando e ModelandoDismistificando SOA

• É um termo criado pelo Gartner Group.

• Seu conceito é de uma camada de desacoplamento entre aplicações (e não sistemas) já existentes.

• É implementado através de uma solução de mensageria de interface rica. •A função primária do ESB é conectividade, inter-conectar os participantes de um SOA • Facilita aplicações e serviços invocarem serviços

• ESB é uma abordagem para promover integração entre softwares já existentes através de uma coleção de midlewares diferentes

Page 59: Desmistificando SOA SERVICE-ORIENTED ARCHITECTURE Patrick de Faria – patrick.faria@totalbanco.com.br.

Entendendo o ESB

Módulo 4 – Planejando e ModelandoDismistificando SOA

Principais funcionalidades

• Heterogenia de Tecnologias – O ESB deve conectar uma variedade de diferentes tecnologias possibilitando a comunicação de participantes baseados em diferentes linguagens de programação, sistemas operacionais

Heterogenia de Comunicação – O ESB deve oferecer uma variedade de conceitos de comunicação permitindo diferentes modos de comunicação entre os participantes.

• Serviços Técnicos – O ESB pode prover serviços como LOG, Auditoria, Segurança e Transformação.

• ou pela definição da IBM – Transporte, Mediação e Qualidade do Serviço ( Quality of Service - QoS ) e Web Service Gateway

Page 60: Desmistificando SOA SERVICE-ORIENTED ARCHITECTURE Patrick de Faria – patrick.faria@totalbanco.com.br.

Entendendo o ESB

Módulo 4 – Planejando e ModelandoDismistificando SOA

Page 61: Desmistificando SOA SERVICE-ORIENTED ARCHITECTURE Patrick de Faria – patrick.faria@totalbanco.com.br.

Entendendo ESB II

Módulo 3 – Bem-vindo ao SOADismistificando SOA

Page 62: Desmistificando SOA SERVICE-ORIENTED ARCHITECTURE Patrick de Faria – patrick.faria@totalbanco.com.br.

Entendendo ESB III

Módulo 3 – Bem-vindo ao SOADismistificando SOA

Page 63: Desmistificando SOA SERVICE-ORIENTED ARCHITECTURE Patrick de Faria – patrick.faria@totalbanco.com.br.

Entendendo ESB IV

Módulo 3 – Bem-vindo ao SOADismistificando SOA

Page 64: Desmistificando SOA SERVICE-ORIENTED ARCHITECTURE Patrick de Faria – patrick.faria@totalbanco.com.br.

O Programa SOA

Módulo 4 – Planejando e ModelandoDismistificando SOA

• SOA é uma iniciativa de longo prazo (3 – 5 anos)

• Compreende a execução de dezenas ou centenas de projetos

• Projetos que devem respeitar Estruturas, Processos e Padrões

• Além (ou apesar) de adotarem integralmente o conceito de “Acoplamento Fraco” que caracteriza os Serviços

Programa:

Segundo PMI-PMBOK, um programa consiste em um conjunto de projetos

Page 65: Desmistificando SOA SERVICE-ORIENTED ARCHITECTURE Patrick de Faria – patrick.faria@totalbanco.com.br.

Projetos SOA

Módulo 4 – Planejando e ModelandoDismistificando SOA

• Projetos são de pequeno porte (2 – 8 semanas);

• Exceto o projeto de implementação do ESB, que deve evoluir gradualmente e pode durar meses;

• Proximidade com as áreas de negócio é fundamental para o sucesso assim como a aderência aos padrões;

Page 66: Desmistificando SOA SERVICE-ORIENTED ARCHITECTURE Patrick de Faria – patrick.faria@totalbanco.com.br.

Enganos comuns

Módulo 4 – Planejando e ModelandoDismistificando SOA

1. Argumentar sobre o conceito ao invés sobre o como fazer

2. Confundir Web Services com SOA

3. Deixar SOA exclusivamente nas mãos de TI

4. Achar que se pode comprar SOA de um fornecedor

5. Construir SOA “do zero”

6. Usar um processo Cascata ( “waterfall” )

7. Tornar SOA muito complicado

Page 67: Desmistificando SOA SERVICE-ORIENTED ARCHITECTURE Patrick de Faria – patrick.faria@totalbanco.com.br.

Primeiros Passos

Módulo 4 – Planejando e ModelandoDismistificando SOA

• Identificar 1 (um!) processo de negócio que:- Componha o ‘core business’

- Seja ‘nervoso’ (volátil)- Tenha relevância na cadeia de valor- Esteja ‘mal-atendido’ por TI (e esteja no backlog de manutenção!)

• Definir um “Rabisco de Processo”• Identificar e Classificar todos os prováveis Serviços• Aferir capacidade de reuso dos prováveis Serviços

• Avaliar:- Projeto SOA (overhead reuso) X Tradicional

- Redução do Custo de Propriedade

• Rabiscar um “Plano Arquitetônico”• Bancar o primeiro “Projeto SOA”!

Page 68: Desmistificando SOA SERVICE-ORIENTED ARCHITECTURE Patrick de Faria – patrick.faria@totalbanco.com.br.

Desmistificando SOA Desmistificando SOA

Módulo 5 – SOA em AçãoMódulo 5 – SOA em Ação

Page 69: Desmistificando SOA SERVICE-ORIENTED ARCHITECTURE Patrick de Faria – patrick.faria@totalbanco.com.br.

SOA em B2B

Módulo 5 – SOA em AçãoDismistificando SOA

Aumentando o potencial :

• Facilidade para novas soluções• Facilidade para novos negócios

Page 70: Desmistificando SOA SERVICE-ORIENTED ARCHITECTURE Patrick de Faria – patrick.faria@totalbanco.com.br.

Construindo HUBs

Módulo 5 – SOA em AçãoDismistificando SOA

HUBs Corporativos: • Facilita o gerenciamento• Facilita a segurança

Page 71: Desmistificando SOA SERVICE-ORIENTED ARCHITECTURE Patrick de Faria – patrick.faria@totalbanco.com.br.

Interação entre Parceiros

Módulo 5 – SOA em AçãoDismistificando SOA

Page 72: Desmistificando SOA SERVICE-ORIENTED ARCHITECTURE Patrick de Faria – patrick.faria@totalbanco.com.br.

Interação entre Parceiros

Módulo 5 – SOA em AçãoDismistificando SOA

Page 73: Desmistificando SOA SERVICE-ORIENTED ARCHITECTURE Patrick de Faria – patrick.faria@totalbanco.com.br.

Motivação e Benefícios

Módulo 3 – Bem-vindo ao SOADismistificando SOA

Re-Uso:

Segundo Barry,1999 alguns aspectos que

tendem a influenciar

diretamente a produtividade do

desenvolvimento e no impacto sobre

custos é descrito da seguinte forma:

• Trabalhando mais rápido (ex.: automação,

ferramentas e ambientes): 8% de

ganho.

• Trabalhando de forma mais

inteligente (ex.: melhoria dos

processos): 17% de ganho.

• Evitando o trabalho

desnecessário (ex.: reuso dos artefatos de projeto): 47% de

ganho.

Page 74: Desmistificando SOA SERVICE-ORIENTED ARCHITECTURE Patrick de Faria – patrick.faria@totalbanco.com.br.

Dismistificando SOA

Obrigado !

Page 75: Desmistificando SOA SERVICE-ORIENTED ARCHITECTURE Patrick de Faria – patrick.faria@totalbanco.com.br.

Dismistificando SOA

Bibiliografia / Referências

Enterprise SOADirk Krafzig et alPrentice-Hall (2005)

Understanding Enterprise SOAEric PulerManning (2006)

Service-Oriented Architecture ( SOA ) CompassNobert B., Sajay BIBM Press (2006)

Let´s Talk About SOA – Creative Commons

www.zapthink.com

www.hbr.com

www.bpmi.org

Advantage CompetitiveMichael PorterFree Press( 1987 )