Web Application Description Language
# Web Application Description Language

Web Application Description Language (WADL) es una descripción XML legible por máquina de aplicaciones web basadas en HTTP (normalmente servicios web REST). WADL modela los recursos proporcionados por un servicio y las relaciones entre ellos. WADL está diseñado para simplificar la reutilización de servicios web basados en la arquitectura HTTP existente de la web. Es independiente de la plataforma y del lenguaje y tiene como objetivo promover la reutilización de aplicaciones más allá del uso básico en un navegador web.

WADL fue presentado al World Wide Web Consortium por Sun Microsystems el 31 de agosto de 2009, pero el consorcio no tiene planes actualmente para estandarizarlo. WADL es el equivalente de REST al Web Services Description Language (WSDL) de SOAP, que también puede ser usado para describir servicios web REST.

## Formato

El servicio es descrito mediante un conjunto de elementos resource (recursos). Cada recurso contiene elementos param para describir las entradas y elementos method que describen la solicitud, request, y respuesta, response, de un recurso. El elemento request especifica cómo representar la entrada, qué tipos son requeridos y las cabeceras HTTP específicas que son requeridas. El elemento response describe la representación de la respuesta del servicio, así como cualquier información de fallos, para hacer frente a errores.

## Ejemplo

El siguiente listado muestra un ejemplo de una descripción WADL para la aplicación Yahoo News Search.

## Generar WADL o generar código a partir de WADL

### Java

Existen diversas herramientas para generar código Java a partir de un WADL existente:

* Apache CXF
* Java API for RESTful Web Services, y su implementación de referencia, Jersey
