0% found this document useful (0 votes)
130 views

What Is The Web Service Protocol Stack?: Yodlee Confidential

The document discusses the core components of the Web service protocol stack, which consists of four layers: Service Transport (e.g. HTTP), XML Messaging (e.g. SOAP, XML-RPC), Service Description (WSDL), and Service Discovery (UDDI). It provides descriptions of each component's role and some examples. The document also discusses how XML underlies Web services and enables different applications and platforms to communicate.

Uploaded by

GRBPrasad
Copyright
© Attribution Non-Commercial (BY-NC)
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
130 views

What Is The Web Service Protocol Stack?: Yodlee Confidential

The document discusses the core components of the Web service protocol stack, which consists of four layers: Service Transport (e.g. HTTP), XML Messaging (e.g. SOAP, XML-RPC), Service Description (WSDL), and Service Discovery (UDDI). It provides descriptions of each component's role and some examples. The document also discusses how XML underlies Web services and enables different applications and platforms to communicate.

Uploaded by

GRBPrasad
Copyright
© Attribution Non-Commercial (BY-NC)
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 4

What is the Web service protocol stack?

The Web service protocol stack is an evolving set of protocols used to define, discover,
and implement Web services. The core protocol stack consists of four layers:
Service Transport: This layer is responsible for transporting messages between
applications. Currently, this includes HTTP, SMTP, FTP, and newer protocols, such as
Blocks Extensible Exchange Protocol (BEEP).
XML Messaging: This layer is responsible for encoding messages in a common XML
format so that messages can be understood at either end. Currently, this includes XML-
RPC and SOAP.
Service Description: This layer is responsible for describing the public interface to a
specific Web service. Currently, service description is handled via the WSDL.
Service Discovery: This layer is responsible for centralizing services into a common
registry, and providing easy publish/find functionality. Currently, service discovery is
handled via the UDDI.
Beyond the essentials of XML-RPC, SOAP, WSDL, and UDDI, the Web service
protocol stack includes a whole zoo of newer, evolving protocols. These include WSFL
(Web Services Flow Language), SOAP-DSIG (SOAP Security Extensions: Digital
Signature), and USML (UDDI Search Markup Language). For an overview of these
protocols, check out Pavel Kulchenko's article, Web Services Acronyms, Demystified, on
XML.com.
Fortunately, you do not need to understand the full protocol stack to get started with Web
services. Assuming you already know the basics of HTTP, it is best to start at the XML
Messaging layer and work your way up.

What is UDDI?
UDDI (Universal Description, Discovery, and Integration) currently represents the
discovery layer within the Web services protocol stack.
UDDI was originally created by Microsoft, IBM, and Ariba, and represents a technical
specification for publishing and finding businesses and Web services.
At its core, UDDI consists of two parts.
First, UDDI is a technical specification for building a distributed directory of businesses
and Web services. Data is stored within a specific XML format, and the UDDI
specification includes API details for searching existing data and publishing new data.

Second, the UDDI Business Registry is a fully operational implementation of the UDDI
specification. Launched in May 2001 by Microsoft and IBM, the UDDI registry now
enables anyone to search existing UDDI data. It also enables any company to register
themselves and their services.
The data captured within UDDI is divided into three main categories:
White Pages: This includes general information about a specific company. For example,
business name, business description, and address.

What is a Web service?


Many people and companies have debated the exact definition of Web services. At a
minimum, however, a Web service is any piece of software that makes itself available
over the Internet and uses a standardized XML messaging system.

Yodlee Confidential
XML is used to encode all communications to a Web service. For example, a client
invokes a Web service by sending an XML message, then waits for a corresponding
XML response. Because all communication is in XML, Web services are not tied to any
one operating system or programming language--Java can talk with Perl; Windows
applications can talk with Unix applications.
Beyond this basic definition, a Web service may also have two additional (and desirable)
properties:
First, a Web service can have a public interface, defined in a common XML grammar.
The interface describes all the methods available to clients and specifies the signature for
each method. Currently, interface definition is accomplished via the Web Service
Description Language (WSDL). (See FAQ number 7.)
Second, if you create a Web service, there should be some relatively simple mechanism
for you to publish this fact. Likewise, there should be some simple mechanism for
interested parties to locate the service and locate its public interface. The most prominent
directory of Web services is currently available via UDDI, or Universal Description,
Discovery, and Integration. (See FAQ number 8.)
Web services currently run a wide gamut from news syndication and stock-market data to
weather reports and package-tracking systems. For a quick look at the range of Web
services currently available, check out the XMethods directory of Web services.

I keep reading about Web services, but i have never actually seen one. Can you
show me a real Web service in action?
If you want a more intuitive feel for Web services, try out the IBM Web Services
Browser, available on the IBM Alphaworks site. The browser provides a series of Web
services demonstrations. Behind the scenes, it ties together SOAP, WSDL, and UDDI to
provide a simple plug-and-play interface for finding and invoking Web services. For
example, you can find a stock-quote service, a traffic-report service, and a weather
service. Each service is independent, and you can stack services like building blocks. You
can, therefore, create a single page that displays multiple services--where the end result
looks like a stripped-down version of my.yahoo or my.excite.

What is XML-RPC?
XML-RPC is a protocol that uses XML messages to perform Remote Procedure Calls.
Requests are encoded in XML and sent via HTTP POST; XML responses are embedded
in the body of the HTTP response.
More succinctly, XML-RPC = HTTP + XML + Remote Procedure Calls.
Because XML-RPC is platform independent, diverse applications can communicate with
one another. For example, a Java client can speak XML-RPC to a Perl server.
To get a quick sense of XML-RPC, here is a sample XML-RPC request to a weather
service (with the HTTP Headers omitted):
<?xml version="1.0" encoding="ISO-8859-1"?>
<methodCall>
<methodName>weather.getWeather</methodName>
<params>

Yodlee Confidential
<param><value>10016</value></param>
</params>
</methodCall>
The request consists of a simple element, which specifies the method name (getWeather)
and any method parameters (zip code).

What is WSDL?
The Web Services Description Language (WSDL) currently represents the service
description layer within the Web service protocol stack.
In a nutshell, WSDL is an XML grammar for specifying a public interface for a Web
service. This public interface can include the following:
Information on all publicly available functions.
Data type information for all XML messages.
Binding information about the specific transport protocol to be used.
Address information for locating the specified service.
WSDL is used to describe how to access a webservice and what operation it can
perform.WSDL helps the client to determine what functions are available in the
webservices.

Can you use User-Defined Types in Web Services?


It is possible to process user-defined types (also known as custom types) in a Web
service. These types can be passed to or returned from Web methods. Web service clients
also can use these user-defined types, because the proxy class created for the client
contains these type definitions.
Custom types that are sent to or from a Web service are serialized, enabling them to be
passed in XML format. This process is referred to as XML serialization.

Does the W3C support any Web service standards?


The World Wide Web Consortium (W3C) is actively pursuing standardization of Web
service protocols. In September 2000, the W3C established an XML Protocol Activity.
The goal of the group is to establish a formal standard for SOAP. A draft version of
SOAP 1.2 is currently under review, and progressing through the official W3C
recommendation process.
On January 25, 2002, the W3C also announced the formation of a Web Service Activity.
This new activity will include the current SOAP work as well as two new groups. The
first new group is the Web Services Description Working Group, which will take up
work on WSDL. The second new group is the Web Services Architecture Working
Group, which will attempt to create a cohesive framework for Web service protocols.

What is SOAP?
SOAP is an XML-based protocol for exchanging information between computers.
Although SOAP can be used in a variety of messaging systems and can be delivered via a
variety of transport protocols, the main focus of SOAP is Remote Procedure Calls (RPC)
transported via HTTP. Like XML-RPC, SOAP is platform independent, and therefore
enables diverse applications to communicate with one another.

Yodlee Confidential
To get a quick sense of SOAP, here is a sample SOAP request to a weather service (with
the HTTP Headers omitted):
<?xml version='1.0' encoding='UTF-8'?>
<SOAP-ENV:Envelope
xmlns:SOAP-ENV="http://www.w3.org/2001/09/soap-envelope"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<SOAP-ENV:Body>
<ns1:getWeather
xmlns:ns1="urn:examples:weatherservice"
SOAP-ENV:encodingStyle=" http://www.w3.org/2001/09/soap-encoding
<zipcode xsi:type="xsd:string">10016</zipcode>
</ns1:getWeather>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>

What is new about Web services?


People have been using Remote Procedure Calls (RPC) for some time now, and they long
ago discovered how to send such calls over HTTP.
So, what is really new about Web services? The answer is XML.
XML lies at the core of Web services, and provides a common language for describing
Remote Procedure Calls, Web services, and Web service directories.
Prior to XML, one could share data among different applications, but XML makes this so
much easier to do. In the same vein, one can share services and code without Web
services, but XML makes it easier to do these as well.
By standardizing on XML, different applications can more easily talk to one another, and
this makes software a whole lot more interesting.

Yodlee Confidential

You might also like