Soa Fundamentos

11,263 views
11,093 views

Published on

Tutorial que descreve os fundamentos da SOA (Arquitetura Orientada a Serviço).

Published in: Technology
2 Comments
23 Likes
Statistics
Notes
No Downloads
Views
Total views
11,263
On SlideShare
0
From Embeds
0
Number of Embeds
581
Actions
Shares
0
Downloads
1,651
Comments
2
Likes
23
Embeds 0
No embeds

No notes for slide

Soa Fundamentos

  1. 1. SOA Fundamentos www.etecnologia.com.br Rildo F Santos rildo.santos@etecnologia.com.br (11) 9123-5358 @rildosan (11) 9962-4260 http://rildosan.com/ SOA Fundamentos Fundamentos, Princípios de Design, Melhores Práticas e Governança Rildo Santos | @rildosan | rildo.santos@etecnologia.com.br | www.etecnologia.com.br| |http://etecnologia.ning.com SOA Versão 3.0 | Rildo F Santos | (@rildosan) | rildo.santos@etecnologia.com.br | www.etecnologia.com.br http://etecnologia.ning.com 1
  2. 2. Programa: “Menos Papel, Mais Árvores ®” Qual é o mundo que queremos ? O primeiro passo para criar um mundo melhor, é saber qual tipo de mundo que queremos ter e qual tipo que deixaremos de herança para as próximas gerações.SOA Fundamentos Nossa missão: É buscar pelo equilibro do homem, da tecnologia e do meio ambiente. Para cumprir esta missão é necessário: mobilizar, conscientizar, comprometer e AGIR. O programa Menos Papel, Mais Árvores®, é uma ação, com objetivo de estimular o consumo sustentável de papel dentro das organizações. Quer participar ? - Reduza o uso de papel (e de madeira) o máximo possível. - Só imprima se for extremamente necessário. - Evite comprar produtos com excesso de embalagem. - Ao imprimir ou escrever, utilize os dois lados do papel. - Use papel reciclado. Este material não deve ser impresso.. SOA Versão 3.0 | Rildo F Santos | (@rildosan) | rildo.santos@etecnologia.com.br | www.etecnologia.com.br | http://etecnologia.ning.com 2
  3. 3. Facilitador: Rildo Santos | @rildosan | rildo.santos@etecnologia.com.br É Coach, Consultor, Palestrante, Instrutor e Professor de MBA. É graduado Administração de Empresas, pós graduação Metodologia do Ensino Superior e mestrando em Engenharia de Software pela Universidade Mackenzie. Resumo da Experiência: Tem mais de 10.000 horas de experiência em Análise de Negócio, Gestão por Processo, Inovação, Gestão de Serviços de TI, Governança de TI, Métodos Ágeis (SCRUM, XP, Kanban, Lean, e FDD) e Tecnologia.SOA Fundamentos Prestou serviço de instrutor para as Universidades Corporativas: Correios, Petrobras, Serpro, Secretária da Fazenda do Estado de São Paulo. Foi instrutor de Tecnologia de Orientação a Objetos, UML e Linguagem Java na Sun Microsystems e da IBM. Professor de curso de MBA da Fiap e foi professor de pós-graduação do IBTA. Participou de projetos em diversas empresas públicas e privadas, tais como: Usiminas, Unifesp, TJSE, Petrobras, Sefaz- SP, Sonagol (Angola), Secretária da Segurança do SP, Sabesp, Prodesp, Serpro, Bradesco, Correios, Banco do Brasil, Neo Quimica, Benner Sistemas, Seisa Saúde, Toot Micro, Vivo, Novabase, CTEP, do Hospital das Clinicas da Faculdade de Medicina do Estado de São Paulo, Aço Villares, Conexxoes Educacional e Amil. Vivência em Análise de Negócio: Já atuou como Analista de Negócio em dezenas de empresas e foi responsável pela Formação de Analista de Negócio na Prodesp – SP, treinou mais 200 pessoas, no Serpro - treinou 32 pessoas, na Prefeitura da Cidade do Rio de Janeiro - 24 pessoas, entre outras empresas. Certificações: CSM - Certified SCRUM Master, CSPO - Certified SCRUM Product Owner ,SUN Java Certified Instructor , ITIL Foundation e Instrutor Oficial de Cobit Foundation e Cobit Games; SOA Versão 3.0 | Rildo F Santos | (@rildosan) | rildo.santos@etecnologia.com.br | www.etecnologia.com.br | http://etecnologia.ning.com 3
  4. 4. SOA Fundamentos Objetivo: Arquitetura Orientada a Serviço (SOA) é uma abordagem arquitetural que permite a criação de serviços interoperáveis que podem facilmente ser reusável e compartilhados entre aplicações e sistema legados. Nesta apresentação falaremos sobre os conceitos, princípios e fundamentos do SOA. Ainda será demonstrado as práticas para design de serviço, orquestração de serviços, arquitetura do SOA e seus principais componentes, governança de TI e dicas de implementação do SOA. Objetivo desta apresentação é dar uma visão prática e simples do SOA, que ajudará as pessoas a entenderem o SOA e seus fundamentos. SOA Versão 3.0 | Rildo F Santos | (@rildosan) | rildo.santos@etecnologia.com.br | www.etecnologia.com.br | http://etecnologia.ning.com 4
  5. 5. Introdução Arquitetura Orientada a Serviços, SOA, promete mudar consideravelmente a interação entre o Desafio negócio e a Tecnologia da Informação (TI). O maior desafio durante as últimas décadas é fazer que TI responda mais ágil as mudanças no negócio, como: processos de aquisição e fusões, novas oportunidades ou alteração de regras de negócios. Orientação a SOA, permite criar uma arquitetura que aproveita os investimentos já existentes de infra- Serviços estrutura e software (legado). Esta arquitetura tem como componente chave os ―serviços‖, que estão ligados diretamente com as necessidades dos negócios. Arquitetura Os serviços existentes podem ser combinados de diversas formas diferentes e assim reduz o AgilidadeSOA Fundamentos tempo para atender as novas oportunidades, novas demandas ou alteração de regras de negócios, resultando em agilidade e reaproveitamento de serviços. O barramento de serviços Interoperabilidade é responsável pela interoperação entre os serviços e o legado (aplicações e dados). Flexibilidade Reuso Os institutos como IDC, Gartner e Forrester dizem a mesma coisa: Mais investimentos para projetos SOA. Tendência Confirmando o grau de satisfação de quem já esta utilizando SOA, 69% das empresas que já adotaram este estilo de arquitetura disseram que vão aumentar seus investimentos em projetos SOA. A pesquisa foi mais além e descobriu também que 83% das empresas que adotam SOA o usam para resolver problemas de integrações internas, mas que uma parcela significativa (46% das grandes corporações e 27% das médias) usa SOA para transformar seus negócios. Por que tanto interesse e investimentos em SOA ? SOA é uma evolução significativa no desafio de solucionar um dos principais problemas entre o negócio e a TI: A flexibilidade para atender as necessidades do negócio, no tempo certo, Integração com custo adequado e com qualidade do serviço esperada. A tão desejada integração entre negócio e TI. SOA Versão 3.0 | Rildo F Santos | (@rildosan) | rildo.santos@etecnologia.com.br | www.etecnologia.com.br | http://etecnologia.ning.com 5
  6. 6. Conteúdo 1 Fundamentos e Conceitos do SOA Serviços, conceito, princípios 2 e designSOA Fundamentos 3 Arquitetura SOA 4 Governança de TI e o SOA 5 Dicas de implementação do SOA SOA Versão 3.0 | Rildo F Santos | (@rildosan) | rildo.santos@etecnologia.com.br | www.etecnologia.com.br | http://etecnologia.ning.com 6
  7. 7. SOA Fundamentos Parte 1 Conceitos e fundamentos do SOA SOA Versão 3.0 | Rildo F Santos | (@rildosan) | rildo.santos@etecnologia.com.br | www.etecnologia.com.br | http://etecnologia.ning.com 7
  8. 8. A necessidade da integração: Como promover a integração entre o negócio e a TI ?SOA Fundamentos Como TI pode contribuir para geração de valor ? - TI deve ter flexibilidade para responder as mudanças do negócio mais rápido -Ter mais agilidade para atender as novas demandas de negócios e as novas oportunidades - Entregar os serviços de com qualidade esperada e no tempo certo - Reduzir os custos da operação - Aumentando a eficiência operacional (mitigar riscos) - Ser compliance as leis e regulamentos SOA Versão 3.0 | Rildo F Santos | (@rildosan) | rildo.santos@etecnologia.com.br | www.etecnologia.com.br | http://etecnologia.ning.com 8
  9. 9. O desafio da integração: Como promover a integração entre o negócio e a TI ?SOA Fundamentos SOA (Serviço Orientada Arquitetura) promove a integração entre o Negócio e a TI, para que a TI (Tecnologia da Informação) seja mais flexível para atender as mudanças de regras de negócio e mais ágil para responder as novas demandas e oportunidades de negócios... SOA Versão 3.0 | Rildo F Santos | (@rildosan) | rildo.santos@etecnologia.com.br | www.etecnologia.com.br | http://etecnologia.ning.com 9
  10. 10. O que é SOA ? SOA is a software architecture style that uses server-side, consumer-independent business components, accessed in an interactive manner via documented remotely accessible programmatic interfaces. It’s modular and distributable. Fonte: Gartners Definition of SOA: Forrester report1 included the following definition of SOA. A style of design, deployment, and management of both applications and software infrastructure in which: • Applications are organized into business units of work (business services) that are (typically) network accessible. • Service interface definitions are first-class developmentSOA Fundamentos artifacts, receiving the same degree of design attention (and more) as databases and applications. • Quality of service (QoS) characteristics (security, transactions, performance, style of service interaction, and so on) are explicitly identified and specified for each service. • Software infrastructure takes active responsibility for managing service access, execution, and QoS. • Services and their metadata are catalogued in a repository and discoverable by development tools and management tools. • Protocols within the architecture are predominantly, but not exclusively, based on industry standards (such as the emerging stack of standards around Simple Object Access Protocol or SOAP).. Fonte: Forrester Report Resumido: Arquitetura Orientada a Serviços (SOA) É um estilo de arquitetura que promove a integração entre o negócio e a TI através de serviços. O serviço é o principal componente desta arquitetura. SOA preconiza como resultado: maior agilidade para atender as novas demandas, flexibilidade para atender as mudanças, redução de custo e reuso de ativos (serviços). SOA Versão 3.0 | Rildo F Santos | (@rildosan) | rildo.santos@etecnologia.com.br | www.etecnologia.com.br | http://etecnologia.ning.com 10
  11. 11. O que não é SOA SOA não é uma tecnologia SOA não é um produto SOA não é um projeto de TI SOA não é um softwareSOA Fundamentos SOA não é um “framework” SOA não é uma metodologia SOA não é uma solução de negócio SOA não é um middleware SOA não é um padrão (norma) SOA não é um serviço SOA não é uma ferramenta de produtividade SOA Versão 3.0 | Rildo F Santos | (@rildosan) | rildo.santos@etecnologia.com.br | www.etecnologia.com.br | http://etecnologia.ning.com 11
  12. 12. SOA é uma evolução As tecnologias, os conceitos, arquiteturas viabilizaram o SOA SOASOA Fundamentos SOA Versão 3.0 | Rildo F Santos | (@rildosan) | rildo.santos@etecnologia.com.br | www.etecnologia.com.br | http://etecnologia.ning.com 12
  13. 13. Sobre SOA: Motivação para SOA é pelo SOA diz respeito a valor que traz para a área de mudanças nos negócios: negócios. Aumenta a velocidade das Não é uma motivação apenas mudanças, facilita as conexões tecnológica de negócio e melhora o controle dos negócios.SOA Fundamentos “O impacto de SOA nos SOA negócios, fora da indústria “SOA é crítico para… executar a de TI, reside no aumento de visão on-demand e preparar produtividade relativa as …as mudanças incrementais mudanças de processos de …ao longo do tempo. negócio.” Empresas…tomarão decisões melhores.” SOA Versão 3.0 | Rildo F Santos | (@rildosan) | rildo.santos@etecnologia.com.br | www.etecnologia.com.br | http://etecnologia.ning.com 13
  14. 14. Componentes SOA (Ponto de Entrada): Verificar novamente Avaliar Verificar os Verificar a resultado dados reserva carro da reserva OK Verificar o Verificar a cartão de crédito reserva do hotel + Confirmação Recebe Reply Verificar a reserva do vôo Trata de falha ReplySOA Fundamentos Serviços Políticas Processos Papéis e Responsabilidades Pessoas: Habilitam a eficiência através da interação e colaboração Processo: Oferece ferramentas e serviços para ajudar a agilizar gerenciamento de processo de negócio Informação: Permite o acesso a fontes de dados heterogêneas Conectividade: Conecta pessoas, processos e informação Reúso: Maximiza o valor dos ativos (serviços) SOA Versão 3.0 | Rildo F Santos | (@rildosan) | rildo.santos@etecnologia.com.br | www.etecnologia.com.br | http://etecnologia.ning.com 14
  15. 15. SOA. Visão sem SOA Visão da Arquitetura (tradicional): Frontend Sales Force clientes (campo) Portal B2B EDI1SOA Fundamentos BI CRM Billing Sistemas ERP Backend Visão da Arquitetura com SOA: Frontend Consumidores Sales (clientes) Force Portal B2B (campo) Processos & Serviços SOA Camada de Integração ESB CRM Billing Backend Outros ERP Fornecedores Sistemas (sistemas) 1 - EDI (Electronic Data Interchange): Troca Eletrônica de Dados SOA Versão 3.0 | Rildo F Santos | (@rildosan) | rildo.santos@etecnologia.com.br | www.etecnologia.com.br | http://etecnologia.ning.com 15
  16. 16. Por que SOA ? Interoperabilidade (TI) Atendimento a Cliente (Call Center) Clientes Informações sobre o clientes CRM Informações sobre relacionamento com cliente Catálogo de Serviços e Produtos Informações sobre Serviços e ProdutosSOA Fundamentos Billing Cliente Informações sobre faturamento do cliente Registro e Qualidade Sistema de Atendimento ao Cliente Call Center Sistemas/Aplicações Para o atender um cliente o pessoal do “Call Center” precisa de informações de diversos sistemas. Essas informações devem estar consolidadas em única visão SOA Versão 3.0 | Rildo F Santos | (@rildosan) | rildo.santos@etecnologia.com.br | www.etecnologia.com.br | http://etecnologia.ning.com
  17. 17. Por que SOA ? Reúso de Serviços (TI) Cliente (CEP do Cliente) > endereço do cliente Pedido (CEP do endereço de entrega)SOA Fundamentos > endereço (local) de entrega Serviço Logística/Distribuição (CEP da origem e de Busca destino) de CEP > Calculo do frete Fornecedor (CEP do fornecedor) > endereço do fornecedor Cobrança (CEP do endereço de cobrança) > endereço (local) de cobrança Sistemas / Aplicações Quantos serviços de Busca de CEP será necessário atender os sistemas/aplicações que precisam da informação do CEP ? SOA Versão 3.0 | Rildo F Santos | (@rildosan) | rildo.santos@etecnologia.com.br | www.etecnologia.com.br | http://etecnologia.ning.com
  18. 18. Resultados com SOA 42% dos orçamentos de TI – apenas SOA melhora interoperação dos para fazer “coisa se conectar com sistemas existentes (legado) com os coisa”. novos sistemas Gartner Fez a consolidação de onze sistemas em único sistema.SOA Fundamentos Mais de 70% dos orçamentos de TI são SOA promove a redução de custo alocados à manutenção e operação de de manutenção dos sistemas sistemas existentes. existentes The Yankee Group Redução de 20% nos custos de suporte e manutenção de sistemas SOA Versão 3.0 | Rildo F Santos | (@rildosan) | rildo.santos@etecnologia.com.br | www.etecnologia.com.br | http://etecnologia.ning.com 18
  19. 19. Diferenças entre as Abordagens: Tradicional e SOA Negócio Negócio Verificar novamente Verificar novamente Avaliar Avaliar Verificar os Verificar a Verificar os Verificar a resultado resultado dados reserva carro dados reserva carro da reserva da reserva OK OK Verificar o Verificar a Verificar o Verificar a cartão de crédito reserva do hotel + Confirmação cartão de crédito reserva do hotel + Confirmação Recebe Recebe Reply Reply Verificar a Verificar a reserva reserva do vôo do vôo Trata de falha Trata de falha Reply ReplySOA Fundamentos Business Case USe Case Serviço Serviço Serviço Serviço Componentes Classes Serviço Serviço Serviço 4 SOA Versão 3.0 | Rildo F Santos | (@rildosan) | rildo.santos@etecnologia.com.br | www.etecnologia.com.br | http://etecnologia.ning.com 19
  20. 20. Uma Nova Orientação: Orientação a Serviços vs Orientação a Objetos Conceito Orientação a Objetos (OOAD) Orientação a Serviço (SODA) Orientação Objetos Serviço Unidade de trabalho Classes Serviço Foco Requisitos funcionais Processo de negócio Tecnologia com suporte a Tecnologia com suporte aSOA Fundamentos Tecnologia Orientação a Objetos serviços Exemplo: Java e .Net Exemplo: Web Services BPMN (para alguns casos Notação de Modelagem UML UML) Reuso Opcional (raro) Faz parte da arquitetura Funcionalidade de Business Function (Função Caso de uso Negócio de negócio) Serviços sem estado Estado Objetos com estado (Stateful) (stateless) Qualidade do Serviço Requisitos não funcionais QoS dos Serviços (QoS) SOA Versão 3.0 | Rildo F Santos | (@rildosan) | rildo.santos@etecnologia.com.br | www.etecnologia.com.br | http://etecnologia.ning.com 20
  21. 21. Papéis em Projeto SOA Gestor de TI Vender SOA para alta gestão e pares, apresentar benefícios do SOA e comprovar ROI SOA. Visão executiva Analista de Negócio/ Sistema Mapear e modelar os processos e desenhar serviços de negócios, coreografar/orquestrarSOA Fundamentos serviços SOA Foundation + SOA Design Arquiteto Estabelecer o modelo de arquitetura e padrões; definir o ESB e ferramentas; e adotar um modelo de Governança SOA que atenda o negócio SOA Foundation + SOA Design + SOA Architecture Implementation Desenvolvedor Implementar os serviços SOA Implementation SOA Implementation SOA Versão 3.0 | Rildo F Santos | (@rildosan) | rildo.santos@etecnologia.com.br | www.etecnologia.com.br | http://etecnologia.ning.com 21
  22. 22. SOA Fundamentos SOA, Value Drivers: Melhorar os processos Redução de Custos Agilidade melhora a qualidade da operação de TI para atender as novas dos serviços e produtos demandas e oportunidades Flexibilidade Interoperabilidade Integração para responder as mudanças entre os sistemas legados e novos entre o Negócio e a TI SOA Versão 3.0 | Rildo F Santos | (@rildosan) | rildo.santos@etecnologia.com.br | www.etecnologia.com.br | http://etecnologia.ning.com 22
  23. 23. Resumo: SOA é um estilo de arquitetura; SOA, é orientada a serviços ; SOA é baseado em padrões abertos e padrões de mercado; Os principais valores do SOA são: - Flexibilidade para responder as mudanças; - Agilidade para atender as novas demandas de negócio e oportunidade; - Redução do Time-to-Market. Redução do tempo de entrega novos serviços para atender oSOA Fundamentos negócio; - Interoperabilidade entre sistemas legados e novos; - Melhoria de processos; - Reuso de Serviços (ativos). O reúso maximiza o valor dos ativos; - Aumenta estabilidade na operação de TI. Aumenta a tolerância a falhas; - Redução de Custos da Operação de TI. - Mudança de paradigma, de alinhamento para integração: De: Alinhamento Para: Integração entre entre o negócio e a o negócio e a TI TI SOA Versão 3.0 | Rildo F Santos | (@rildosan) | rildo.santos@etecnologia.com.br | www.etecnologia.com.br | http://etecnologia.ning.com 23
  24. 24. SOA Fundamentos Parte 2 Serviços, conceitos, princípios e design SOA Versão 3.0 | Rildo F Santos | (@rildosan) | rildo.santos@etecnologia.com.br | www.etecnologia.com.br | http://etecnologia.ning.com 24
  25. 25. Serviço. Definição de Serviço: A service is a unit of solution logic to which service-orientation has been applied to a meaningful extent. It is the application of service-orientation design principles that distinguish a unit of logic as a service compared to units of logic that may exist only as objects or components. Within SOA projects, a service is commonly conceptualized during the service-oriented analysis phase, at which time it is referred to as a service candidate. Subsequent service-oriented design and development stages implement a service as a physically independent software program with specific design characteristics that support the attainment of the strategic goals associated with service- oriented computing.SOA Fundamentos Each service is assigned its own distinct functional context and is comprised of a set of capabilities related to this context. Therefore, a service can be considered a container of capabilities associated with a common purpose (or functional context).Fonte: Tomas Erl (www.soaglossary.com) Service: A service component is an executable piece of software that offers a well described interface that can be accessed by other independently developed and operating pieces of software. This access can be achieved through a process of runtime discovery — that is, the user of the service need have no prior knowledge of the service and its interface definition before it seeks to access the service. A service is more specifically defined as a Web service when the interface is defined using WSDL and is accessed Resumindo: Definição do Serviço via SOAP over HTTP. The principles of SOA are not new. Serviço é um componente que atende a uma The development of Common Object Request Broker função de negócio (business function). Ele Architecture (CORBA) was an important step in the evolution of SOA. Web services are the latest realization of pode receber e responder requisições standards-based SOA. ocultando os detalhes de sua implementação. Fonte: Gartner SOA Versão 3.0 | Rildo F Santos | (@rildosan) | rildo.santos@etecnologia.com.br | www.etecnologia.com.br | http://etecnologia.ning.com 25
  26. 26. Exemplo de Serviço Geração Transmissão Distribuição sua casaSOA Fundamentos Questão: - Precisamos saber como feito a geração da energia elétrica e/ou sua transmissão para usufruirmos dos benefícios da eletricidade (serviço) ? SOA Versão 3.0 | Rildo F Santos | (@rildosan) | rildo.santos@etecnologia.com.br | www.etecnologia.com.br | http://etecnologia.ning.com 26
  27. 27. Exemplo de Serviço: Governança Contrato de Uso Contrato de UsoSOA Fundamentos Transmissão Comercialização Geração Distribuição Contrato de Conexão Contrato de Conexão SOA Versão 3.0 | Rildo F Santos | (@rildosan) | rildo.santos@etecnologia.com.br | www.etecnologia.com.br | http://etecnologia.ning.com 27
  28. 28. Exemplo de Serviço: Qualidade do Serviço (QoS) Energia Elétrica – Indicadores de Continuidade de Fornecimento ANEEL (www.aneel.gov.br) Todos os consumidores (indústrias, comércio e hospitais e pessoas físicas) recebem nas contas de luz informações sobre os Indicadores Individuais de Qualidade noSOA Fundamentos fornecimento de energia elétrica, DIC (Duração de Interrupção por Unidade Consumidora Individual), FIC (Freqüência de Interrupção por Unidade Consumidora Individual) e DMIC (Duração Máxima Permitida de Interrupção por Unidade Consumidora). SOA Versão 3.0 | Rildo F Santos | (@rildosan) | rildo.santos@etecnologia.com.br | www.etecnologia.com.br | http://etecnologia.ning.com 28
  29. 29. Processo: Confirmação de Reserva: Exemplo de Serviço: Serviço Verificar novamente Avaliar resultado Verificar a da reserva do Serviço reserva carro carroSOA Fundamentos OK Confirmar Receive Reserva Verificar a reserva do hotel + Confirmação Verificar a reserva do vôo Reply Tratar a falha Serviço Reply SOA Versão 3.0 | Rildo F Santos | (@rildosan) | rildo.santos@etecnologia.com.br | www.etecnologia.com.br | http://etecnologia.ning.com 29
  30. 30. Principais Características dos Serviços (Princípios de Serviços) Para fornecer o valor para o negócio, os serviços tem conjunto de critérios. Estes critérios são atributos ou características: Serviços são Reutilizáveis Serviços compartilham um Contrato formal Baixo acoplamento (Loose Couping) Contrato bem definido (Well-SOA Fundamentos Serviços possuem um Baixo Acoplamento definied service contracts) Serviços Abstraem a lógica Granularidade grossa (Coarse- Serviços são capazes de se grained services) Comporem Serviço Serviços Serviços são Autônomos Serviços evitam Alocação de Recursos por longos períodos Abstrato (abstração) Sem estado (stateless) Serviços são capazes de serem Descobertos Encapsulado Coeso (alta coesão) Fonte: Thomas Erl SOA Versão 3.0 | Rildo F Santos | (@rildosan) | rildo.santos@etecnologia.com.br | www.etecnologia.com.br | http://etecnologia.ning.com 30
  31. 31. Business Services & Business Function: Serviço é a principal unidade da Arquitetura Orientada a Serviços, eles são componentes atômicos de negócio ou de processo de negócio Os serviços têm duas classes: Business Services e Technical Services Business Services – Reflete o conceito e o evento de negócio, ele também pode ser chamados Business Process Services, por que eles estão ligados com a execução do Business Function (função de negócio) de uma empresa ou de um domínio de negócio (Domínio pode ser uma unidade de negócio, uma divisão, um departamento ou uma equipe) Business Services tem o nível de granularidade grossa, é uma funcionalidade de negócio que será entregue como um serviço. Representa um processo ou atividade de negócio, tais como:SOA Fundamentos - Abrir uma nova conta; - Consultar a conta telefônica; - Consultar um pedido; - Rastrear uma entrega; - Consultar CEP. Estes exemplos são serviços que podem ser consumidos por pessoas, portais, URAs e outros sistemas. Technical Services (Serviços Técnicos) – São aqueles serviços que são horizontais ou são reusáveis por todos os processos negócios, unidade de negócio ou domínio de processo. Exemplos de Serviços Técnicos: - Serviços de Segurança; - Serviço de Log; - Serviço de Auditoria; - SSO(Single Sign-On); - Serviço de Impressão; - Etc. SOA Versão 3.0 | Rildo F Santos | (@rildosan) | rildo.santos@etecnologia.com.br | www.etecnologia.com.br | http://etecnologia.ning.com 31
  32. 32. Serviços, Resumo dos Princípios de Design Implementa contratos padronizados Service Loose Reduz dependência (facilita a composição) Standardized Coupling Service Contract Redução de Custos, Separa o serviço da redução do Time-to-Market, Service sua implementação aumenta produtividade Service Abstraction ReusabilitySOA Fundamentos Maximiza a composição Incrementa independência Service (facilita o reúso) funcional Service Composability Autonomy Facilita a escalabilidade Service Statelessness Implementa comunicação Service Discoverability Serviço SOA Versão 3.0 | Rildo F Santos | (@rildosan) | rildo.santos@etecnologia.com.br | www.etecnologia.com.br | http://etecnologia.ning.com 32
  33. 33. Principais Características dos Serviços (Princípios de Serviços) Baixo acoplamento (Loose Coupling) Como minimizar dependências e maximizar o reuso? O acoplamento é uma medida de quão fortemente um serviço está conectada, possui conhecimento ou depende de outro serviço e/ou componente. Com fraco acoplamento, um serviço não é dependente de outros serviços e/ou componentes Um serviço que possui forte acoplamento, temos os seguintes problemas: - Mudanças em um serviço força mudanças em outros serviços e/ou componentes - O serviço é mais difícil de ser reusado, já que depende da presença de outros serviços e/ou componentesSOA Fundamentos Solução: > Desenhar e modelar serviços com baixo acoplamento. > Contudo o baixo acoplamento leva complexidade de implementação Acoplamento refere-se a dependência ou relacionamento entre duas coisas. A medida do acoplamento é comparada ao nível de dependência. - Forte: Forte grau dependência ... Exemplo: Significa que o um serviço depende de uma determinada tecnologia para ser implementado, por exemplo: Web Services. - Fraco: Fraco grau de dependência fraco. Exemplo: Significa que um serviço não depende diretamente de uma determinada tecnologia. O Serviço tem sua implementação encapsulada. O SOA, requer que os serviços tenham acoplamento fraco, pois isto facilita a manutenção e favorece o reúso SOA Versão 3.0 | Rildo F Santos | (@rildosan) | rildo.santos@etecnologia.com.br | www.etecnologia.com.br | http://etecnologia.ning.com 33
  34. 34. Principais Características dos Serviços (Princípios de Serviços) Contrato bem definido (Well-defined service contracts) ou Interface bem Definida Serviços expressam seu objetivo e as capacidades através de um Contrato de Serviço. A descrição completa de uma interface (pública) de serviço entre o consumidor (cliente) e o provedor de serviço. O contrato contém a interface técnica (assinatura), as semânticas e os aspectos não funcionais (atributos de qualidade, como: disponibilidade, segurança, performance, confiabilidade e etc) com o Acordo de Nível de Serviço (SLA). Devemos garantir que os contratos de serviços sejam bem definidos, concisos, otimizados, devidamente granular, padronizado (para garantir que os parâmetros estabelecidos pelos serviços são coerentes),SOA Fundamentos confiáveis e governáveis. Backend Serviço Cliente (Consumidor) Contrato O Contrato descreve as funcionalidades, tipos de dados, modelo dados definidos e como as políticas são definidas e efetivadas. SOA Versão 3.0 | Rildo F Santos | (@rildosan) | rildo.santos@etecnologia.com.br | www.etecnologia.com.br | http://etecnologia.ning.com 34
  35. 35. Principais Características dos Serviços (Princípios de Serviços) Granularidade Granularidade nada mais é do que o nível de detalhe de cada serviço ou componente, existem dois tipos de granularidade: - Grossa: Quanto menor for o nível de detalhes, maior ou mais grossa será o nível de granularidade, ou seja, sem detalhes. - Fina: Quanto maior for o nível de detalhes, menor ou mais fina será o nível de granularidade, ou seja, com detalhes O SOA, que é arquitetura orientada a serviços, requer que os serviços tenham (obrigatoriamente) o nível de granularidade grossa (sem detalhes). O nível de granularidade grossa favorece o reúso.SOA Fundamentos Exemplos: Exemplo de Serviço com Granularidade Grossa: - Confirmar Pedido - Confirmar Reserva - Verificar disponibilidade de vôo - Realizar venda de produtos - Criar Plano Tarifário - Validar uma transação de pagamento (cartão de crédito) Exemplos incorretos (no contexto SOA) de Serviços com Granularidade Fina: - Alterar o Número do Pedido - Alterar o Código do Produto - Fazer crédito da conta-corrente do cliente SOA Versão 3.0 | Rildo F Santos | (@rildosan) | rildo.santos@etecnologia.com.br | www.etecnologia.com.br | http://etecnologia.ning.com 35
  36. 36. Processos. Descobrindo os candidatos a Serviços Abordagens para identificação dos Serviços: Decomposição de Processos (também conhecida como Análise Top Down): Ao dividir um processo em partes (pedaços menores), exemplo: atividades e tarefas, será mais fácil a identificação de candidatos a serviços Decomposição de Domínio: Ao analisar o domínio, conseguimos identificar os candidatos a serviços. Exemplo: Domínio de Cliente, Domínio de Seguros de Automóvel, Crédito ao Consumidor e etc Análise Bottom-up:SOA Fundamentos Ao verificar quais são as interfaces do Backend (sistemas legados) podemos identificar os candidatos a serviços, aqueles que podem encapsular essas interfaces. Traccking (rastreamento) de eventos de negócio: Considerando que os eventos são que estimulam os processos de negócios. Ao acompanhar e monitorar os eventos que disparam funcionalidade de negócio, será identificar os candidatos a serviços Exemplos de eventos: Cancelar pedido, Solicitar Reserva, e Fechar pedido Gerenciamento de Portfólio: O portfólio de serviços (se existir) pode ajudar na modelagem e na identificação dos candidatos a serviços. Melhores Praticas: Mix entre Análise Top-down e Bottom-up (―meet in the middle‖): Primeiro a análise Top-Down e depois a Botom-Up para sustentar a integração entre a TI o negócio que é o objetivo primario da SOA. SOA Versão 3.0 | Rildo F Santos | (@rildosan) | rildo.santos@etecnologia.com.br | www.etecnologia.com.br | http://etecnologia.ning.com 36
  37. 37. Processos: Como identificar os Serviços ? Verificar novamente Visão do Verificar a Avaliar resultado da reserva do reserva carro Processo carro OK Confirmar Receive Reserva Verificar a reserva do hotel + Confirmação Verificar a reserva do vôo ReplySOA Fundamentos Tratar a falha Reply Orquestração e Coreografia de Serviços Serviço Serviço Serviço Serviço Visão do Serviço CRM Reserva SOA Versão 3.0 | Rildo F Santos | (@rildosan) | rildo.santos@etecnologia.com.br | www.etecnologia.com.br | http://etecnologia.ning.com 37
  38. 38. Modelagem de Processos & Serviços. Identificando os Serviços Processo: Reserva x BPEL Processo de Negócio Verificar novamente Avaliar resultado Verificar a da reserva do reserva carro carro OK Confirmar Receive Reserva Verificar a reserva do hotel + Confirmação Verificar aSOA Fundamentos reserva do vôo Reply BPEL Tratar a falha Reply BPEL Mapeamento de atributos básico do Processo de Negócio Mapeamento as propriedades do processo para BPEL (variáveis e mensagem) Resumindo: A BPEL faz orquestração pura dos processos SOA Versão 3.0 | Rildo F Santos | (@rildosan) | rildo.santos@etecnologia.com.br | www.etecnologia.com.br | http://etecnologia.ning.com 38
  39. 39. Orquestração vs Coreografia. Orquestração: Modelar serviços e processos mais altos compodo Processo: Pedido de Compra -os a partir dos serviços existentes, esta abordagem é conhecida como orquestração. Atividade: Fechar Pedido Principais características: - Existência de controlador central que coordena todas as atividades e os processos Efetivar Pedido - Toda composição pode ser considerada como um serviçoSOA Fundamentos Serviços Um novo serviço Serviço Buscar CEP Coordenador central Serviço Serviço Encontrar a Calcular Frete Melhor Rota Em orquestra sinfônica o maestro é coordenador central para que exista harmonia entre os músicos e seus instrumentos. O resultado é música harmoniosa. Composição A habilidade de orquestração é considerada como de Serviços Pedido um atributo fundamental na modelagem dos serviços. SOA Versão 3.0 | Rildo F Santos | (@rildosan) | rildo.santos@etecnologia.com.br | www.etecnologia.com.br | http://etecnologia.ning.com 39
  40. 40. Orquestração vs Coreografia. Coreografia: Distinta da orquestração, a coreografia é definida Processo: Pedido de Compra pela colaboração de diferentes partes, cada uma controlando alguns passos ou serviços. Atividade: Fechar Pedido Diferente da orquestração, a coreografia não compõe os serviços em novo serviço que tem o controle central sobre o processo. Ela apenas define regras e políticas que possibilitam que os Efetivar Pedido serviços diferentes colaborarem para formar um processo de negócio. Cada serviço envolvido enxerga e contribui apenas como parte doSOA Fundamentos processo Cada serviço é uma parte do processo que Coreografia colabora com outra parte (serviço) Buscar CEP Serviço Encontrar a Serviço Serviço Calcular Frete Melhor Rota A coreografia, seria como em uma dança onde cada pessoa dançaria de forma independente das Pedido demais, não existe a figura do coordenador central. SOA Versão 3.0 | Rildo F Santos | (@rildosan) | rildo.santos@etecnologia.com.br | www.etecnologia.com.br | http://etecnologia.ning.com 40
  41. 41. Orquestração vs Coreografia. Exercício Responda as questões abaixo:SOA Fundamentos a. ( ) Orquestração a. ( ) Coreografia b. ( ) Coreografia b. ( ) Orquestração SOA Versão 3.0 | Rildo F Santos | (@rildosan) | rildo.santos@etecnologia.com.br | www.etecnologia.com.br | http://etecnologia.ning.com 41
  42. 42. SOA Fundamentos Parte 3 Arquitetura do SOA SOA Versão 3.0 | Rildo F Santos | (@rildosan) | rildo.santos@etecnologia.com.br | www.etecnologia.com.br | http://etecnologia.ning.com 42
  43. 43. Arquitetura SOA. ESB Importância do “ESB” no SOA:SOA Fundamentos SOA com ESB SOA Versão 3.0 | Rildo F Santos | (@rildosan) | rildo.santos@etecnologia.com.br | www.etecnologia.com.br | http://etecnologia.ning.com 43
  44. 44. Arquitetura SOA. ESB Principais Responsabilidades: ―An Enterprise Service Bus (ESB) is a new architecture that exploits Web services, messaging middleware, intelligent routing, and transformation. ESBs act as a lightweight, ubiquitous integration backbone through which software services and application components flow.*‖SOA Fundamentos - Suporte aos princípios SOA - Fornecer conectividade; - Mediação e Transformação; - Roteamento inteligente; - Segurança; Tipos: - ESB baseado em protocolo - Confiabilidade; - ESB baseado em API - Gerenciamento de Serviços; - Monitoramente e Logging; - Suporte a distribuição (deploy); ESB (Enterprise Service Bus), ou Barramento Corporativo de Serviços é considerado como a infra- estrutura do SOA. SOA Versão 3.0 | Rildo F Santos | (@rildosan) | rildo.santos@etecnologia.com.br | www.etecnologia.com.br | http://etecnologia.ning.com 44
  45. 45. Arquitetura SOA Visão do ESB (Enterprise Service Bus) Backend ESB Frontend Business Process Enterprise Service Bus (XML Web Services) Orchestration Composite Service Technical Service Bus (Messaging, JMS, InternetSOA Fundamentos Legado Security Portal Web Utility Framework Services CORBA, “Web Services”, etc.) Services Management Data Management Composite Service Desktop Aplicação CRM Composite Service ERP URA Billing Web Services Publish / Subscribe Composite Service Transformation Business Partners BI Adapters B2B/EDI Connectivity ESB como provedor de infraestrutura para SOA SOA Versão 3.0 | Rildo F Santos | (@rildosan) | rildo.santos@etecnologia.com.br | www.etecnologia.com.br | http://etecnologia.ning.com 45
  46. 46. Arquitetura SOA Modelo de Arquitetura: Modelo de Arquitetura de Lógica: Modelo de Arquitetura Técnica: Fronted Portal Sales Verificar novamente Force Verificar os Verificar a Avaliar Sales dados reserva carro resultado da reserva (campo) Force Verificar o Verificar a OK Fronted (campo) Portal cartão de crédito reserva do hotel + Confirmação Recebe ESB Verificar a reserva do vôo Reply Verificar novamente Trata de falha Avaliar Verificar os Verificar a Processo resultado Reply dados reserva carro da reserva OK Verificar o Verificar a cartão de crédito reserva do hotel + Confirmação ESBSOA Fundamentos Recebe Reply Verificar a reserva do vôo Mecanismo de Regras Trata de falha Reply Regra Regra Mecanismo Regra Serviço Serviço Serviço Serviço Serviço Serviço Serviço Serviço Serviços Serviços Serviço Serviço Mecanismo Regra Serviço Mecanismo Serviço Serviço Serviço Serviço Serviço Serviço Serviço Mecanismo Regra Regra Backend Backend Dominio Dominio Dominio Dominio Dominio Dominio SOA Versão 3.0 | Rildo F Santos | (@rildosan) | rildo.santos@etecnologia.com.br | www.etecnologia.com.br | http://etecnologia.ning.com 46

×