Web Services Description Language

From Wikipedia, the free encyclopedia

Remove ads

Web Services Description Language (WSDL) je na XML temelječ vmesnik za definicijo spletnih storitev, ki ga je razvil mednarodni inštitut World Wide Web Consortium (W3C), z namenom poenotenja načina opisa spletnih storitev. Trenutna verzija je WSDL 2.0, v prejšnji verziji (1.1) je bil pomen akronima Web Services Definition Language, nato pa se je v verziji 2.0 spremenil v Web Service Description Language.

Remove ads

Opis

Thumb
Primerjava strukture WSDL 1.1 z WSDL 2.0

WSDL opiše javni vmesnik do spletne storitve. Uporablja XML Scheme pri definiciji spletne storitve in specifičnih podatkovnih tipov. Omogoča standardiziran zapis tehničnega vmesnika (oz. tehnično pogodbo), ki temelji na sporočilih na osnovi jezika XML. Predstavlja informacije, ki določajo identiteto storitve in omogoči proženje storitve. WSDL je en izmed osnovnih gradnikov primitivnega SOA modela. Poleg WSDL je še SOAP, ki opiše format sporočil, ki se pošiljajo med storitvijo in odjemalcem ter standardiziran format za register storitev UDDI. Če želi kdo uporabiti spletno storitev, najprej pridobi WSDL dokument, da ugotovi lokacijo storitve, seznam operacij, ki jih nudi ter obliko sporočil, ki jih storitev prejema oz. pošilja. WSDL torej pove odjemalcu, kako lahko kliče oz. uporabi spletno storitev, uporabi pa se za izgradnjo namestnikov za odjemalce, ki implementirajo proženje operacij spletne storitve.


Osnovni deli WSDL dokumenta (WSDL 1.1):

Več informacij WSDL konstrukt, Opis ...
Remove ads

Zgodovina

WSDL je bila ena izmed prvih iniciativ v podpori tehnologijam spletnih storitev. Potem, ko se je WSDL izpopolnil, se je začelo iskanje po standardnem formatu sporočil, ki bi se uporabil skupaj z definicijo WSDL. Čeprav so bile v začetku v igri tudi obstoječe alternative (kot je XML-RPC), je bila izbrana tehnologija SOAP. Kombinacija WSDL in SOAP je predstavljala jedro industrijskega standarda za komunikacijsko ogrodje.

  • WSDL 1.0 (september 2000) je bil razvit s strani IBM, Microsoft ter Ariba.
  • WSDL 1.1 (marec 2001) je formalizirana različica WSDL 1.0.
  • WSDL 1.2 (junij 2003) je bil delovni osnutek pri W3C, a je postal različica WSDL 2.0.
  • WSDL 2.0 je junija 2007 postal priporočilo W3C. Podpira povezavo preko vseh oblik http zahtev (ne le GET in POST), kar nudi podporo za REST storitve.

Zadnja različica Business Process Execution Language (BPEL) podpira le WSDL 1.1.

Remove ads

Primer

Primer WSDL 2.0 dokumenta: Glej primer

 <?xml version="1.0" encoding="utf-8" ?>
 
 <description
 xmlns="http://www.w3.org/ns/wsdl"
 targetNamespace="http://greath.example.com/2004/wsdl/resSvc"
 xmlns:tns="http://greath.example.com/2004/wsdl/resSvc"
 xmlns:ghns="http://greath.example.com/2004/schemas/resSvc"
 xmlns:wsoap="http://www.w3.org/ns/wsdl/soap"
 xmlns:soap="http://www.w3.org/2003/05/soap-envelope"
 xmlns:wsdlx="http://www.w3.org/ns/wsdl-extensions">
 
 	<documentation>
 		This document describes the GreatH Web service. Additional
 		application-level requirements for use of this service --
 		beyond what WSDL 2.0 is able to describe -- are available
 		at http://greath.example.com/2004/reservation-documentation.html
 	</documentation>
 
 	<types>
 		<xs:schema
 			xmlns:xs="http://www.w3.org/2001/XMLSchema"
 			targetNamespace="http://greath.example.com/2004/schemas/resSvc"
 			xmlns="http://greath.example.com/2004/schemas/resSvc">
 			<xs:element name="checkAvailability" type="tCheckAvailability"/>
 			<xs:complexType name="tCheckAvailability">
 				<xs:sequence>
 					<xs:element name="checkInDate" type="xs:date"/>
 					<xs:element name="checkOutDate" type="xs:date"/>
 					<xs:element name="roomType" type="xs:string"/>
 				</xs:sequence>
 			</xs:complexType>
 	
 			<xs:element name="checkAvailabilityResponse" type="xs:double"/>
 	
 			<xs:element name="invalidDataError" type="xs:string"/>
 		</xs:schema>
 	</types>
 
 	<interface name="reservationInterface" >
 		<fault name="invalidDataFault"
 			element="ghns:invalidDataError"/>
 	
 		<operation name="opCheckAvailability"
 				pattern="http://www.w3.org/ns/wsdl/in-out"
 				style="http://www.w3.org/ns/wsdl/style/iri"
 				wsdlx:safe="true">
 			<input messageLabel="In"
 				   element="ghns:checkAvailability" />
 			<output messageLabel="Out"
 					element="ghns:checkAvailabilityResponse" />
 			<outfault ref="tns:invalidDataFault" messageLabel="Out"/>
 		</operation>
 	</interface>
 
 	<binding name="reservationSOAPBinding"
 			interface="tns:reservationInterface"
 			type="http://www.w3.org/ns/wsdl/soap"
 			wsoap:protocol="http://www.w3.org/2003/05/soap/bindings/HTTP/">
 	
 		<fault ref="tns:invalidDataFault"
 			wsoap:code="soap:Sender"/>
 		<operation ref="tns:opCheckAvailability"
 				wsoap:mep="http://www.w3.org/2003/05/soap/mep/soap-response"/>
 	</binding>
 
 	<service name="reservationService"
 			interface="tns:reservationInterface">
 		<endpoint name="reservationEndpoint"
 				binding="tns:reservationSOAPBinding"
 				address="http://greath.example.com/2004/reservation"/>
 	</service>
 
 </description>
Remove ads

Glej tudi

  • WADL
  • SOAP
  • UDDI
  • REST
  • XML-RPC
  • W3C
Loading related searches...

Wikiwand - on

Seamless Wikipedia browsing. On steroids.

Remove ads