Arquitetura SOA: Uso eficiente
de Web Services, WSDL e
UDDI
José Francisco Salm Junior
Diretor de Engenharia de Sistemas
Instituto Stela
M-II
Instituto Stela
Missão do Instituto Stela
Conjugar a pesquisa científica com a inovação
tecnológica na geração de conhecimento que vise o
desenvolvimento das organizações e da sociedade
Visão do Instituto Stela
Ser referência internacional em inovação científica e
tecnológica, elo entre academia e mercado, promotor
de spin-offs empresariais e gerador de soluções de
impacto sócio-econômico
M-II
2
Agenda
• Sociedade Orientada a Serviços
• Conceitos em Service-Oriented
Architecture (SOA)
• Aspectos relevantes em Web Services e
SOA
M-II
3
Sociedade Orientada a Serviços
Imagine se tivéssemos que
fazer tudo sozinhos, sem puder
contar com serviços de
terceiros.
M-II
4
Transformação do Artesão em
Provedor de Serviços
• Muito do que nossa sociedade é hoje provem da:
– Especialização
– Padronização
– Escalabilidade
• Nossa sociedade é quase que exclusamente orientada a
serviços
–
–
–
–
Transporte
Telecomunicação
Planos de Saúde
Bibliotecas Virtuais / Busca especializada
M-II
5
O que é SOA
SOA é uma arquitetura de software que
está baseada nos elementos de repositório
de serviços, BUS de serviços e aplicação
frontend.
M-II
6
Principais
elementos SOA
Implementação
SOA
Serviços
(Web Services)
Repositório de
Serviços)
Regras de
Serviços / SLA-WS
Interface
Aplicação Frontend
Bus de Serviços
Lógica na Instituição
Dados
M-II
7
Conectividade possibilita o
processamento global da informação
Internet
LAN
1980
Web
1990
LAN
WAN
XML
WS
2000
SOA
2010
Web
Informação
Local
Global
Processos
M-II
8
O que são Web Services
• Serviços Web são aplicações de
negócio modulares
• Nele é exposta a lógica de negócio em
forma serviços sobre a Internet através de
interfaces programáveis
• Utiliza de protocolos de Internet com o
propósito de fornecer meios para buscar,
assinar e acessar esses serviços
M-II
9
Modelo básico operacional dos
Web Services
• Serviços Web podem ser conceituados em um
modelo simples operacional que tem um pouco
em comum com o modelo padrão de
comunicação
• As operações são concebidas em 3 distintas
regras e relacionamentos que definem os
usuários e fornecedores dos serviços:
– Service provider
– Service broker
– Service requestor
M-II
10
Modelo básico operacional
– Service provider: Desenvolvedor e publicador dos serviços (interage
com o service broker);
– Service broker: Responsável por registrar e descobrir os serviços na
Web. Ele lista os vários tipos de serviços, descrições e locais do
serviços que auxiliam o solicitante dos serviços (service requestor) a
encontrar e acessar os serviços requiridos;
– Service requestor: Usuário dos serviços. Ele localiza o serviço usando
o service broker, invoca o serviço requerido e executa ele do service
provider
M-II
Developing Java Web Services. Nagappan, et al (2004)
11
Árvore de Padrões
Linguagens
de
Semântica
Representação
de IA
Adaptado de: IBM
Linguagens
de Gestão
de Conteúdo
Linguagem
de Processos
Linguagens
de
Modelagem
de Software
M-II
12
Arquitetura em camadas (WS)
Interface de Serviços com o usuário
XML Schema +WSDL + SOAP
Diálogo com o usuário (Troca de Mensagem)
WSDL + SOAP
Diretório de Serviços
Broker (UDDI + WSDL)
Coordenação dos Serviços
Broker (UDDI + WSDL)
M-II
13
Entidade de Informação em SOA
• “No coração de um Web services está um
problema complexo: com uma aplicação
distribuída trata a necessidade de
compartilhamento de dados”
– Identificação e equivalência
– Autenticação
– Autorização e privacidade
– mediação
– sincronização
fonte: The Dataweb: An Introduction to XDI, Drummond Reed et al.
M-II
14
Entidades de informação em SOA
• Diferentes dimensões estão presentes
quanto a gerencia da informação
agregada em uma SOA
Identidade
Conteúdo
Entidades
de
Informação
Estado
Localização
Replicação
Privacidade
Específico
to SOA
M-II
15
Padrões Web vs. Padrões
Dataweb
Web
Dataweb
100% endereçamento
de recurso
URIs
XRIs
Representação comum
e formato de link’s
HTML
XML/XDI
HTTP
XDI/HTTP
XDI/SOAP
Protocolo de intercâmbio
fonte: Drummond Reed
M-II
16
Padrões Web vs. Padrões Dataweb
HTML
HTML
XML/
XDI
XML/
XDI
XDI Link
contracts
HTML
HTML
HTML
HTML
XML/
XDI
XML/
XDI
XML/
XDI
XML/
XDI
HTML
HTML
HTML
HTML
XML/
XDI
XML/
XDI
XML/
XDI
XML/
XDI
Website
A
fonte: Drummond Reed
Website
B
Dataweb site
A
Dataweb site
B
M-II
17
Projeto de SOA e WS
M-II
18
Possibilidades com os Padrões
M-II
19
Especificando Contratos
• Dois tipos diferentes de contratos:
– Contrato de Utilização: contrato entre a
interface do objeto e seus clientes;
– Contrato de Realização: contrato entre a
especificação do WS e sua implementação
M-II
20
Contrato de Utilização
• Define o relacionamento entre a interface do
objeto WS e o cliente (usuário), e é especificado
em forma de uma interface.
– Operações: uma lista de operações que a interface
dispoem, incluindo suas assinaturas e definições;
– Modelo de Informação: a definição abstrata de uma
informação ou estado existente entre o cliente e o
objeto que dá suporte a interface.
M-II
21
Contrato de Utilização
Interface
Cliente
Especificação
do WS
utilização
Pré-Condições : é uma afirmação que o componente
assume ser verdade antes que uma operação seja
invocada.
Pós-Condição :é uma afirmação do componente garante
imediatamente após a operação ser invocada. É um
predicado sobre os parâmetros de entrada e de saída,
bem como para o estado do componente logo após a
operação ser invocada
M-II
22
Onda SOA – ou esperar pela
tsunami
Especificação
Semântica
Especificação
Avançada
Especificação
de Núcleo
?
OWL
e outros
Adaptado de: IBM
UDDI, BPEL
WS-Security etc.
SOAP, WSDL
M-II
23
Obrigado!
José Francisco Salm Junior
[email protected]
M-II
24
Download

Web Services