What Is Web Services?

by

In my previous post, I went over some of the business benefits of selecting applications with Web Services support. But I didn’t go into any technical details about its inner workings. Today, I want to dig in a bit and give a brief overview of how Web Services actually works.

Plug in components without worrying about HOW they work

Simply put, Web Services are components that allow a server or client application to communicate with external programs. But what makes it truly useful, is that all of these components work based on a set of international standards such as XML and HTTP. This greatly simplifies the integration process, and ensures that programs will be compatible with each other regardless of operating system, programming language or database system.

At the core of Web Services is the XML language, along with other technologies such as SOAP, WSDL and UDDI.

Extensible Markup Language (XML)

XML is a well-known specification that was developed by the World Wide Web Consortium (W3C). This tool is meant to describe data using customizable tags that share information about the data, including its hierarchy. The 2 most useful features of XML are that it’s meant to be readable by humans, and that it’s an open standard that’s understood by all compliant applications.

It’s the most practical way to share information between applications, while also simplifying and speeding up the coding process for developers.

Web Services Description Language (WDSL)

With any application supporting Web Services, developers need a way of knowing how to access and use its functionality. This is done using a WDSL file that describes all of the important information needed by the client applications, including:

  • The URL and PORT for accessing the service
  • Data types and definitions
  • Communications protocols
  • A dictionary of system messages

The WDSL is like a written contract between the Web Services server and the software client, ensuring that all parties access the data based on an agreed-upon set of rules.

Simple Object Access Protocol (SOAP)

SOAP uses HTTP to create a simple means for applications to exchange XML data and messages. The advantage of using HTTP is that it’s a standard protocol which is supported by all web servers. This ensures maximum compatibility across all platforms.

Each SOAP message is essentially just an XML file containing an envelope, header, body, and any extra messages such as errors. All of these exchanges are bound by the rules established in the WDSL “contract”, ensuring compatibility between server and client.

Universal Description, Discovery and Integration (UDDI)

UDDI was developed by the Organization for the Advancement of Structured Information Standards (OASIS), and can best be described as a sort of “Yellow Pages” for web services. Companies can register their Web Services onto a UDDI directory, giving developers access to information, definitions and updates about the functionality of their applications. This is optional, but incredibly useful.

In the past, developers would have to hack their way through thousands of lines of poorly-documented source code across many platforms and languages. This was an unnecessarily hard way to code. Why try to figure out how a program was written, when all you need is the data contained within?

Image Source: http://www.flickr.com/photos/synthesizers/508857067/sizes/m/

Related posts:

  1. The Importance of Web Services

Leave a Reply