1 / 25

WSDL

WSDL. Web Services Description Language. 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). WSDL.

fayola
Télécharger la présentation

WSDL

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. WSDL Web Services Description Language

  2. 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)

  3. WSDL • Uma definição: • A WSDL é uma especificação que permite descrever Web Services segundo um formato XML.

  4. 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.

  5. 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.

  6. 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 .

  7. 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.

  8. 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)

  9. 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.

  10. 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).

  11. 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>

  12. Elementos da Interface de Serviço • 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>

  13. Elementos da Interface de Serviço • 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> ...

  14. Elementos da Interface de Serviço • 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> ...

  15. Elementos da Interface de Serviço • 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>

  16. 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 portse services.

  17. 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>

  18. 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>

  19. 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.

  20. Elementos da WSDL para seu XSD definitions documentation message portTypeinput outputfault operationservice bindingport

  21. 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

  22. 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

  23. 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 porta operation: Nomeia as operações de entrada e saída e ainda podem descrever erros (fault) fault: Leyout de retorno de qualquer falha

  24. binding: Especifica o protocolo e o formato de dados para operações e mensagens definidas por uma portType 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> Input/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 relacionadas documentation: Textos ou elementos adicionais, informativos, utilizados para documentação port: Especifica o endereço de um binding

  25. 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.

More Related