Professional Documents
Culture Documents
1
Definição
Web Service:
“Um web service é uma aplicação identificada por uma URI (Uniform
Resource Identifier), cujas interfaces públicas e características
são descritas e definidas utilizando XML. Estas definições podem
ser descobertas por outros sistemas. Estes sistemas podem,
então, interagir com o web service conforme prescrito por sua
definição, usando mensagens XML sobre protocolos Internet.”
2
Aniversário de 10 anos da WWW
The Once and Future Web
Conferência realizada em dezembro de 2001 pela Stanford University
Technologies like mobile computing, peer-to-peer networking, ubiquitous wireless access and
intelligent software agents dramatically will change the way we interact with the web - as long
as big business doesn't strangle innovation for the sake of its own profits.
“The future of communication is not about people talking to people. The future is machines talking
to other machines on people's behalf.“
- Paul Saffo, director of the Institute for the Future (www.iftf.org).
"Most of what we think of as 'surfing' will be done by machines. Instead of searching the web for
an Italian restaurant in San Francisco with a table available before 8 p.m., you might be able to
ask your software agent to do the job for you. If it finds a match, your agent could even - with
your approval - make reservations and print out a map telling you how to get there."
- Armando Fox, assistant professor of computer science at Stanford.
3
A evolução da computação distribuída na internet
Browser
Web HTML Cliente
Server
Internet
4
A evolução da computação distribuída na internet
Browser
Web HTML Cliente
Server
CGI
Database
Internet
applet
Browser
Database Web HTML Cliente
server Server
Internet
Database Web
server Server
Internet
Database Web
server Server Solução proprietária
Internet
Solução proprietária
Database Web
server Server XML / HTTP
Internet
Aplicação A Aplicação B
Glossário:
12
Tipos de web services
Document-oriented
Semelhante a EDI (Electronic Data Interchange)
Envia dados formatados como um documento do negócio
(por exemplo o envio de uma ordem de compra)
13
As primeiras soluções: HTML / HTTP
A aplicação client faz uma chamada programaticamente a uma URL de um web site,
Desvantagens
passando os parâmetros por HTTP-GET ou HTTP-POST.
A aplicação cliente funcionará apenas enquanto o documento HTML
O web server retorna um documento HTML contendo os dados que interessam a
permanecer estático. Uma alteração na formatação da página do web site
aplicação cliente misturados com conteúdo e formatação HTML.
quebrará a aplicação cliente.
A aplicação cliente faz o parser deste documento e extrai os dados que interessam
para seu próprio uso.
14
As primeiras soluções: XML / HTTP
Uma aplicação server que expõe uma tabela do banco de dados em um arquivo XML
mediante uma chamada HTTP é implementada utilizando-se ASP, Java, Perl ou qualquer
outra linguagem de programação. Desvantagens
A aplicação
A aplicação cliente
client espera
faz uma um documento
chamada XML fortemente
programaticamente a umaestruturado. Uma
URL definida,
alteração
passando na aplicação
os parâmetros por server podeou
HTTP-GET quebrar a aplicação cliente.
HTTP-POST.
Na maioria
A aplicação dos retorna
server casos éumpossível utilizarXML
documento um contendo
schema XML público.
os dados deMas
umaquando
de suaso
número de aplicações é muito grande, a manutenção do conjunto de schemas
tabelas.
para cada aplicação pode se tornar inviável.
A aplicação cliente faz o parser destes dados para seu próprio uso utilizando
métodos apropriados para manipular o documento XML.
15
Outras Lacunas Comuns
Publicação do serviço
Uma vez que um serviço esteja disponível, como fazer
que um cliente consiga localizá-lo?
Descrição do serviço
Como deve ser feita a chamada a este serviço?
Que protocolos este serviço suporta?
Como este protocolo serializa os dados?
Que tipos de dados são suportados pelo serviço?
16
Completando As Lacunas
As especificações que estão sendo criadas para os web services recaem em três categorias:
Discovery
UDDI (Universal Description, Discovery and Integration)
UDDI é um protocolo que permite a publicação de um web service em um diretório
central de modo que ele possa ser facilmente localizado e consumido por outros
clientes.
Mais informações em http://www.UDDI.org
DISCO (abreviação de Discovery)
DISCO é um padrão usado para descrever o Uniform Resource Identifier (URI) de
um web service e contém a referência ao endereço do WSDL. É um arquivo em
formato XML e normalmente localiza-se na raiz da aplicação web.
Description
WSDL (Web Services Description Language)
Um arquivo baseado em XML usado para definir o comportamento de um web
service e como um cliente pode utilizar ou interagir com o serviço.
Mais informações em http://www.w3.org/TR/wsdl
Protocol
Como já vimos anteriormente, o SOAP é o protocolo baseado em XML utilizado
para serializar dados e objetos de um web service e que utiliza HTTP para o
17
transporte de dados.
Representação por camadas
Aplicação Aplicação
Aplicação Aplicação
Browser Aplicação
Browser
Web Server
SOAP Aplicação
WebSOAP
SOAP Server SOAP
HTTP HTTPSOAP
RPC
HTTPSMTP
HTTP HTTP
HTTPRPCSMTP
HTTP
SOAP HTTP
18
Partes integrantes de uma mensagem SOAP
Header OPCIONAL
Block Atributos e detalhes
Block da comunicação
…
19
Anatomia de uma mensagem SOAP
SOAP
Fase 1 Request Fase 2
Serializa Desserializa
XML
SOAP
Message
Internet
Aplicação SOAP
cliente Response Aplicação
servidor
XML
21
Padrões Relacionados aos Web Services
Process Description
(e.g., XLANG, WSFL)
Descrição
Diretório
de Serviços
UDDI
WSDL
Descrição de
Inspeção
SOAP Documentos
XML Schema DISCO
Find a Service
http://www.uddi.org
Link to DISCO or WSDL document UDDI
Discovery
http://yourservice.com
Web HTML or XML with link to WSDL
Service
How do we talk? (WSDL)
Consumer http://yourservice.com/?WSDL
Web
XML with service descriptions
Service
Let me talk to you (SOAP)
http://yourservice.com/svc1
XML/SOAP BODY
23
Design--Time or Dynamic
Design Runtime
Juntando as peças
Ainda em fase de desenvolvimento, procura-se
2 por determinado serviço em um nó UDDI.
1 Serviço é criado e publicado em um nó UDDI.
Internet
4
5 WSDL
SOAP 6
7 SOAP
24
Aplicação Aplicação
Design-time Runtime
Cliente Servidor
Um web service simples
DEMO
25