title: Web Application Description Language
text: # Web Application Description Language
  
  Web Application Description Language (WADL) è un linguaggio formale in formato XML utilizzato per la creazione di "documenti" per la descrizione di Web service basati su HTTP. Lo scopo di WADL è quello di semplificare e incoraggiare il riutilizzo di Web service basati su architetture HTTP già esistenti nel Web.
  
  WADL è stato presentato all'attenzione del World Wide Web Consortium dalla Sun Microsystems il 31 agosto 2009, ma il W3C non ha tuttora in programma la sua standardizzazione. Il linguaggio è l'equivalente RESTful del Web Services Description Language (WSDL) dei Web service SOAP, il quale può essere utilizzato anche per descrivere servizi REST.
  
  ## Formato
  
  Il servizio è descritto utilizzando un insieme di elementi resource ("risorsa"). Ciascuna di queste risorse contiene degli elementi method (in cui è possibile specificare il metodo HTTP), i quali a loro volta sono formati da una request e una o più response. L'elemento request specifica com'è rappresentato l'input del metodo, quali sono i tipi di dato richiesti ed eventuali header HTTP richiesti. L'elemento response descrive l'output del Web service, incluse le risposte di errore previste.
  
  ## Esempio
  
  Segue l'esempio di una descrizione WADL per l'applicazione Yahoo News Search, preso dalla submission della Sun Microsystems al W3C.
  
  ## Strumenti
  
  ### Java
  
  Esistono vari strumenti per generare codice Java da una descrizione WADL esistente (o viceversa):
  
  * Apache CXF
  * Java API for RESTful Web Services
  