Web services Ângelo Vimeney Rafael Martinelli Apresentação Introdução HTTP XML WSDL SOAP UDDI USIP Compilação Conclusão Protocolos base para a Web services Web services Web services Web services Web services Web services Web services www.comidas.com.br www.veiculos.com.br www.dentista.org www.algoritmos.com.br www.campeonatos.com.br www.animais.com.br www.something.com.br abacate abacaxi abelha abóbora bacalhau barcos beterraba beringela dente dor diferencial ... tartaruga watch xadrez xerox yet zebra ? ? ? ? xadrez asdfkljdfkjsdf sdfjsdfkf sdfjsdfkjf sdfjkasdkflad sdfd dkfsdf k sdkfka Portal Server
17
Embed
Apresentação Web services - ime.uerj.bralexszt/cursos/topesp_inter/webservices...abelha abóbora bacalhau barcos beterraba beringela dente dor diferencial... tartaruga watch xadrez
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
asdfkljdfkjsdfsdfjsdfkfsdfjsdfkjfsdfjkasdkfladsdfd dkfsdf k sdkfka
Portal Server
2
Web servicesWeb services
Brasil
USA
Rio de Janeiro
São Paulo
Salvador
Porto Alegre
New York
San Francisco
Seattle
Portland
Preço < 300
Preço < 100
Tecido de Algodão
Tecido de Linho
Tecido de Tergal
Web service 1
Web service 2
Web service 3
Web service 4
Web service 5
Web service 6
Web service 7
Web service 8
Pizzarias
Hotéis
Corretagem de imóveis
Web servicesWeb services www.uddi.microsoft.com
Web servicesWeb services
• Modo padrão, independente de plataforma, aberto, escalável e facilmente extensível de descrever osserviços.
• Modo padrão, independente de plataforma, aberto, escalável e facilmente extensível para publicar e localizar os serviços.
Web servicesWeb services
“O termo Web service se refere a uma
funcionalidade específica oferecida por uma
empresa, geralmente através de uma conexão de
internet, com o propósito de permitir que outra
empresa ou software utilize este serviço.”
UDDI Technical White Paper
“Web services são o próximo passo na evolução daWorld Wide Web (WWW) e permite disponiblizarmoselementos programáveis em Web sites onde outros
possam acessá-los de forma distribuída.”
3
Web servicesWeb services
Heather Kreger - IBM
“Um Web service é uma interface que descreve
uma coleção de operações que são acessíveis
pela rede através de mensagens XML
padronizadas.”
Arquitetura da Empresa A
Cliente ServidorArquitetura da Empresa B
Cliente Servidor
Arquitetura da Empresa C
Cliente Servidor
. . .
Empresa A Empresa B Empresa C Empresa Z
Arquitetura baseada em Web services
Pilhapadrão de protocolos
Bind
Publish
Find
Service Requestor Service Provider
Service Registry
Service
Service Description
Modelo Web services
Apresentação
Introdução
HTTP
XML
WSDL
SOAP
UDDI
USIP
Compilação
Conclusão
Protocolos base para a Web services
Web servicesWeb services
4
Nível Físico
IP
UDP TCP
HTTPHyperText Transfer ProtocolC
amad
ade
Apl
icaç
ão
XML EXtensible Markup Language
SOAP WSDLWeb Services
Description Language
Simple Object Access Protocol
Universal Description,Discovery Integration
UDDI
USIP
Universal Service Interop Protocols
Nível Físico
IP
UDP TCP
HTTP
Cam
ada
de A
plic
ação
HTTP
HTTP• Simples• Human-readable, English-based• Stateless • Padrão de fato para comunicação na Web• Extensível para tranporte de qualquerformato de documento• Versão atual: 1.1...
...vamos ver a versão 1.0...
HTTP
Service Requestor Service Provider
Service Registry
Bind
PublishFind
Service Requestor
Service Provider
Service Registry
Service
Service Description
5
HTTP
...
Componentes HTTP
Linha Inicial
Linhas de cabeçalho
Linha em branco
Conteúdo (message body)
...
HTTP
Initial Request Line
GET /path/to/file/index.html HTTP/1.0
HEAD (obter somente cabeçalho)GET (obter recurso)
POST (enviar dados)
Initial Response Line (status line)
HTTP/1.0 200 OK
1xx Mensagem de informação2xx Algum tipo de sucesso3xx Redireciona o cliente4xx Indica um erro na parte cliente5xx Indica um erro na parte servidor
<html><body><h1>Happy New Millennium!</h1>(more file contents)
.
.
.</body></html>
Apresentação
Introdução
HTTP
XML
WSDL
SOAP
UDDI
USIP
Compilação
Conclusão
Protocolos base para a Web services
Web servicesWeb services
Nível Físico
IP
UDP TCP
HTTP
Cam
ada
de A
plic
ação
XML
XML
7
XMLO que é XML:.
- Significa Extensible Markup Language- É uma linguagem de marcação muito parecida com HTML- Foi desenvolvida para descrever dados- Não existem tags predefinidas, você tem que definir suas próprias tags- Documentos XML devem ser auto-descritivos
Diferenças entre XML e HTML:.
- XML serve para descrever dados e se concentra em como eles são- HTML serve para exibir dados e se concentra em como serão exibidos
XML não faz nada!.
- XML foi criado para estruturar, guardar e transmitir dados- É necessário um software para fazer algo com XML
XML - Introdução
XMLExemplo de XML:.<mensagem>
<para>Ângelo</para><de>Rafael</de><cabecalho>Lembrete</cabecalho><corpo>Não esquecer de estudar Web Services!</corpo>
</mensagem>
Utilização do XML:.
- Pode guardar dados fora do HTML- Pode ser usado para trocar informações por sistemas incompatíveis- Pode ser usado para compartilhar dados- Pode ser usado para guardar dados- É interpretado pela maioria dos browsers- É a “mãe” de outras linguagens como WAP e WML
XML - Exemplo
XMLSintaxe do XML:.<?xml version="1.0" encoding="ISO-8859-1"?><mensagem data=“29/08/2003”>
<para>Ângelo</para><de>Rafael</de><cabecalho>Lembrete</cabecalho><corpo>Não esquecer de estudar Web Services!</corpo>
</mensagem>.
- Os documentos usam uma sintaxe auto-descritiva- Todos as tags têm que possuir outra tag indicando seu fim- XML diferencia letras maiúsculas e minúsculas- Tags têm que começar e terminar na mesma ordem: <b><i>ERRADO!</b></i>- Todo documento tem que possuir uma tag raiz- Os atributos têm que ser limitados por aspas- Os espaços e as novas linhas são considerados- Os comentários são iguais a HTML: <!-- Comentário -->
XML - Sintaxe
XMLXML Namespaces:.<table>
<tr><td>Banana</td><td>Limão</td>
</tr></table>.
- As tags XML não são predefinidas- Utiliza-se um prefixo para diferenciar os namespaces.<h:table xmlns:h="http://www.w3.org/TR/html4/">
<f:name>Mesa de café</f:name><f:width>80</f:width><f:length>120</f:length>
</f:table>.
.<table>
<name>Mesa de café</name><width>80</width><length>120</length>
</table>
XML - Namespaces
8
Apresentação
Introdução
HTTP
XML
WSDL
SOAP
UDDI
USIP
Compilação
Conclusão
Protocolos base para a Web services
Web servicesWeb services
Nível Físico
IP
UDP TCP
HTTP
Cam
ada
de A
plic
ação
SOAP
XML
SOAP
SOAPO que é SOAP:.
- Significa Simple Object Access Protocol- É um protocolo de comunicação- Foi desenvolvido para ser usado na Internet- Independente de plataforma- Independente de linguagem- É baseado em XML- Atravessa firewalls com facilidade
Por que SOAP?.
- Foi desenvolvido para funcionar com HTTP- Objetos DCOM e CORBA normalmente são barrados por firewalls- O melhor método de comunicação entre aplicações é por HTTP, pois ésuportado por qualquer browser e servidor de internet- SOAP permite aplicações de diferentes sistemas, de diferentes tecnologias e desenvolvidas em linguagens diferentes se comunicarem
SOAP - Introdução
SOAPComponentes de uma mensagem SOAP:.
- Envelope: identifica o documento XML como uma mensagem SOAP- Header (opcional)- Body: contém informações de requisições e respostas- Fault (opcional)
WSDL description of a standard weather service interface</description><overviewDoc><description xml:lang="en"> WSDL source document.</description><overviewURL> http://example.com/weathers.wsdl </overviewURL></overviewDoc><categoryBag>
WSDL description of a standard weather service interface</description><overviewDoc><description xml:lang="en"> WSDL source document.</description><overviewURL> http://example.com/weathers.wsdl </overviewURL></overviewDoc><categoryBag>
} else if (args.length > 1) {System.out.println(“java HelloWorldClient [endpoint]”);
}
Call call = new Call();call.setTargetObjectURI(“urn:HelloWorldService”);call.setMethodName(“getMessage”);call.setEncodingStyleURI(Constants.NS_URI_SOAP_ENC);