Upload
internet
View
108
Download
0
Embed Size (px)
Citation preview
SOA Elucidado: Princípios da Arquitetura Orientada a Serviços
Renato L. RissardiPre-Sales System Engineer
2 Esclarecendo SOA© 2005 Progress Software Corporation
Ambiente de negócios é altamente mutável
Demanda de clientes Competição Fusões e aquisições Desmembramento de
áreas Parceiros de negócio Tecnologia Expansão dos negócios Redução de custos
3 Esclarecendo SOA© 2005 Progress Software Corporation
A realidade de TIR
equ
isit
os
Tempo
Sistemas TI
Negócios
Mudanças contínuas reduzem a capacidade de resposta
4 Esclarecendo SOA© 2005 Progress Software Corporation
Dilema de TI: “A arquitetura acidental”
CRM ERP
PARTNER SYSTEMS FINANCE
Conjunto proprietário de tecnologias e habilidades
Infraestruturas de comunicação múltiplas
Alto custo de licenças, consultoria e operação
Muitas questões organizacionais e de controle da “propriedade”
ORDERENTRY
Capacidade de resposta reduzida
5 Esclarecendo SOA© 2005 Progress Software Corporation
Requisitos de arquitetura de TI
Simplicidade Software que reflete a
necessidade do negócio Agilidade e flexibilidade Reusabilidade Indepentente de tecnologia Promover integração
Feita para mudar
6 Esclarecendo SOA© 2005 Progress Software Corporation
Service-Oriented Architecture
Uma abordagem para criar sistemas computacionais distribuídos baseada no encapsulamento de funções de negócio em serviços que podem ser acessados
de forma fracamente acoplada.
7 Esclarecendo SOA© 2005 Progress Software Corporation
Já tivemos diversas tentativas
CORBA Microsoft DCOM Java™ RMI .NET™ Remoting DCE EJB
Focadas em APIs, mais fácil para programadores
8 Esclarecendo SOA© 2005 Progress Software Corporation
Por que SOA é diferente?
Usa conceitos já estabelecidos de mensagens e computação distribuída
Escala muito em portes diferentes de aplicação– Departamento– Empresa– Cadeia de valor
Incorpora vários modelos de comunicação – eventos e request/reply
Direcionada por padrões e protocolos bem conhecidos, e.g. Web Services, XML, HTTP, etc.
Mais fácil para analistas de negócio – focado em documentos
9 Esclarecendo SOA© 2005 Progress Software Corporation
Mas e na prática, será que “pega”?
“Até 2008, SOA será a prática de engenharia de software
predominante, encerrando 40 anos de dmínio da arquitetura de
software monlítica”
Yefim V. Natis, Gartner Group Analyst, “Service Oriented Architecture Scenarios,” 16 de abril de 2003
10 Esclarecendo SOA© 2005 Progress Software Corporation
SOA não é uma “coisa”
Produto Uma tecnologia específica Uma aplicação Um padrão específico Um conjunto específico de
regras
Não é:
Uma abordagem para criar aplicações de negócio ágeis e flexíveis
11 Esclarecendo SOA© 2005 Progress Software Corporation
Agenda
Visão geral SOA
Tipos e padrões de SOA
SOA e OpenEdge® Reference Architecture
SOA e o Enterprise Service Bus
Resumo
SOA?
Uau!
E-lu-ci-date:To make clear or plain
12 Esclarecendo SOA© 2005 Progress Software Corporation
Modelo SOA
Bind / Invoke
Service
Consumer
Service
ConsumerService
Provider
Service
Provider
ServiceDirector
y
ServiceDirector
y
Find / Details Publish
Componentes fracamente acoplados comunicando-se via interfaces bem definidas
13 Esclarecendo SOA© 2005 Progress Software Corporation
Elementos de serviço e contratos de serviço
Interface do serviço
Fn()Fn()
Implementação do serviço
Consumidor do serviço
Provedor do serviço
Fn()Fn()
Camada de apresentação ou outro serviço
Encontra provedor de serviço através de um diretório de serviços acordado
Chama serviço baseado em sua interface
Apenas as interfaces do serviço são expostas
Implementação é escondida do consumidor
Armazenamento de dados é encapsulado pelo serviço
Dados
Lógica do serviço
14 Esclarecendo SOA© 2005 Progress Software Corporation
Várias interfaces de serviço
Interface do serviço
Consumidor do serviço
Consumidor do serviço
Interface do seviço
Implementação do serviço
DadosLógica do
serviço
Interface A
Operação A1 Operação A2 Operação A3
Interface B
Operação B1 Operação B2
Consumidor do serviço
Consumidor do serviço
15 Esclarecendo SOA© 2005 Progress Software Corporation
Order Mgmt ServiceOrder Mgmt Service
Approve
FulfillOrder
Valid Order
Supplier ServiceSupplier Service
Check Credit
Hold Stock
Valid Order?
SOA – Um mar de serviços
Online Ordering Service
Online Ordering Service
Req. Order
Notify Buyer
OrderEntry
Inventory Mgmt Service
Inventory Mgmt Service
Hold
Ship
Lookup
Credit ServicesCredit Services
Approve
Notify
Chk Credit
16 Esclarecendo SOA© 2005 Progress Software Corporation
Contrato de serviço
Consumidor
do serviço
Consumidor
do serviçoProvedor
do serviço
Provedor
do serviço
ContratoContrato
Tudo – e nada além disso – que é necessário para interagir com o serviço
17 Esclarecendo SOA© 2005 Progress Software Corporation
Contratos de serviço Interface do serviço incluindo operações,
mensagens, transportes e localização– WSDL (Web Service Description Language)– XML Schemas– “Proxies” gerados a partir da implementação do
serviço– Uma especificação formal em papel
Descrição do serviço– Requisitos de sequenciamento– Tratamento de exceções– Documentação formal e semântica implícita
Acordo de nível de serviço (SLA) e obrigações legais
18 Esclarecendo SOA© 2005 Progress Software Corporation
Infra-estrutura SOA
Consumidor
do serviço
Consumidor
do serviçoProvedor
do serviço
Provedor
do serviçoInfraestrutura SOA
Liga os consumidores aos provedores de serviço Pode ser usuada para comunicação com o
diretório de serviços Pode ser implementado com uma gama de
tecnologias
19 Esclarecendo SOA© 2005 Progress Software Corporation
Infra-estrutura de Serviço
Order Mgmt Service
Order Mgmt Service
Order Mgmt Service
Order Mgmt Service
Order Mgmt Service
Order Mgmt Service
Order Mgmt Service
Order Mgmt Service
Order Mgmt Service
Order Mgmt Service
AppServerCORBA
JMSFTP
Web Services
20 Esclarecendo SOA© 2005 Progress Software Corporation
Várias interfaces de serviços
Interface do serviço
Consumidor do serviço
Interface do serviço
Consumidor do serviço
Contrato 1Contrato 1 Contrato 2Contrato 2
Web
ServiceMessage Based
Implementação do serviço
Dados
Lógica do serviço
21 Esclarecendo SOA© 2005 Progress Software Corporation
Diretório de serviços
Repositório dos contratos de serviço Oferece facilidade para encontrar serviços Pode oferecer informações adicionais como::
– Informações de contato– Tarifas de uso
Pode ser formal ou informal– UDDI– Web site central– Um banco de dados proprietário de XML schemas– Arquivo de documentos impressos
Escopo para aplicação, departamento, corporação, cadeia de valor
Pode ser formalmente gerenciada por um comitê de arquitetura
Diretório de serviços
Diretório de serviços
22 Esclarecendo SOA© 2005 Progress Software Corporation
Agenda
Visão geral SOA
Tipos e padrões SOA
SOA e OpenEdge Reference Architecture
SOA e o Enterprise Service Bus
Resumo
SOA?
Uau!
E-lu-ci-date:To make clear or plain
23 Esclarecendo SOA© 2005 Progress Software Corporation
Tipos de serviços SOA
Serviços de processos de
negócio
Serviços intermediários
Serviços básicos
Application Client Layer
24 Esclarecendo SOA© 2005 Progress Software Corporation
Serviços básicos
Uma função de software “stateless” orientada a servidor
A rigor, age apenas como provedor de serviço Encapsula todo acesso a uma fonte de dados
específica Serviços básicos de negócio – específicos do
domínio Serviços de infraestrutura básicos – não
específicos do domínio Segurança Logging Persistência Auditoria
25 Esclarecendo SOA© 2005 Progress Software Corporation
Serviços intermediários
Um serviço “stateless” que é tanto provedor quanto consumidor de serviços
Inclui tipo de negócio e intraestrutura– Pontes entre tecnologias
Faz a interface entre duas tecnologias distintas
– Transformação Convert message format from/to what service
consumer and provider expect
– Fachadas (“façade”) Visão simplificada e agrupada de múltiplos serviços
– Serviços para agregação de funcionalidade Adiciona funcionalidade a um serviço sem modificar
o serviço em si
26 Esclarecendo SOA© 2005 Progress Software Corporation
Serviço de processo de negócio
Encapsula um processo de negócio corporativo “stateful”
Age tanto como provedor quanto consumidor de serviços
Tem tendência a ser bastante específico à aplicação
27 Esclarecendo SOA© 2005 Progress Software Corporation
SOA: Estágios de crescimento
Agilidade e Flexibilidade
Complexidade
SOA Orientada
a processos
SOA
Multi camadas
SOA Simples
Maturidade da SOA
28 Esclarecendo SOA© 2005 Progress Software Corporation
SOA Simples
Online Ordering Application
Online Ordering Application
Order Management
Order Management
Customer Management
Customer Management
Inventory Management
Inventory Management
Camada de serviços básicos
Camada de apresentação Warehouse
Application
Warehouse Application
29 Esclarecendo SOA© 2005 Progress Software Corporation
SOA multi-camadas
Online Ordering Application
Online Ordering Application
Order Management
Order Management
Customer Management
Customer Management
InventoryManagement
InventoryManagement
Camada de serviços básicos
Camada de apresentação
Order and ShipOrder and Ship
Camada de serviços
intermediários
30 Esclarecendo SOA© 2005 Progress Software Corporation
SOA orientada a processosOnline
Ordering Application
Online Ordering
Application
Order Management
Order Management
Customer Management
Customer Management
InventoryManagement
InventoryManagement
Camada de serviços básicos
Camada de apresentação
Order and ShipOrder and Ship
Camada de serviços
intermediários
CatalogService
CatalogService
Camada de serviços de processos de
negócio
OrderCancellation
Service
OrderCancellation
Service
31 Esclarecendo SOA© 2005 Progress Software Corporation
Agenda
Visão geral SOA
Tipos e padrões SOA
SOA e OpenEdge Reference Architecture
SOA e o Enterprise Service Bus
Resumo
SOA?
OERA?
E-lu-ci-date:To make clear or plain
32 Esclarecendo SOA© 2005 Progress Software Corporation
Componentes de serviço OpenEdge Reference Architecture
Provedores de serviços
Consumidores de serviços
Users
Presentation Layer
Business Servicing Layer
Data Access Layer
Managed Data Stores
Unmanaged Data Stores
Enterprise Services
Integration Layer
33 Esclarecendo SOA© 2005 Progress Software Corporation
Integração da camada de negócio
Presentation Layer/s Integration Layer/s
Data Access Layers
Managed Unmanaged
Users EnterpriseServices
Service Interface
Business
Workflows
Business
TasksBusiness Entities
Service Adapter
34 Esclarecendo SOA© 2005 Progress Software Corporation
OERA e contratos de serviço
Service Adapter
Service Interface
Fn()Fn()
Financials
Consumidor de serviço
Provedor de serviço
ContratoContrato
35 Esclarecendo SOA© 2005 Progress Software Corporation
Por dentro do serviço: Componentes de negócio coordenados
BusinessWorkflows
Business Tasks
BusinessEntities
BusinessWorkflowsBusiness
Workflows
Business TasksBusiness
Tasks
BusinessEntities
BusinessEntitiesBusiness
Entities
BusinessEntitiesBusiness
Entities
Business TasksBusiness
TasksBusiness Tasks
Service Interface
36 Esclarecendo SOA© 2005 Progress Software Corporation
Integração da camada de negócios
Presentation Layer/s Integration Layer/s
Data Access Layers
Managed Unmanaged
Users EnterpriseServices
Service Interface
Business
Workflows
Business
TasksBusiness Entities
Service AdapterServiço de processo
de negócio
Serviços básicos e
intermediários
37 Esclarecendo SOA© 2005 Progress Software Corporation
Agenda
Visão geral SOA
Tipos e padrões SOA
SOA e OpenEdge Reference Architecture
SOA e o Enterprise Service Bus
Resumo
SOA?
ESB?
E-lu-ci-date:To make clear or plain
38 Esclarecendo SOA© 2005 Progress Software Corporation
“Arquitetura acidental”: Resolvemos o problema mesmo?
CRM ERP
PARTNER SYSTEMS FINANCE
ORDERENTRY
39 Esclarecendo SOA© 2005 Progress Software Corporation
OpenEdgeApplication
WEBSERVICE
Web Services
Interface de serviço bem definida promove o reuso
Dados baseados em XML facilita intercâmbio
Projetado para acesso remoto, entre plataformas heterogêneas
Interfaces padrão são o maior passo adiante
TCP/IP
WEB SERVICESINTERFACE
.NET™APPLICATION
PACKAGED APPLICATION
& LEGACY SYSTEMS
J2EE™ APPLICATION
XML
XML
40 Esclarecendo SOA© 2005 Progress Software Corporation
J2EE™ APPLICATION
PACKAGED APPLICATION
& LEGACY SYSTEMS
.NET™APPLICATION
OpenEdgeApplication
WEBSERVICE
WEB SERVICESINTERFACE
Web Services
É mais ágil? É confiável, escalável
e seguro? Como gerir e
monitorar serviços distribuidos?
Mas resolvemos o todo problema?
Web services são pilhas de comunicação interoperáveis mas não oferecem capacidades chave como roteamento, “deploy” de serviços, gerenciamento, transformação de formatos e entrega garantida.
TCP/IP
41 Esclarecendo SOA© 2005 Progress Software Corporation
Enterprise Service Bus
ENTERPRISE SERVICE BUS
J2EE™ SERVICE
LEGACY SYSTEMS
.NET™SERVICE
OPENEDGE SERVICE
WEBSERVICE
Conjunto integrado de serviços SOA baseado numa infra-estrutura de “backbone” SOA
Transformação de dados Roteamento inteligente Logging Persistência Capacidades nativas de Web
service Roteamento baseado no
conteúdo Adaptadores especializados Orchestration Server Mensageria assíncrona e
síncrona
42 Esclarecendo SOA© 2005 Progress Software Corporation
Agenda
Visão geral SOA
Tipos e padrões SOA
SOA e OpenEdge Reference Architecture
SOA e o Enterprise Service Bus
Resumo
SOA?
SOA!
E-lu-ci-date:To make clear or plain
43 Esclarecendo SOA© 2005 Progress Software Corporation
Resumindo…
SOA é a arquitetura para negócios ágeis
SOA é uma abordagem de engenharia de sistemas, não uma tecnologia
Uma boa arquitetura depente de um boa engenharia dos serviços
44 Esclarecendo SOA© 2005 Progress Software Corporation
Perguntas?
45 Esclarecendo SOA© 2005 Progress Software Corporation
Obrigado!
Renato Luís [email protected]://www.progress.com/brhttp://www.sonicsoftware.com
46 Esclarecendo SOA© 2005 Progress Software Corporation