Este documento fornece uma introdução aos fundamentos e conceitos da Arquitetura Orientada a Serviços (SOA). Resume os principais pontos como: a motivação para SOA é aumentar a integração entre negócios e TI para maior agilidade; SOA promove a integração através de serviços que são componentes reutilizáveis e independentes; e SOA permite que pessoas, processos e sistemas se comuniquem e colaborem de forma flexível.
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
Soa Fundamentos
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. 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. 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. 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. 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
Agilidade
SOA 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. Conteúdo
1 Fundamentos e Conceitos do SOA
Serviços, conceito, princípios
2 e design
SOA 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. 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. 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. 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. 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 development
SOA 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. 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 software
SOA 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. SOA é uma evolução
As tecnologias, os conceitos, arquiteturas viabilizaram o SOA
SOA
SOA 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. 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. 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
Reply
SOA 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. SOA. Visão sem SOA
Visão da Arquitetura (tradicional):
Frontend
Sales
Force clientes
(campo) Portal B2B
EDI1
SOA 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. 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 Produtos
SOA 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. 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. 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. 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 Reply
SOA 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. 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 a
SOA 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. 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/orquestrar
SOA 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. 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. 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 o
SOA 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. 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. 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. Exemplo de Serviço
Geração Transmissão Distribuição
sua casa
SOA 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. Exemplo de Serviço: Governança
Contrato de Uso Contrato de Uso
SOA 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. 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 no
SOA 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. Processo: Confirmação de Reserva:
Exemplo de Serviço:
Serviço
Verificar novamente
Avaliar resultado
Verificar a
da reserva do
Serviço reserva carro
carro
SOA 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. 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. 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. 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 Reusability
SOA 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. 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
componentes
SOA 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. 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. 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. 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. 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 Reply
SOA 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. 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 a
SOA 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. 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ço
SOA 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. 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 do
SOA 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. 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. 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. 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. 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. 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,
Internet
SOA 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. 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
ESB
SOA 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
47. Arquitetura SOA. ESB
SOA e Segurança:
Em SOA os aspectos e as técnicas de segurança comuns aos sistemas distribuídos se
aplicam juntamente com alguns pontos:
SOA busca alta interoperabilidade, o que reduz a segurança padrão;
SOA tem que lidar com os conceitos de segurança heterogêneos dos sistemas legados;
Processos distribuídos transferem dados através de múltiplos serviços, logo as soluções
SOA Fundamentos
end-to-end (fim-a-fim) não são suficientes para a segurança fim-a-fim;
Como um serviço atende a diversos clientes as verificações de segurança são em tempo
de execução;
Será necessário definir e implementar uma abordagem de segurança abrangente que
cubra desde infra-estrutura, arquitetura e sistemas (aplicações);
A melhor abordagem é introduzir segurança como serviço.
SOA Versão 3.0 | Rildo F Santos | (@rildosan) | rildo.santos@etecnologia.com.br | www.etecnologia.com.br | http://etecnologia.ning.com 47
48. SOA Fundamentos Parte 4
Governança de TI e o SOA
SOA Versão 3.0 | Rildo F Santos | (@rildosan) | rildo.santos@etecnologia.com.br | www.etecnologia.com.br | http://etecnologia.ning.com 48