Web Application Description Language
Encyclopedia
The Web Application Description Language (WADL) is an XML
-based file format that provides a machine-readable description of HTTP
-based web
applications. These applications are typically REST
web service
s. WADL is a W3C Member Submission., but "W3C has no plans to take up work based on this Submission" .
The purpose of WADL is to allow services on the internet (or any other IP
network) to be described in a machine processable way, to make it easier to create Web 2.0
style applications and create a dynamic way of creating and configuring services. Prior to this, it was necessary to go to an existing web service, study it and write the application manually. WADL can be thought of as the REST equivalent of Web Services Description Language
version 1.1. Version 2.0 of WSDL can be used to describe REST Web services, thus competing with WADL.
WADL is intended for applications that are based on the existing architecture of the Web. Like WSDL, it is platform and language independent and aims to promote re-use of applications beyond the basic use in a web browser. WADL models the resources provided by a service, and the relationships between them.
The service is described using a set of resource elements. Each of these contains param elements to describe the inputs, and method elements which describe the request and response of a resource. The request element specifies how to represent the input, what types are required and any specific HTTP headers that are required. The response describes the representation of the service's response, as well as any fault information, to deal with errors.
WADL is not yet widely supported. It has the advantage over the more complicated WSDL in that it does not impose any further level of abstraction on the service description; however, as tools become available for application development with WADL, it is likely they will include ways of automatically generating WADL, and this risks imposing an RPC style on it, going against the intended simplicity of WADL.
XML
Extensible Markup Language is a set of rules for encoding documents in machine-readable form. It is defined in the XML 1.0 Specification produced by the W3C, and several other related specifications, all gratis open standards....
-based file format that provides a machine-readable description of HTTP
Hypertext Transfer Protocol
The Hypertext Transfer Protocol is a networking protocol for distributed, collaborative, hypermedia information systems. HTTP is the foundation of data communication for the World Wide Web....
-based web
World Wide Web
The World Wide Web is a system of interlinked hypertext documents accessed via the Internet...
applications. These applications are typically REST
Representational State Transfer
Representational state transfer is a style of software architecture for distributed hypermedia systems such as the World Wide Web. The term representational state transfer was introduced and defined in 2000 by Roy Fielding in his doctoral dissertation...
web service
Web service
A Web service is a method of communication between two electronic devices over the web.The W3C defines a "Web service" as "a software system designed to support interoperable machine-to-machine interaction over a network". It has an interface described in a machine-processable format...
s. WADL is a W3C Member Submission., but "W3C has no plans to take up work based on this Submission" .
The purpose of WADL is to allow services on the internet (or any other IP
Internet Protocol
The Internet Protocol is the principal communications protocol used for relaying datagrams across an internetwork using the Internet Protocol Suite...
network) to be described in a machine processable way, to make it easier to create Web 2.0
Web 2.0
The term Web 2.0 is associated with web applications that facilitate participatory information sharing, interoperability, user-centered design, and collaboration on the World Wide Web...
style applications and create a dynamic way of creating and configuring services. Prior to this, it was necessary to go to an existing web service, study it and write the application manually. WADL can be thought of as the REST equivalent of Web Services Description Language
Web Services Description Language
The Web Services Description Language is an XML-based language that is used for describing the functionality offered by a Web service. A WSDL description of a web service provides a machine-readable description of how the service can be called, what parameters it expects and what data structures...
version 1.1. Version 2.0 of WSDL can be used to describe REST Web services, thus competing with WADL.
WADL is intended for applications that are based on the existing architecture of the Web. Like WSDL, it is platform and language independent and aims to promote re-use of applications beyond the basic use in a web browser. WADL models the resources provided by a service, and the relationships between them.
The service is described using a set of resource elements. Each of these contains param elements to describe the inputs, and method elements which describe the request and response of a resource. The request element specifies how to represent the input, what types are required and any specific HTTP headers that are required. The response describes the representation of the service's response, as well as any fault information, to deal with errors.
WADL is not yet widely supported. It has the advantage over the more complicated WSDL in that it does not impose any further level of abstraction on the service description; however, as tools become available for application development with WADL, it is likely they will include ways of automatically generating WADL, and this risks imposing an RPC style on it, going against the intended simplicity of WADL.
External links
- WADL home page java.net
- Current specification for WADL
- Do we need WADL? blog post by Joe Gregorio