blob: 90e7cecfafa792d21d7792b89387f5c44f725622 [file] [log] [blame]
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html lang="en-us" xml:lang="en-us">
<head>
<!-- /*******************************************************************************
* Copyright (c) 2000, 2005 IBM Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
* IBM Corporation - initial API and implementation
*******************************************************************************/ -->
<link rel="stylesheet" type="text/css" href="../../org.eclipse.wtp.doc.user/common.css" />
<title>Web services standards</title>
</head>
<body id="webservicesstandards"><a name="webservicesstandards"><!-- --></a>
<h1 class="topictitle1">Web services standards</h1>
<div><p>One of the key attributes of Internet standards is that they focus
on protocols and not on implementations. The Internet is composed of heterogeneous
technologies that successfully interoperate through shared protocols. This
prevents individual vendors from imposing a standard on the Internet. Open
Source software development plays a crucial role in preserving the interoperability
of vendor implementations of standards.</p>
<p>The following standards play key roles in Web services: Universal Description,
Discovery and Integration (UDDI), Web Services Description Language (WSDL),
Web Services Inspection Language (WSIL), Simple Object Access Protocol (SOAP)
and Web Services Interoperability (WS-I). The relationship between these standards
is described in Figure 2.</p>
<p>The UDDI specification defines open, platform-independent standards that
enable businesses to share information in a global business registry, discover
services on the registry, and define how they interact over the Internet.
For more information on UDDI, refer to <a href="http://www.uddi.org" target="_blank">www.uddi.org</a></p>
<p>WSIL is an XML-based open specification that defines a distributed service
discovery method that supplies references to service descriptions at the service
provider's point-of-offering, by specifying how to inspect a Web site for
available Web services.  A WSIL document defines the locations on a Web
site where you can look for Web service descriptions. Since WSIL focuses
on distributed service discovery, the WSIL specification complements UDDI
by facilitating the discovery of services that are available on Web sites
that may not be listed yet in a UDDI registry. A separate topic in this
documentation discusses the <a href="cwsilud.html">Relationship between
UDDI and WSIL</a>.  For more information on WSIL, refer to <a href="http://www-106.ibm.com/developerworks/webservices/library/ws-wsilspec.html" target="_blank"> www.ibm.com/developerworks/webservices/library/ws-wsilspec.html</a></p>
<p>WSDL is an XML-based open specification that describes the interfaces to
and instances of Web services on the network. It is extensible, so endpoints
can be described regardless of the message formats or network protocols that
are used to communicate. Businesses can make the WSDL documents for their
Web services available though UDDI, WSIL, or by broadcasting the URLs to their
WSDL via email or Web sites. WSDL is described as a separate topic in this
documentation. For more information on WSDL, refer to <a href="http://www.w3.org/TR/wsdl" target="_blank">www.w3.org/TR/wsdl</a></p>
<div class="p">SOAP is an XML-based standard for messaging over HTTP and other Internet
protocols. It is a lightweight protocol for the exchange of information in
a decentralized, distributed environment. It is based on XML and consists
of three parts:<ul><li>An envelope that defines a framework for describing what is in a message
and how to process it.</li>
<li>A set of encoding rules for expressing instances of application-defined
data types.</li>
<li>A convention for representing remote procedure calls and responses.</li>
</ul>
SOAP enables the binding and usage of discovered Web services by defining
a message path for routing messages. SOAP may be used to query UDDI for Web
services. For more information on SOAP, refer to <a href="http://www.w3.org/TR/SOAP" target="_blank">www.w3.org/TR/SOAP</a></div>
<p>Figure 2. Relationships between SOAP, UDDI, WSIL and WSDL.</p>
<p> <img src="../images/soapudws.gif" alt="Figure 2 illustrates the relationships between SOAP, UDDI, WSIL, and WSDL." /> </p>
<p>A service provider hosts a Web service and makes it accessible using protocols
such as SOAP/HTTP or SOAP/JMS. The Web service is described by a WSDL document
that is stored on the provider's server or in a special repository. The WSDL
document may be referenced by the UDDI business registry and WSIL documents.
These contain pointers to the Web service's WSDL files.</p>
<p>The WS-I Simple SOAP Binding Profile and WS-I Attachments Profile are outlines
of requirements to which WSDL and Web service protocol (SOAP/HTTP) traffic
must comply in order to claim WS-I conformance. The Web services WS-I validation
tools currently support WS-I Simple SOAP Binding Profile 1.0 and the Attachment
Profile 1.0. To view the specifications, refer to the WS-I Web site, and under
<span class="uicontrol">Resources</span> select <span class="uicontrol">Documentation</span>: <a href="http://www.ws-i.org" target="_blank">http://www.ws-i.org</a></p>
<div class="p">Several new Web services standards are also supported by Rational<sup>®</sup> Developer
products. These include:<dl><dt class="dlterm">JAX-RPC</dt>
<dd>JAX-RPC stands for Java„¢ API for XML-based RPC, also known as
JSR 101. It is a specification that describes Java Application Programming Interfaces
(APIs) and conventions for building Web services and Web service clients that
use remote procedure calls (RPC) and XML. It standardizes the Java to
WSDL and WSDL to Java mappings, and provides the core APIs for developing
and deploying Web services and Web service clients on the Java platform.
For more information refer to the <a href="http://www.jcp.org/en/jsr/detail?id=101" target="_blank">official specifications</a>.</dd>
<dt class="dlterm">JSR-109 and JSR-921</dt>
<dd>JSR-109 and JSR-921 (Implementing Enterprise Web Services) define the
programming model and run-time architecture to deploy and look up Web services
in the J2EE environment; more specifically, in the Web, EJB, and Client Application
containers. One of its main goals is to ensure vendors' implementations interoperate.
For more information, refer to the official specifications: <ul><li><a href="http://www.jcp.org/en/jsr/detail?id=109" target="_blank">JSR-109</a></li>
<li><a href="http://www.jcp.org/en/jsr/detail?id=921" target="_blank">JSR-921</a></li>
</ul>
</dd>
<dt class="dlterm">WS-S</dt>
<dd>Rational Developer
products support the OASIS Web Services Security 1.0 standard. For more information
on the various components of this standard, refer to:<ul><li><a href="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-soap-message-security-1.0.pdf" target="_blank">Web Services Security: SOAP Message Security
V1.0</a> </li>
<li> <a href="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0.pdf" target="_blank">Web Services Security: Username Token Profile
V1.0</a></li>
<li> <a href="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-x509-token-profile-1.0.pdf" target="_blank">Web Services Security: X.509 Token Profile V1.0</a></li>
</ul>
</dd>
</dl>
</div>
<p>Web services tooling supports the following specifications:</p>
<div class="tablenoborder"><table cellpadding="4" cellspacing="0" summary="" frame="border" border="1" rules="all"><thead align="left"><tr><th valign="top" width="47.73869346733669%" id="d0e125">Technology or specification</th>
<th valign="top" width="52.26130653266332%" id="d0e127">Version or level supported</th>
</tr>
</thead>
<tbody><tr><td colspan="2" valign="top" headers="d0e125 d0e127 "><strong>Transports</strong></td>
</tr>
<tr><td valign="top" width="47.73869346733669%" headers="d0e125 ">HTTP/HTTPS</td>
<td valign="top" width="52.26130653266332%" headers="d0e127 ">v1.0 and v1.1</td>
</tr>
<tr><td valign="top" width="47.73869346733669%" headers="d0e125 ">JMS</td>
<td valign="top" width="52.26130653266332%" headers="d0e127 ">&nbsp;</td>
</tr>
<tr><td colspan="2" valign="top" headers="d0e125 d0e127 "><strong>Messaging</strong></td>
</tr>
<tr><td valign="top" width="47.73869346733669%" headers="d0e125 ">SOAP specification</td>
<td valign="top" width="52.26130653266332%" headers="d0e127 ">v1.1</td>
</tr>
<tr><td valign="top" width="47.73869346733669%" headers="d0e125 ">SOAP Attachements</td>
<td valign="top" width="52.26130653266332%" headers="d0e127 ">&nbsp;</td>
</tr>
<tr><td colspan="2" valign="top" headers="d0e125 d0e127 "><strong>Description</strong></td>
</tr>
<tr><td valign="top" width="47.73869346733669%" headers="d0e125 ">UDDI</td>
<td valign="top" width="52.26130653266332%" headers="d0e127 ">v2.0</td>
</tr>
<tr><td valign="top" width="47.73869346733669%" headers="d0e125 ">WSDL</td>
<td valign="top" width="52.26130653266332%" headers="d0e127 ">v1.1</td>
</tr>
<tr><td valign="top" width="47.73869346733669%" headers="d0e125 ">WSIL</td>
<td valign="top" width="52.26130653266332%" headers="d0e127 ">v1.0</td>
</tr>
<tr><td colspan="2" valign="top" headers="d0e125 d0e127 "><strong>Security</strong></td>
</tr>
<tr><td valign="top" width="47.73869346733669%" headers="d0e125 ">WS-Security</td>
<td valign="top" width="52.26130653266332%" headers="d0e127 ">OASIS Standard 1.0</td>
</tr>
<tr><td colspan="2" valign="top" headers="d0e125 d0e127 "><strong>Ineroperability</strong></td>
</tr>
<tr><td valign="top" width="47.73869346733669%" headers="d0e125 ">WS-I Basic Profile</td>
<td valign="top" width="52.26130653266332%" headers="d0e127 ">1.1.2</td>
</tr>
<tr><td valign="top" width="47.73869346733669%" headers="d0e125 ">WS-I Simple SOAP Binding Profile</td>
<td valign="top" width="52.26130653266332%" headers="d0e127 ">1.0.3</td>
</tr>
<tr><td valign="top" width="47.73869346733669%" headers="d0e125 ">WS-I Attachments Profile</td>
<td valign="top" width="52.26130653266332%" headers="d0e127 ">1.0</td>
</tr>
<tr><td valign="top" width="47.73869346733669%" headers="d0e125 "><strong>Other Standards</strong></td>
<td valign="top" width="52.26130653266332%" headers="d0e127 ">&nbsp;</td>
</tr>
<tr><td valign="top" width="47.73869346733669%" headers="d0e125 ">JAX-RPC</td>
<td valign="top" width="52.26130653266332%" headers="d0e127 ">v1.0 for J2EE 1.3, v1.1 for J2EE 1.4</td>
</tr>
<tr><td valign="top" width="47.73869346733669%" headers="d0e125 ">JSR 109</td>
<td valign="top" width="52.26130653266332%" headers="d0e127 ">J2EE 1.3</td>
</tr>
<tr><td valign="top" width="47.73869346733669%" headers="d0e125 ">JSR 921</td>
<td valign="top" width="52.26130653266332%" headers="d0e127 ">J2EE 1.4</td>
</tr>
</tbody>
</table>
</div>
</div>
<div>
<ul class="ullinks">
<li class="ulchildlink"><strong><a href="../concepts/cwsdl.html">Web Services Description Language (WSDL)</a></strong><br />
Web Services Description Language (WSDL) is a standard specification
for describing networked, XML-based services. It provides a simple way for
service providers to describe the basic format of requests to their systems
regardless of the underlying run-time implementation.</li>
<li class="ulchildlink"><strong><a href="../concepts/csoap.html">Simple Object Access Protocol (SOAP)</a></strong><br />
Simple Object Access Protocol (SOAP) is a lightweight protocol
for the exchange of information in a decentralized, distributed environment.
A SOAP message is a transmission of information from a sender to a receiver.
SOAP messages can be combined to perform request/response patterns. </li>
<li class="ulchildlink"><strong><a href="../../org.eclipse.jst.ws.consumption.ui.doc.user/concepts/cuddi.html">Universal Description, Discovery, and Integration (UDDI)</a></strong><br />
</li>
<li class="ulchildlink"><strong><a href="../concepts/cwsil.html">Web Services Inspection Language (WSIL)</a></strong><br />
Web Services Inspection Language (WSIL) is a service discovery
mechanism that is an alternative to UDDI as well as complementary to UDDI.
When you discover Web services with UDDI, you go to a centralized registry. 
WSIL is an alternative approach to Web service discovery.  WSIL allows
you to go directly to the service provider and ask for the services it provides.</li>
<li class="ulchildlink"><strong><a href="../concepts/cjaxrpc.html">JAX-RPC</a></strong><br />
JAX-RPC stands for Java API for XML-based RPC, also known as
JSR 101. It is a specification that describes Java Application Programming Interfaces
(APIs) and conventions for building Web services and Web service clients that
use remote procedure calls (RPC) and XML. It standardizes the Java to
WSDL and WSDL to Java mappings, and provides the core APIs for developing
Web services and Web service clients on the Java platform. Often used in a distributed
client/server model, an RPC mechanism enables clients to execute procedures
on other systems.</li>
<li class="ulchildlink"><strong><a href="../concepts/cjsr109.html">JSR 109 and JSR 921- Implementing Enterprise Web services</a></strong><br />
JSR 109 and JSR 921 (Implementing Enterprise Web Services) define
the programming model and run-time architecture to deploy and look up Web
services in the J2EE environment; more specifically, in the Web, EJB, and
Client Application containers. One of its main goals is to ensure vendors'
implementations interoperate.</li>
</ul>
<div class="familylinks">
<div class="parentlink"><strong>Parent topic:</strong> <a href="../concepts/cws.html" title="A Web service is a set of related application functions that can be programmatically invoked over the Internet. Businesses can dynamically mix and match Web services to perform complex transactions with minimal programming. Web services allow buyers and sellers all over the world to discover each other, connect dynamically, and execute transactions in real time with minimal human interaction.">Web services overview</a></div>
</div>
<div class="linklist"><strong>Related Concepts</strong><br />
<div><a href="cws.html" title="A Web service is a set of related application functions that can be programmatically invoked over the Internet. Businesses can dynamically mix and match Web services to perform complex transactions with minimal programming. Web services allow buyers and sellers all over the world to discover each other, connect dynamically, and execute transactions in real time with minimal human interaction.">Web services overview</a></div>
<div><a href="cwsinwsa.html">Tools for Web services
development</a></div>
<div><a href="cwsiover.html" title="WS-I is an organization designed to promote Web service interoperability across platforms, operating systems, and programming languages.">Web services interoperability
(WS-I)</a></div></div>
<div class="linklist"><strong>Related Tasks</strong><br />
</div>
</div></body>
</html>