Programação Cliente em Sistemas g ç Web

Propaganda
Programação
g
ç Cliente em Sistemas
Web
WEBSERVICES
Cap 18
18. - Sistemas distribuídos e serviços web em Deitel
Deitel, H
H.M,
M Sistemas
Operacionais, 3 ª edição, Pearson Prentice Hall, 2005
Fonte: Rodrigo Rebouças de Almeida
Arquiteturas - Histórico
• MainFrames
Terminal
Mainframe
T
Terminal
i l
[ Dados + Lógica + Interface ]
Terminal
A it t
Arquiteturas
- Histórico
Hi tó i
• Arquitetura Cliente-Servidor
PC
[ Dados ]
Cliente
PC
Cliente
PC
[ Lógica + Interface ]
Cliente
Servidor c/ SGBD
Arquiteturas - Histórico
• Arquitetura em n-camadas
Browser
o se Web
eb
Browser Web
Internet
Servidor Web
[ Interface ]
SGBD
Servidor de
Aplicação
[ Lógica ] [ Dados ]
O que é um Web
W b Service?
S i ?
• Um Web Service é um ponto de acesso a
funcionalidade que pode ser:
– Localizado dinamicamente
– Ter sua interface descoberta automaticamente,
porque o serviço sabe se descrever
– Ser chamado na Web
W b services
Web
i
• Se fundamenta basicamente em três tecnologias:
– Web Services Description Language (WSDL)
• Define a interface de acesso ao serviço
– Simple Object Access Protocol (SOAP)
• Um protocolo baseado em XML. Permite que os clientes
se comuniquem com os provedores de serviço.
– Universal Description,
Description Discovery and Integration (UDDI)
• Permite Web services registrarem suas características,
permitindo que outras aplicações as encontrem.
W b services,
Web
i
A
Arquitetura
it t
3 - Provê serviço
Serviço cliente
<< SOAP >>
<< SOAP >>
Provedor
de serviço
<< SOAP >>
1 - Registra-se
2 - Busca
serviço
i
Serviço
de diretório
SOAP
• Simple Object Access Protocol
– Define uma forma de transferir documentos XML
através da Internet;
– Aplicações cliente se comunicam com Web services
usando SOAP como protocolo;
– SOAP define um envelope para transmissão de
mensagens oferece regras para representar
mensagens,
“remote procedure calls” (RPCs);
SOAP
– É o padrão para troca de mensagens usando XML;
– Desenvolvido sob a supervisão da W3C;
– Permite a transferência de mensagens através de
protocolos
t
l de
d alto
lt nível,
í l como HTTP e SMTP;
SMTP
– É mais usado sobre HTTP, pois consegue
atravessar firewalls!
SOAP
A utilização do SOAP permite
a não reimplementação de
um sistema web já
existente. Basta fazer o
sistema existente e o
módulo de acesso a
Internet conversarem
usando
d SOAP e descrever
d
os dados em XML
SOAP
Integração entre aplicações dentro
de um domínio administrativo
Parser XML
PC
PC
Cliente
Cliente
Internet
XML
SOAP
HTML
XML
Servidor de Aplicação
WSDL
• Web Service Description Language
– É uma linguagem
li
XML para d
descrever W
Web
b
services;
– Segue um conceito parecido da “Interface Definition
Language” (IDL) usado em CORBA;
– Descreve detalhes como definição de tipos de
dados, operações suportadas pelo Web service,
f
formato
t das
d mensagens, endereço
d
de
d rede
d d
do W
Web
b
service, etc.
WSDL
Através do WSDL podemos interligar um Sistema Web
integrado com os demais fornecedores, por exemplo.
WSDL
<< SOAP >>
Sistema Web
Fornecedor A
WSDL
Internet
<< SOAP >>
WSDL
<< SOAP >>
Fornecedor B
WSDL
Fornecedor C
Último detalhe... Como descobrir
novos fornecedores no âmbito do sistema Web??
UDDI
• Universal Description, Discovery and Integration
• Provê um mecanismo para registro e
ç de Web services;;
localização
• É um diretório que contém vários Web services
registrados,
i t d
onde
d associamos
i
um nome a um
serviço, como um Web service.
UDDI
• Permite que empresas registrem seus serviços
e possam interagir com outras empresas
interessadas.
• UDDI é um Webservice baseado em XML e
SOAP;
• A interação com um serviço UDDI é baseado
em interfaces SOAP prédefinidas.
UDDI
• Um registro UDDI é organizado em duas entidades
fundamentais:
– businessEntity : provê informações a sobre a empresa que está
publicando o serviço. Contém um ou mais elementos
businessService;
– businessService: representa um serviço provido pela
businessEntity;
– Cada entidade é identificada por uma chave única, permitindo que
haja referências a serviços, definições WSDL;
UDDI
O Sistema Web pode encontrar outros Fornecedores através de um serviço UDDI.
UDDI Service
Registram-se
Fornecedores XYZ
Busca novos fornecedores
Sistema Web
WSDL
<< SOAP >>
WSDL
Internet
<< SOAP >>
Fornecedor A
WSDL
Fornecedor B
<< SOAP >>
WSDL
Fornecedor C
UDDI
O Sistema Web pode encontrar outros Fornecedores através de um serviço UDDI.
UDDI Service
Registram-se
Fornecedores XYZ
Com nica se com no
Comunica-se
novos
os fornecedores
<<SOAP>>
Sistema Web
WSDL
<< SOAP >>
WSDL
Internet
<< SOAP >>
Fornecedor A
WSDL
Fornecedor B
<< SOAP >>
WSDL
Fornecedor C
Ferramentas - Como desenvolver Web
Services?
• Ferramentas da Sun
– JWSDP com muitas APIs:
• JAXP, JAXB, JAX-RPC, SAAJ, JAXR, JWSDL
• Ferramentas da IBM
• Ferramentas da Microsoft (.NET)
• Ferramentas da Apache
p
– Axis do projeto Apache
• WSDL2Java converte WSDL para Java
F t de
Fontes
d consulta
lt
• Axis User’s Guide
http://ws.apache.org/axis/java/user guide.html
http://ws.apache.org/axis/java/user-guide.html
• http://java.sun.com/webservices
• developers.ibm.com/webservices
• JavaWorld: www.javaworld.com
• webservices.org
webservices org
• www.uddi.org
g
• xml.apache.org
Download