SOA Elucidado:
Princípios da Arquitetura
Orientada a Serviços
Renato L. Rissardi
Pre-Sales System Engineer
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
2 © 2005 Progress Software Corporation
Esclarecendo SOA
A realidade de TI
Requisitos
Negócios
Sistemas TI
Tempo
Mudanças contínuas reduzem a capacidade de
resposta
3 © 2005 Progress Software Corporation
Esclarecendo SOA
Dilema de TI:
“A arquitetura acidental”
Capacidade de resposta reduzida




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”
4 © 2005 Progress Software Corporation
CRM
PARTNER
SYSTEMS
ERP
ORDER
ENTRY
FINANCE
Esclarecendo SOA
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
5 © 2005 Progress Software Corporation
Esclarecendo SOA
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.
6 © 2005 Progress Software Corporation
Esclarecendo SOA
Já tivemos diversas tentativas
Focadas em APIs, mais fácil para programadores






CORBA
Microsoft DCOM
Java™ RMI
.NET™ Remoting
DCE
EJB
7 © 2005 Progress Software Corporation
Esclarecendo SOA
Por que SOA é diferente?
Mais fácil para analistas de negócio –
focado em documentos
 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.
8 © 2005 Progress Software Corporation
Esclarecendo SOA
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
9 © 2005 Progress Software Corporation
Esclarecendo SOA
SOA não é uma “coisa”
Não é:





Produto
Uma tecnologia específica
Uma aplicação
Um padrão específico
Um conjunto específico de
regras
Uma abordagem para criar aplicações de
negócio ágeis e flexíveis
10 © 2005 Progress Software Corporation
Esclarecendo SOA
Agenda
Visão geral SOA

Tipos e padrões de SOA

SOA e OpenEdge®
Reference Architecture

SOA e o Enterprise
Service Bus

Resumo
11 © 2005 Progress Software Corporation
SOA?
Uau!
E-lu-ci-date:
To make
clear or
plain

Esclarecendo SOA
Modelo SOA
Componentes fracamente acoplados comunicando-se
via interfaces bem definidas
Service
Director
y
Find /
Details
Service
Consumer
12 © 2005 Progress Software Corporation
Publish
Bind /
Invoke
Service
Provide
r
Esclarecendo SOA
Elementos de serviço e contratos
de serviço

Fn()
Consumidor do
serviço

Fn()


Interface do serviço

Provedor do
serviço
Implementação do
serviço
Lógica do
serviço
13 © 2005 Progress Software Corporation

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
Esclarecendo SOA
Várias interfaces de serviço
Consumidor
do serviço
Consumidor
do serviço
Interface A
Interface B
Operação A1
Operação A2
Operação A3
Operação B1
Operação B2
Interface do serviço
Interface do seviço
Implementação do serviço
Lógica do
serviço
14 © 2005 Progress Software Corporation
Dados
Esclarecendo SOA
SOA – Um mar de serviços
Online Ordering
Service
OrderEntry
Req. Order
Notify Buyer
Supplier Service
Valid Order?
Check Credit
Inventory Mgmt
Service
Hold Stock
Lookup
Hold
Ship
Order Mgmt Service
Credit Services
Valid Order
Approve
Chk Credit
FulfillOrder
Approve
Notify
15 © 2005 Progress Software Corporation
Esclarecendo SOA
Contrato de serviço
Tudo – e nada além disso – que é necessário para
interagir com o serviço
Provedor
do serviço
Consumidor
do serviço
Contrato
16 © 2005 Progress Software Corporation
Esclarecendo SOA
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
17 © 2005 Progress Software Corporation
Esclarecendo SOA
Infra-estrutura SOA
Consumidor
do serviço



Infraestrutura SOA
Provedor
do serviço
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
18 © 2005 Progress Software Corporation
Esclarecendo SOA
Infra-estrutura de Serviço
Order Mgmt
Service
Order Mgmt
Service
AppServer
CORBA
JMS
FTP
Web Services
Order Mgmt
Service
19 © 2005 Progress Software Corporation
Order Mgmt
Service
Order Mgmt
Service
Esclarecendo SOA
Várias interfaces de serviços
Consumidor do serviço
Consumidor do serviço
Contrato 2
Contrato 1
Web
Service
Message Based
Interface do serviço
Interface do serviço
Implementação do
serviço
Lógica do
serviço
20 © 2005 Progress Software Corporation
Dados
Esclarecendo SOA
Diretório de serviços



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
21 © 2005 Progress Software Corporation
Esclarecendo SOA
Agenda
Visão geral SOA

Tipos e padrões SOA

SOA e OpenEdge
Reference Architecture

SOA e o Enterprise
Service Bus

Resumo
22 © 2005 Progress Software Corporation
SOA?
Uau!
E-lu-ci-date:
To make
clear or
plain

Esclarecendo SOA
Tipos de serviços SOA
Application
Client Layer
Serviços de
processos de
negócio
Serviços
intermediários
Serviços
básicos
23 © 2005 Progress Software Corporation
Esclarecendo SOA
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
24 © 2005 Progress Software Corporation
Esclarecendo SOA
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
25 © 2005 Progress Software Corporation
Esclarecendo SOA
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
26 © 2005 Progress Software Corporation
Esclarecendo SOA
SOA: Estágios de crescimento
Maturidade
da SOA
SOA Orientada
a processos
Agilidade e
Flexibilidade
SOA
Multi camadas
SOA Simples
Complexidade
27 © 2005 Progress Software Corporation
Esclarecendo SOA
SOA Simples
Camada de
apresentação
Camada de
serviços
básicos
Online Ordering
Application
Order
Management
28 © 2005 Progress Software Corporation
Inventory
Management
Warehouse
Application
Customer
Management
Esclarecendo SOA
SOA multi-camadas
Camada de
apresentação
Camada de
serviços
intermediários
Camada de
serviços
básicos
Online Ordering
Application
Order and Ship
Order
Management
29 © 2005 Progress Software Corporation
Inventory
Management
Customer
Management
Esclarecendo SOA
SOA orientada a processos
Online
Ordering
Application
Camada de
apresentação
Camada de serviços
de processos de
negócio
Camada de
serviços
intermediários
Camada de
serviços
básicos
Catalog
Service
Order
Cancellation
Service
Order and Ship
Order
Management
30 © 2005 Progress Software Corporation
Inventory
Management
Customer
Management
Esclarecendo SOA
Agenda
Visão geral SOA

Tipos e padrões SOA

SOA e OpenEdge
Reference Architecture

SOA e o Enterprise
Service Bus

Resumo
31 © 2005 Progress Software Corporation
SOA?
OERA?
E-lu-ci-date:
To make
clear or
plain

Esclarecendo SOA
Componentes de serviço OpenEdge
Reference Architecture
Enterprise
Services
Users
Consumidores de
serviços
Presentation Layer
Integration Layer
Business Servicing Layer
Data Access Layer
Provedores de
serviços
Managed
Data Stores
32 © 2005 Progress Software Corporation
Unmanaged
Data Stores
Esclarecendo SOA
Integração da camada de negócio
Enterprise
Services
Users
Presentation Layer/s
Integration Layer/s
Service Adapter
Service Interface
Business
Workflows
Business
Tasks
Business
Entities
Data Access Layers
Managed
33 © 2005 Progress Software Corporation
Unmanaged
Esclarecendo SOA
OERA e contratos de serviço
Fn()
Consumidor de
serviço
Service Adapter
Contrato
Service Interface
Financials
34 © 2005 Progress Software Corporation
Provedor de
serviço
Esclarecendo SOA
Por dentro do serviço: Componentes
de negócio coordenados
Service Interface
Business
Business
Workflows
Business
Workflows
Workflows
Business
Business
Tasks
Business
Tasks
Tasks
Business
Business
Entities
Entities
35 © 2005 Progress Software Corporation
Business
Business
Tasks
Business
Tasks
Tasks
Business
Business
Entities
Entities
Business
Business
Entities
Entities
Esclarecendo SOA
Integração da camada de negócios
Enterprise
Services
Users
Presentation Layer/s
Integration Layer/s
Serviços
básicos e
intermediários
Service Adapter
Serviço de
processo
de negócio
Service Interface
Business
Workflows
Business
Tasks
Business
Entities
Data Access Layers
Managed
36 © 2005 Progress Software Corporation
Unmanaged
Esclarecendo SOA
Agenda
Visão geral SOA

Tipos e padrões SOA

SOA e OpenEdge
Reference Architecture

SOA e o Enterprise
Service Bus

Resumo
37 © 2005 Progress Software Corporation
SOA?
ESB?
E-lu-ci-date:
To make
clear or
plain

Esclarecendo SOA
“Arquitetura acidental”: Resolvemos
o problema mesmo?
CRM
PARTNER
SYSTEMS
38 © 2005 Progress Software Corporation
ERP
ORDER
ENTRY
FINANCE
Esclarecendo SOA
Web Services
Interfaces padrão são o maior passo adiante


PACKAGED
J2EE™
APPLICATION
Interface de
APPLICATION
& LEGACY
SYSTEMS
serviço bem
definida promove o
reuso
Dados baseados
em XML facilita
intercâmbio
WEB SERVICES
INTERFACE
Projetado para
OpenEdge
acesso remoto,
Application
entre plataformas
heterogêneas
.NET™
APPLICATION
XML
TCP/IP
XML

39 © 2005 Progress Software Corporation
WEB
SERVICE
Esclarecendo SOA
Web Services
Mas resolvemos o todo problema?



J2EE™
APPLICATION
É mais ágil?
É confiável, escalável
e seguro?
Como gerir e
monitorar serviços
distribuidos?
PACKAGED
APPLICATION
& LEGACY
SYSTEMS
.NET™
APPLICATION
TCP/IP
WEB SERVICES
INTERFACE
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.
40 © 2005 Progress Software Corporation
OpenEdge
Application
WEB
SERVICE
Esclarecendo SOA
Enterprise Service Bus
Conjunto integrado de serviços SOA baseado numa
infra-estrutura de “backbone” SOA
J2EE™
SERVICE
LEGACY
SYSTEMS
.NET™
SERVICE




ENTERPRISE SERVICE
BUS


OPENEDGE
SERVICE
WEB
SERVICE



41 © 2005 Progress Software Corporation
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
Esclarecendo SOA
Agenda
Visão geral SOA

Tipos e padrões SOA

SOA e OpenEdge
Reference Architecture

SOA e o Enterprise
Service Bus

Resumo
42 © 2005 Progress Software Corporation
SOA?
SOA!
E-lu-ci-date:
To make
clear or
plain

Esclarecendo SOA
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
43 © 2005 Progress Software Corporation
Esclarecendo SOA
Perguntas?
44 © 2005 Progress Software Corporation
Esclarecendo SOA
Obrigado!
Renato Luís Rissardi
[email protected]
http://www.progress.com/br
http://www.sonicsoftware.com
45 © 2005 Progress Software Corporation
Esclarecendo SOA
46 © 2005 Progress Software Corporation
Esclarecendo SOA
Download

SOA-01:SOA Elucidated: Principles of Service