Introduction
While building applications, developers often leverage web services ― reusable components accessible via different devices on the network. These services need a language to describe their functionalities so consumers can understand how to interact with them. This is where Web Application Description Language (WADL) and Web Service Description Language (WSDL) come in.
A Brief History and Evolution
- WSDL: WSDL is an XML-based interface definition language utilized for describing network services operating over a single, defined end-point. It was developed by Microsoft and IBM in 1999 and found wide adoption in SOAP-based (Simple Object Access Protocol) services.
- WSDL has gone through two major versions: WSDL 1.1 (2001) and WSDL 2.0 (2007). The latter addressed several issues in the former, like message ambiguity and improved usability.
- WADL: WADL is a machine-readable XML description of HTTP-based web services, similar to WSDL. Developed by Sun Microsystems in 2005 and published in 2009, WADL was designed as a simpler alternative to WSDL for RESTful (Representational State Transfer) services.
The Need for WSDL and WADL
- WSDL: Businesses started adopting WSDL to enable communication between applications over the network using SOAP-based services. WSDL provides an application-independent way to interact with web services, making different systems understand each other.
- WADL: As REST-based web services gained momentum, a need for a similarly descriptive language for REST was felt. WADL arose out of this need, making it simpler for developers to discover and use REST web services.
WADL vs. WSDL: A Comparison
- Usage: WADL is primarily used for RESTful services, while WSDL is used for SOAP-based ones.
- Specificity: WADL is less specific and doesn’t dictate any communication protocols beyond HTTP, making WADL a relatively simpler, reusable, and human-readable language. In contrast, WSDL specifies the SOAP communication protocol, and due to the complexities inherent in SOAP, WSDL is viewed as more complex.
- Adoption: Today, WSDL is more widely used than WADL, given the broad adoption of SOAP-based services in enterprise environments. Despite being a useful tool in the world of REST-based services, WADL's adoption has been relatively low since REST web services tend to be simple enough to document without needing descriptive language.
- Language support: WSDL has extensive support for bindings to various programming languages, and tools are available in many languages for parsing WSDL and generating endpoints. WADL is typically used with XML languages, and though it has less language support than WSDL, it appears to be growing over time.
Conclusion
While WSDL and WADL are both interface description languages with similar uses, they serve two largely different types of web services. While WSDL’s broad adoption is a testament to the prevalence of SOAP, WADL's simplicity makes it an attractive alternative for REST-based services. As we see the current trends towards simpler and more lightweight web service architectures, REST, and by extension tools like WADL, may gain more traction in the future. However, both promise to ease the implementation of web services for developers and are valuable tools in their respective spaces. Understanding when to practically apply each is key in an increasingly interconnected world of systems.