Naar inhoud springen

Web Application Description Language

Uit Wikipedia, de vrije encyclopedie

De Web Application Description Language (WADL) is een machine leesbare XML beschrijving van HTTP gebaseerde applicaties. WADL was aangemeld bij het World Wide Web Consortium door Sun Microsystems in Augustus 2009, maar het consortium heeft geen plannen het te standaardiseren. WADL is het REST equivalent van of SOAP's Web Services Description Language (WSDL), dat overigens ook gebruikt kan worden om REST services te beschrijven.

In het kader van het EuropeanaConnect project is gewerkt aan een vergelijkbare standaard om het integreren van web applicaties door eindgebruikers mogelijk te maken: SIWA (Schema for the Integration of Web Applications).[1]

De service wordt beschreven met behulp van een set resource-elementen. Elke resource bevat param-elementen om de invoer te beschrijven, en method-elementen die de aanvraag en respons van een resource beschrijven. Het request-element specificeert hoe de invoer moet worden weergegeven, welke typen vereist zijn en welke specifieke HTTP-headers vereist zijn. De response beschrijft de weergave van de respons van de service, evenals eventuele foutinformatie, om fouten te verwerken.

De volgende lijst toont een voorbeeld van een WADL-beschrijving voor de Yahoo News Search-applicatie.

 <application xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
  xsi:schemaLocation="http://wadl.dev.java.net/2009/02 wadl.xsd" 
  xmlns:tns="urn:yahoo:yn" xmlns:yn="urn:yahoo:yn" xmlns:ya="urn:yahoo:api"
  xmlns:xsd="http://www.w3.org/2001/XMLSchema" 
  xmlns="http://wadl.dev.java.net/2009/02"> 
   <grammars> 
     <include href="NewsSearchResponse.xsd"/> 
     <include href="Error.xsd"/> 
   </grammars> 
 
   <resources base="http://api.search.yahoo.com/NewsSearchService/V1/"> 
     <resource path="newsSearch"> 
       <method name="GET" id="search"> 
         <request> 
           <param name="appid" type="xsd:string" style="query" required="true"/> 
           <param name="query" type="xsd:string" style="query" required="true"/> 
           <param name="type" style="query" default="all"> 
             <option value="all"/> 
             <option value="any"/> 
             <option value="phrase"/> 
           </param> 
           <param name="results" style="query" type="xsd:int" default="10"/> 
           <param name="start" style="query" type="xsd:int" default="1"/> 
           <param name="sort" style="query" default="rank"> 
             <option value="rank"/> 
             <option value="date"/> 
           </param> 
           <param name="language" style="query" type="xsd:string"/> 
         </request> 
         <response status="200"> 
           <representation mediaType="application/xml" element="yn:ResultSet"/> 
         </response> 
         <response status="400"> 
           <representation mediaType="application/xml" element="ya:Error"/> 
         </response> 
       </method> 
     </resource> 
   </resources>
 </application>

Genereer WADL of genereer code vanuit WADL

[bewerken | brontekst bewerken]

Er zijn meerdere hulpmiddelen om Java-code te genereren vanuit een bestaande WADL:[2][3]