GarfieldGroup

Internet Technology Series: Navigating the Alphabet Soup of Web Services

by Matt Wiseley, Technical Team Lead

09/20/2006

If you have heard terms like “SOA”, “WSDL”, “XML”, and “Web Services” getting tossed around by the IT folks and wonder what it all means (and why you should care), read on.

It's All SOA

We've got four daunting terms to cover in one little article. Let's start at the top and eliminate SOA, which is just a name for the combination of the other three. SOA stands for “Service Oriented Architecture”, a term coined by some Gartner analysts to label the trend started by the rest of these technologies. SOA describes software systems (in our case, websites) inter-operating across technical and geographical boundaries by doing what they do best and sharing that capability in a standard way with other applications.

Imagine your company has an HR system that manages information about every employee. This application is great at keeping track of hiring, firing, salaries, and promotions. Now you need a web-based training application for your new employees. It would be nice if the training system automatically knew when a new employee started and sent them an email with instructions and training requirements. It would also be nice if the HR system automatically knew when training was complete for compliance purposes. SOA is the idea that these two applications (and perhaps dozens of other applications in and around your organization) share information and capabilities in a standard, almost effortless way.

It's important to note that SOA just describes an idea that can be implemented using any number of different technologies. This article focuses on WSDL, XML, and Web Services because these are the most common choices for implementing SOA in web applications.

WSDL is XML

Most people know by now that XML is a technology that presents almost any kind of data in a standard, simple, human-readable text format. XML is the foundation for hundreds of commonly used data format standards. The OpenDocument format, for example, which provides a standard data format for office productivity applications, is based on XML. In short, XML provides an extremely flexible way for applications to agree upon data formats.

That said, what does it mean to “agree”? XML itself defines only a few very basic rules. For applications to agree upon a data format, they need to establish some domain-specific rules.

WSDL is a set of such rules. WSDL stands for “Web Services Description Language”, and provides an XML-based data format that describes the features and usage patterns of the web services provided by a given application. Continuing the HR and Training example above, the HR application might provide a WSDL document that lists “GetEmployeeInfo” and “UpdateEmployeeTrainingStatus” web services, among others. WSDL describes which web services exists, what input data each requires, and what output data each provides.

Web Services

This is where the rubber hits the road. “Web Services” are web applications that are meant to be used not by a person with a web browser, but by other applications. A Web Service typically serves a specific and relatively simple task, but there may be several different Web Services in an application that make up a set of useful operations. Hence the need for a WSDL document to describe them all.

Web Services typically accept one or more input parameters and output a response in a predefined XML format. For example, the HR application's “GetEmployeeInfo” Web Service might require an employee ID as input. The training application might invoke this web service using a URL such as:
http://yourcompany.com/hr/GetEmployeeInfo?id=491

In order to obtain an XML response containing details about employee number 491. Web Services typically respond to requests with some XML data. Often, this data is in a specific format, such as SOAP or XML Schema, but any kind of XML can work. Here's an example of what a simple XML response from the “GetEmployeeData” web service might look like:

 

Why You Should Care

All of this information may have left your head spinning, so allow this summary to set you straight. XML and Web Services have been around long enough that many of the applications and systems established within your organization (and partner organizations) may already provide Web Services. When considering a web-based solution to your next business problem, remember to consider using the services that may already be provided within your organization.

Even though all of this may seem complicated, you can actually save money by not having to reinvent the wheel. In fact, none of this is nearly as complicated or expensive as some big consulting firms would have you believe. Call Embarc today to find out how you can leverage these technologies to solve your next business problem.


News Sign-up