Web Application Description Language

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]

Formaat

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.

Voorbeeld

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

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

Content Disclaimer

Informasi ini disarikan dari Wikipedia dan disajikan kembali untuk tujuan edukasi. Konten tersedia di bawah lisensi CC BY-SA 3.0. Kami tidak bertanggung jawab atas ketidakakuratan data yang bersumber dari kontribusi publik tersebut.

  1. The information displayed on this website is sourced in part or in whole from Wikipedia and has been adapted for the purpose of restating it. We strive to provide accurate and relevant information, however:
  2. There is no guarantee of absolute accuracy. Wikipedia is an open, collaborative project that can be edited by anyone, so information is subject to change.
  3. It is not intended to constitute professional advice. The content displayed is for informational and educational purposes only. For important decisions (e.g., medical, legal, or financial), please consult a professional.
  4. Content copyright. Wikipedia is licensed under the Creative Commons Attribution-ShareAlike License (CC BY-SA). This means that content may be reused with appropriate attribution and shared under a similar license.
  5. Responsible use. Any risk arising from the use of information from this website is entirely the responsibility of the user.