Jazyk popisu webové aplikace
Web Application Description Language ( WADL ) je formální jazyk ve formátu XML používaný k vytváření „dokumentů“ pro popis webových služeb založených na HTTP . [1] Účelem WADL je zjednodušit a podpořit opětovné použití webových služeb založených na architekturách HTTP, které již na webu existují [1] [2]
Na WADL upozornila World Wide Web Consortium společností Sun Microsystems 31. srpna 2009 [1] , ale W3C zatím neplánuje jeho standardizaci. [2] Jazyk je RESTful ekvivalentem jazyka WSDL ( Web Services Description Language ) webových služeb SOAP , který lze také použít k popisu služeb REST. [3]
Formát
Služba je popsána pomocí sady elementů prostředků ("zdroj"). Každý z těchto zdrojů obsahuje prvky metody (ve kterých lze zadat metodu HTTP ), které se zase skládají z požadavku a jedné nebo více odpovědí . Element request určuje, jak je reprezentován vstup do metody, jaké datové typy jsou vyžadovány a jaké jsou vyžadovány HTTP hlavičky. Element response popisuje výstup webové služby, včetně očekávaných chybových odpovědí.
Příklad
Níže je uveden příklad popisu WADL pro aplikaci Yahoo News Search, převzatý z předložení Sun Microsystems 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/" >
<resource path = "newsSearch" >
<metoda 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 = " dotaz " 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>
</ return urces>
</aplikace>
Nástroje
Java
Existují různé nástroje pro generování kódu Java z existujícího popisu WADL (nebo naopak): [4] [5]
- Apache CXF
- Java API pro webové služby RESTful
Poznámky
- ^ a b c d Marc Hadley, Sun Microsystems , webová aplikace Popis Jazyk: Příspěvek člena W3C 31. srpna 2009 , na w3.org , World Wide Web Consortium , 31. srpna 2009. Staženo 12. srpna 2012 .
- ^ a b World Wide Web Consortium , Komentář týmu k příspěvku "Web Application Description Language" , na w3.org , World Wide Web Consortium , 14. října 2009. Staženo 12. srpna 2012 .
- ^ Lawrence Mandel, Popište webové služby REST pomocí WSDL 2.0: Jak na to , ibm.com , IBM , 29. května 2008. Staženo 12. srpna 2012 .
- ^ projekt java.net WADL
- ^ Apache CXF
Související položky
- Specifikace OpenAPI
- RAML
Externí odkazy
- ( EN ) Domovská stránka WADL na java.net .
- ( EN ) Aktuální specifikace WADL ( PDF ) na java.net .