Limbajul de descriere a aplicației web
Limbajul de descriere a aplicației web ( WADL ) este un limbaj formal în format XML utilizat pentru crearea „documentelor” pentru descrierea serviciilor web bazate pe HTTP . [1] Scopul WADL este de a simplifica și încuraja reutilizarea serviciilor Web bazate pe arhitecturi HTTP care există deja pe Web. [1] [2]
WADL a fost adus în atenția World Wide Web Consortium de către Sun Microsystems pe 31 august 2009, [1] dar W3C nu intenționează încă să-l standardizeze. [2] Limbajul este echivalentul RESTful al limbajului de descriere a serviciilor web (WSDL) al serviciilor web SOAP , care poate fi folosit și pentru a descrie serviciile REST. [3]
Format
Serviciul este descris folosind un set de elemente de resurse („resurse”). Fiecare dintre aceste resurse conține elemente de metodă (în care poate fi specificată metoda HTTP ), care la rândul lor constau dintr-o cerere și unul sau mai multe răspunsuri . Elementul de solicitare specifică modul în care este reprezentată intrarea în metodă, ce tipuri de date sunt necesare și orice antete HTTP necesare. Elementul de răspuns descrie rezultatul serviciului Web, inclusiv răspunsurile de eroare așteptate.
Exemplu
Mai jos este un exemplu de descriere WADL pentru aplicația Yahoo News Search, preluată din transmiterea Sun Microsystems către W3C. [1]
<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/" >
< calea resursei = "newsSearch" >
<method name = "GET" id = "search" >
<request>
<param name = "appid" tip = "xsd: șir"
stil = "interogare" necesar = "adevărat" />
<param name = "interogare" tip = "xsd: șir"
stil = "interogare" necesar = "adevărat" />
< nume param = "tip" stil = "interogare" implicit = "toate" >
<opțiune valoare = "toate" />
<opțiune valoare = "orice" />
<opțiune valoare = "frază" />
</param>
<param nume = "rezultate" stil = "interogare" tip = "xsd: int" implicit = "10" />
<param name = "start" stil = "interogare" tip = "xsd: int" implicit = "1" />
<param name = "sort" style = "query" default = "rank" >
<option value = "rank" />
<option value = "date" />
</param>
<param name = "language" style = " interogare " type = " xsd: șir " />
</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>
</ return urces>
</application>
Instrumente
Java
Există diverse instrumente pentru a genera cod Java dintr-o descriere WADL existentă (sau invers): [4] [5]
- Apache CXF
- API Java pentru servicii web RESTful
Note
- ^ a b c d Marc Hadley, Sun Microsystems , Limba de descriere a aplicației web: W3C Member Submission 31 august 2009 , pe w3.org , World Wide Web Consortium , 31 august 2009. Recuperat la 12 august 2012 .
- ^ a b World Wide Web Consortium , Comentariu de echipă la trimiterea „Web Application Description Language” , pe w3.org , World Wide Web Consortium , 14 octombrie 2009. Recuperat la 12 august 2012 .
- ^ Lawrence Mandel, Describe REST Web services with WSDL 2.0: A how-to guide , ibm.com , IBM , 29 mai 2008. Recuperat la 12 august 2012 .
- ^ proiectul WADL java.net
- ^ Apache CXF
Articole înrudite
- Specificații OpenAPI
- RAML
Link- uri externe
- ( RO ) Pagina principală WADL , pe java.net .
- ( EN ) Specificația actuală a WADL ( PDF ), la java.net .