WSDL: Describing a Service
In the B2C world, e-commerce vendors used online ad banners, television, newspapers and other means to articulate their presence. The goal was to get the individual consumers to visit the site at least once. During that one visit, the user was presented with information about the site, the products and service offerings. Most of that information was in standard written text. Sites that were able to present a clear mission of what they do and back that up with robust performance and ease of use, were likely to succeed in attracting that customer for repeat business. In the B2B world, the same problem still exists. When a web service is offered, somehow it has to lets others know about its existence. The main difference is that the others are not made up of individual consumers, but of various systems owned by partners, suppliers and other vendors.
Standards like SOAP do a good job addressing the messaging needs of two entities. When you open a new physical office, you need to furnish it. It is well understood that you load up a truck with the furniture, drive on the road until you get to the location designated as the office's address and unload the furniture there. This is what SOAP does in the Web services world. What we sometimes take for granted is the process by which we find the furniture store. WSDL (Web Services Description Language) and UDDI are the technologies that describe what a particular service does and how to locate it. Going back to the office scenario, somehow you have to know that there is a furniture store in a certain location, what types of furniture they sell, how they receive payment, how they deliver, etc. While this information can be captured and put on a web page for easy access, in a true B2B situation, we record and present these details in a standard manner. The needed information include items like communication protocol, location/address of service, formatting of data (both sent and received to/from the service), and miscellaneous aspects of the service such as error handling.