WEB SERVICE definitions

I’d like to take a little bit of your time today to discuss a topic that has been gaining a lot of prominence over the last couple of years or so: Web services. Have you heard of terms such as XML, SOAP, and WDDI? Have you wondered how these “new” buzzwords could help you in your continuing quest to improve your software development efforts? Well, I know I have — so much so, that I decided to do some exploration about it to educate myself, and by extension, all of you.

After defining what a Web service is, and discussing a couple of essential terms in some detail, we’ll use IBM® Rational Rose® XDE™ Developer, IBM® WebSphere® Application Developer and IBM® WebSphere® Application Server to step though a couple of examples, using Java™ as our language of choice. (For you .NET users, don’t despair! Check out JJ Kuclish’s article on .NET and Web services here). Hopefully, this will give you enough information to whet your appetite about using Web services, using these essential tools and technologies as your guide.

So, what are Web services, anyway?

There are many recognized definitions of Web services. The W3C classifies Web services as “programmatic interfaces made available to use the World Wide Web for application to application communication.”1 Sun Microsystems® refers to them as “Web-based enterprise applications that use open, XML-based standards and transport protocols to exchange data with calling clients”.2 Probably the best definition of Web services I’ve found, though, is the following:

“Web services are a new breed of Web application. They are self-contained, self-describing, modular applications that can be published, located, and invoked across the Web. Web services perform functions, which can be anything from simple requests to complicated business processes. A sample Web service might provide stock quotes or process credit card transactions. Once a Web service is deployed, other applications (and other Web services) can discover and invoke the deployed service.”3
The key point from the definitions I’ve gleaned from my reading boils down to one essential tenet: Web services make universal communication across the Web a reality. If you need a particular type of functionality, you can create it and publish it on the Web in short order, and also utilize other services that may be important to you. In addition, the underlying architecture(s) are straightforward enough that you can understand them easily, enabling you to start writing your own Web services very quickly. While I will not go into detail about all the aspects of Web services architecture here, I will define a few of the essential technologies you need to know about in the next section.

What technologies comprise a ‘Web service’?

Before you can take a look at how you can create your own Web service, you should familiarize yourself with a few of the required technologies that make up one. I won’t dive too far into any of them — I just want to give you a sense of what’s required as you start thinking of how you can utilize Web services in your development efforts.

XML — XML stands for eXtensible Markup Language. It is a language that is used for documents containing structured information (content as well as information that describes the role of said content).4 XML was created to insure that structured documents could be used over the Web. It is highly flexible, and used in a wide variety of internet applications. (For more information on XML, see the xml.com home page)

SOAP — SOAP is the acronym for Simple Object Access Protocol. It is a lightweight communication protocol for information exchange in a distributed and decentralized environment (making it perfect for Internet communication)5. It is based on XML, and is one of the underlying protocols used for Web Services. (Take a look at Websites such as w3schools.com to get more detail on how to use SOAP.)

UDDI — UDDI expands to become the Universal Description, Discovery, and Integration protocol. Another one of the underlying Web services protocols, it allows you to, as you create your Web services, to build it on an interoperable platform that will enable other programs to find and utilize them on the Internet6. (Background data about UDDI can be found on the Oasis UDDI Web site.)

WSDL — WSDL is short for Web Services Description Language. It is an XML language that provides a model and a format for describing Web services. It allows you to separate the service (abstract functionality) from the service description (concrete details)7. (You can learn more about WSDL by reading this W3C article:
http://www.w3.org/TR/2004/WD-wsdl20-20040803/#intro).

W3C Web services activity site – http://www.w3.org/2002/ws/

Sun Microsystems – http://java.sun.com/Webservices/index.jsp

Norman Walsh, What is XML? October 1998 – http://www.xml.com/pub/a/98/10/guide1.html#AEN58

SOAP protocol specification, 2000 – http://www.w3.org/TR/2000/NOTE-SOAP-20000508/

UDDI protocol specification – http://www.uddi.org/about.html

WSDL language specification – http://www.w3.org/TR/2004/WD-wsdl20-20040803/#intro

One Response to “WEB SERVICE definitions”

  1. english mastiff Says:

    english mastiff

    english mastiff

Leave a Reply

You must be logged in to post a comment.