Top Banner
WSDL Web Services Description Language
25

WSDL Web Services Description Language. Tecnologias Relacionadas Web Services SOAP (Simple Object Access Protocol) HTTP (HyperText Markup Language) UDDI.

Apr 07, 2016

Download

Documents

Welcome message from author
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.
Transcript
Page 1: WSDL Web Services Description Language. Tecnologias Relacionadas Web Services SOAP (Simple Object Access Protocol) HTTP (HyperText Markup Language) UDDI.

WSDL

Web Services Description Language

Page 2: WSDL Web Services Description Language. Tecnologias Relacionadas Web Services SOAP (Simple Object Access Protocol) HTTP (HyperText Markup Language) UDDI.

Tecnologias Relacionadas

• Web Services• SOAP (Simple Object Access Protocol)• HTTP (HyperText Markup Language)• UDDI (Universal Description, Discovery and Integration)• XML (eXtensible Markup Language)• XSD (XML Schema Documents)

Page 3: WSDL Web Services Description Language. Tecnologias Relacionadas Web Services SOAP (Simple Object Access Protocol) HTTP (HyperText Markup Language) UDDI.

WSDL

• Uma definição:

– A WSDL é uma especificação que permite descrever Web Services segundo um formato XML.

Page 4: WSDL Web Services Description Language. Tecnologias Relacionadas Web Services SOAP (Simple Object Access Protocol) HTTP (HyperText Markup Language) UDDI.

Descrição dos Serviços

• Através da descrição do Web Services o provedor de serviços publica as especificações necessárias para o cliente invocar um serviço.

Page 5: WSDL Web Services Description Language. Tecnologias Relacionadas Web Services SOAP (Simple Object Access Protocol) HTTP (HyperText Markup Language) UDDI.

Independência de plataforma

• O cliente não precisa saber qual a linguagem do programação ou plataforma de execução em que o provedor de serviços está baseado.

• A descrição do serviço em conjunto com a infra-estrutura SOAP adjacente encapsula detalhes tanto no lado do cliente quanto no lado do provedor.

Page 6: WSDL Web Services Description Language. Tecnologias Relacionadas Web Services SOAP (Simple Object Access Protocol) HTTP (HyperText Markup Language) UDDI.

WSDL e XML

• Um documento WSDL é um documento XML que descreve Web Services como um conjunto de pontos de serviço (endpoints) que operam baseados em trocas de mensagens.

• As operações e mensagens relativas a um serviço são descritas de forma abstrata e em seguida ligados a protocolos de rede e formatos de mensagens concretos como o objetivo de definir um ponto de serviço .

Page 7: WSDL Web Services Description Language. Tecnologias Relacionadas Web Services SOAP (Simple Object Access Protocol) HTTP (HyperText Markup Language) UDDI.

WSDL é extensível

• WSDL é uma linguagem extensível e permite a descrição de pontos de serviço e suas mensagens independentemente de que formato de mensagens ou protocolo de rede é utilizado na comunicação.

Page 8: WSDL Web Services Description Language. Tecnologias Relacionadas Web Services SOAP (Simple Object Access Protocol) HTTP (HyperText Markup Language) UDDI.

Arquitetura WS

• Camadas– Descoberta – Publicação (UDDI /direta)– Descrição dos serviços (WSDL)– Troca de Mensagens baseadas em XML (SOAP)– Rede (HTTP, SMTP, FTP)

Page 9: WSDL Web Services Description Language. Tecnologias Relacionadas Web Services SOAP (Simple Object Access Protocol) HTTP (HyperText Markup Language) UDDI.

Interface e Implementação

• O uso de WSDL na arquitetura de Web Services é em geral dividido em duas partes:– interface do serviço – implementação do serviço.

• Cada parte pode ser definida de maneira independente e conseqüentemente reutilizada por outras aplicações.

Page 10: WSDL Web Services Description Language. Tecnologias Relacionadas Web Services SOAP (Simple Object Access Protocol) HTTP (HyperText Markup Language) UDDI.

Interface de Serviço

• Especificação de interface de serviço é uma descrição de serviço reutilizável que pode ser instanciada e implementada por diferentes implementações de serviços.

• Semelhante a IDL (CORBA).

Page 11: WSDL Web Services Description Language. Tecnologias Relacionadas Web Services SOAP (Simple Object Access Protocol) HTTP (HyperText Markup Language) UDDI.

Elementos da Interface de Serviço• Tipos (types)

– Definem os tipos de dados que são utilizados para descrever as mensagens. Para melhor interoperabilidade e independência de plataforma indica-se o uso de XSD (XML Schema Documents)

<types> <schema targetNamespace="http://example.com/stockquote.xsd“ xmlns="http://www.w3.org/2000/10/XMLSchema"> <element name="TradePriceRequest"> <complexType> <all> <element name="tickerSymbol" type="string"/> </all> </complexType> </element> <element name="TradePrice"> ...

</element> </schema>

</types>

Page 12: WSDL Web Services Description Language. Tecnologias Relacionadas Web Services SOAP (Simple Object Access Protocol) HTTP (HyperText Markup Language) UDDI.

• Mensagens (message) – Representam uma definição abstrata dos dados

que serão transmitidos. Uma mensagem é composta por diferentes partes lógicas que estão associadas com uma definição contida em um sistema de tipos.

<message name=“itemInformation”><part name=“theElement” element=“aliarForItem” />

</message>

Elementos da Interface de Serviço

Page 13: WSDL Web Services Description Language. Tecnologias Relacionadas Web Services SOAP (Simple Object Access Protocol) HTTP (HyperText Markup Language) UDDI.

• Tipos de portas (portType) – São conjuntos de operações abstratas, cada uma

contendo mensagens de entrada e saída..... > <portType name="StockQuotePortType">

<operation name="GetLastTradePrice"> <input message="tns:GetLastTradePriceInput"/> <output message="tns:GetLastTradePriceOutput"/> </operation>

</portType> ...

Elementos da Interface de Serviço

Page 14: WSDL Web Services Description Language. Tecnologias Relacionadas Web Services SOAP (Simple Object Access Protocol) HTTP (HyperText Markup Language) UDDI.

• Operações (operation) – Definição abstrata de uma ação que um serviço

pode executar.... > <portType name="StockQuotePortType">

<operation name="GetLastTradePrice"> <input message="tns:GetLastTradePriceInput"/> <output message="tns:GetLastTradePriceOutput"/> </operation>

</portType> ...

Elementos da Interface de Serviço

Page 15: WSDL Web Services Description Language. Tecnologias Relacionadas Web Services SOAP (Simple Object Access Protocol) HTTP (HyperText Markup Language) UDDI.

• Ligações (binding) – Especificam protocolos concretos além de especificações

de formatação de dados para as operações e mensagens definidas em um tipo de porta particular.

– <binding name="StockQuoteSoapBinding“ type="tns:StockQuotePortType"> <soap:binding style="document“ transport="http://schemas.xmlsoap.org/soap/http"/> <operation name="GetLastTradePrice"> <soap:operation soapAction="http://example.com/GetLastTradePrice"/> <input> <soap:body use="literal"/> </input> <output> <soap:body use="literal"/> </output> </operation> </binding>

Elementos da Interface de Serviço

Page 16: WSDL Web Services Description Language. Tecnologias Relacionadas Web Services SOAP (Simple Object Access Protocol) HTTP (HyperText Markup Language) UDDI.

Implementação do Serviço

• A implementação de serviço é um documento WSDL que descreve como uma interface particular é implementada por um determinado provedor de serviços.  Os elementos que fazem parte da implementação do serviço são ports e services.

Page 17: WSDL Web Services Description Language. Tecnologias Relacionadas Web Services SOAP (Simple Object Access Protocol) HTTP (HyperText Markup Language) UDDI.

Implementação do Serviço

• Porta (port) – Especifica um endereço para uma ligação,

definindo então um endpoint único. <port name="StockQuotePort“

binding="tns:StockQuoteBinding"> <soap:address location="http://example.com/stockquote"/></port>

Page 18: WSDL Web Services Description Language. Tecnologias Relacionadas Web Services SOAP (Simple Object Access Protocol) HTTP (HyperText Markup Language) UDDI.

Implementação do Serviço

• Serviço (service)– Modela um Web Service agregando um

conjunto de portas relacionados entre si. <wsdl:definitions .... >

<wsdl:service name="nmtoken"> <wsdl:port .... /> </wsdl:service>

</wsdl:definitions>

Page 19: WSDL Web Services Description Language. Tecnologias Relacionadas Web Services SOAP (Simple Object Access Protocol) HTTP (HyperText Markup Language) UDDI.

WSDL

• As definições de interface e implementação de serviços podem fazer parte de um mesmo documento WSDL .

• Um documento WSDL contém elementos que possuem significado para um Web Service.

Page 20: WSDL Web Services Description Language. Tecnologias Relacionadas Web Services SOAP (Simple Object Access Protocol) HTTP (HyperText Markup Language) UDDI.

Elementos da WSDL para seu XSD

definitions documentation message portTypeinput outputfault operationservice bindingport

Page 21: WSDL Web Services Description Language. Tecnologias Relacionadas Web Services SOAP (Simple Object Access Protocol) HTTP (HyperText Markup Language) UDDI.

Estrutura de um Documento WSDL

• Um documento WSDL é um conjunto de definições. Há um elemento “definitions” na raiz e outras definições no interior

Page 22: WSDL Web Services Description Language. Tecnologias Relacionadas Web Services SOAP (Simple Object Access Protocol) HTTP (HyperText Markup Language) UDDI.

This example uses a fixed XML format instead of the SOAP encoding Example 1 SOAP 1.1 Request/Response via HTTP [2]

<?xml version="1.0"?> <definitions name="StockQuote" targetNamespace="http://example.com/stockquote.wsdl“ xmlns:tns="http://example.com/stockquote.wsdl“ xmlns:xsd1="http://example.com/stockquote.xsd“ xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/“ xmlns="http://schemas.xmlsoap.org/wsdl/"> <types> <schema targetNamespace="http://example.com/stockquote.xsd“ xmlns="http://www.w3.org/2000/10/XMLSchema"> <element name="TradePriceRequest"> <complexType> <all> <element name="tickerSymbol" type="string"/> </all> </complexType> </element> <element name="TradePrice">

Definitions:Define a raiz do

documento WSDL

types:Define os tipos de dados que serão utilizados para

trocar mensagens

types:Indica-se o

padrão XSD

Page 23: WSDL Web Services Description Language. Tecnologias Relacionadas Web Services SOAP (Simple Object Access Protocol) HTTP (HyperText Markup Language) UDDI.

Cont.

<element name="TradePrice"> <complexType> <all> <element name="price" type="float"/> </all> </complexType> </element> </schema> </types> <message name="GetLastTradePriceInput"> <part name="body" element="xsd1:TradePriceRequest"/> </message> <message name="GetLastTradePriceOutput"> <part name="body" element="xsd1:TradePrice"/> </message> <portType name="StockQuotePortType"> <operation name="GetLastTradePrice"> <input message="tns:GetLastTradePriceInput"/> <fault name= “..... /> <output message="tns:GetLastTradePriceOutput"/> </operation> </portType>

message:Definição abstrata dos dados enviados

e recebidos

portType:Define um conjunto de

operações disponíveis em uma determinada portaoperation:

Nomeia as operações de entrada e saída e ainda podem descrever erros

(fault)

fault:Leyout de retorno de qualquer falha

Page 24: WSDL Web Services Description Language. Tecnologias Relacionadas Web Services SOAP (Simple Object Access Protocol) HTTP (HyperText Markup Language) UDDI.

Cont.

<binding name="StockQuoteSoapBinding“ type="tns:StockQuotePortType"> <soap:binding style="document“ transport="http://schemas.xmlsoap.org/soap/http"/> <operation name="GetLastTradePrice"> <soap:operation soapAction="http://example.com/GetLastTradePrice"/> <input> <soap:body use="literal"/> </input> <output> <soap:body use="literal"/> </output> </operation> </binding> <service name="StockQuoteService"> <documentation>My first service </documentation> <port name="StockQuotePort" binding="tns:StockQuoteBinding"> <soap:address location="http://example.com/stockquote"/> </port> </service> </definitions>

binding:Especifica o protocolo e o

formato de dados para operações e mensagens

definidas por uma portTypeInput/output:Descreve os elementos que

uma operação usa como parâmetros de entrada e

saída

service:Modela um Web Services agregando um conjunto de

portas relacionadasdocumentation:

Textos ou elementos adicionais, informativos,

utilizados para documentação

port:Especifica o

endereço de um binding

Page 25: WSDL Web Services Description Language. Tecnologias Relacionadas Web Services SOAP (Simple Object Access Protocol) HTTP (HyperText Markup Language) UDDI.

Referências

[1] Seely, Scott. SOAP: Cross Platform, Web Services Development, Using XML. New York: Prentice Hall, 2002.

[2] W3C. Web Services Description Language (WSDL) 1.1, [online], 05/06/2002, http://www.w3.org/tr/2001/NOTE=wsdl-20010315.