Anar al contingut

Web Application Description Language

De L'Enciclopèdia, la wikipedia en valencià

Web Application Description Language (WADL) és una descripció XML llegible per màquina d'aplicacions web basades en HTTP (normalment servicis web REST). WADL modela els recursos proporcionats per un servici i les relacions entre ells. WADL està dissenyat per a simplificar la reutilisació de servicis web basats en l'arquitectura HTTP existent de la web. És independent de la plataforma i del llenguage i té com a objectiu promoure la reutilisació d'aplicacions més allà de l'us bàsic en un navegador web.

WADL va ser presentat al World Wide Web Consortium per Sun Microsystems el 31 d'agost de 2009, pero el consorci no té plans actualment per a estandardisar-ho. WADL és l'equivalent de REST al Web Services Description Language (WSDL) de SOAP, que també pot ser usat per a descriure servicis web REST.

El servici és descrit per mig d'un conjunt d'elements resource (recursos). Cada recurs conté elements param per a descriure les entrades i elements method que descriuen la solicitut, request, i resposta, response, d'un recurs. L'element request especifica cóm representar l'entrada, quins tipos són requerits i les capçaleres HTTP específiques que són requerides. L'element response descriu la representació de la resposta del servici, aixina com qualsevol informació de fallos, per a fer front a errors.

Eixemple

[editar | editar còdic]

El següent llistat mostra un eixemple d'una descripció WADL per a l'aplicació Yahoo News Search.

 <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:xsd="http://www.w3.org/2001/XMLSchema" 
  xmlns:yn="urn:yahoo:yn" 
  xmlns:ya="urn:yahoo:api" 
  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" aneu="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="dona't"/> 
           </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>

Referències

[editar | editar còdic]