blob: bf37a0bdc5ef0f7f8dccbf266771e4d68dc87633 [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>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type" />
<meta name="copyright" content="Copyright (c) 2000, 2008 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" />
<meta name="DC.rights.owner" content="(C) Copyright 2000, 2008" />
<meta content="public" name="security" />
<meta content="index,follow" name="Robots" />
<meta http-equiv="PICS-Label" content='(PICS-1.1 "http://www.icra.org/ratingsv02.html" l gen true r (cz 1 lz 1 nz 1 oz 1 vz 1) "http://www.rsac.org/ratingsv01.html" l gen true r (n 0 s 0 v 0 l 0) "http://www.classify.org/safesurf/" l gen true r (SS~~000 1))' />
<meta content="concept" name="DC.Type" />
<meta name="DC.Title" content="Web services standards" />
<meta name="abstract" content="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." />
<meta name="description" content="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." />
<meta content="Web services, standards" name="DC.subject" />
<meta content="Web services, standards" name="keywords" />
<meta scheme="URI" name="DC.Relation" content="../concepts/cws.html" />
<meta scheme="URI" name="DC.Relation" content="../concepts/cwsdl.html" />
<meta scheme="URI" name="DC.Relation" content="../concepts/csoap.html" />
<meta scheme="URI" name="DC.Relation" content="../../org.eclipse.jst.ws.consumption.ui.doc.user/concepts/cuddi.html" />
<meta scheme="URI" name="DC.Relation" content="../concepts/cwsil.html" />
<meta scheme="URI" name="DC.Relation" content="../concepts/cjaxrpc.html" />
<meta scheme="URI" name="DC.Relation" content="../concepts/cjsr109.html" />
<meta scheme="URI" name="DC.Relation" content="../concepts/cwsiover.html" />
<meta scheme="URI" name="DC.Relation" content="cws.html" />
<meta scheme="URI" name="DC.Relation" content="cwsinwsa.html" />
<meta scheme="URI" name="DC.Relation" content="cwsiover.html" />
<meta scheme="URI" name="DC.Relation" content="../tasks/toverws.html" />
<meta content="XHTML" name="DC.Format" />
<meta content="webservicesstandards" name="DC.Identifier" />
<meta content="en-us" name="DC.Language" />
<link href="../../org.eclipse.wst.doc.user/common.css" type="text/css" rel="stylesheet" />
<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), 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 1.1 (SOAP 1.2 is not supported by the
Web services tools), 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 this development
environment. 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</dt>
<dd>JSR-109 (Implementing Enterprise Web Services) defines the programming
model and run-time architecture to deploy and look up Web services in the
Java EE 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>These tools 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 summary="" cellspacing="0" cellpadding="4" frame="border" border="1" rules="all">
<thead align="left">
<tr>
<th valign="top" width="47.73869346733669%" id="N101B4">Technology or specification</th>
<th valign="top" width="52.26130653266332%" id="N101BC">Version or level supported</th>
</tr>
</thead>
<tbody>
<tr>
<td colspan="2" valign="top" headers="N101B4 N101BC "><strong>Transports</strong></td>
</tr>
<tr>
<td valign="top" width="47.73869346733669%" headers="N101B4 ">HTTP/HTTPS</td>
<td valign="top" width="52.26130653266332%" headers="N101BC ">v1.0 and v1.1</td>
</tr>
<tr>
<td valign="top" width="47.73869346733669%" headers="N101B4 ">JMS</td>
<td valign="top" width="52.26130653266332%" headers="N101BC ">&nbsp;</td>
</tr>
<tr>
<td colspan="2" valign="top" headers="N101B4 N101BC "><strong>Messaging</strong></td>
</tr>
<tr>
<td valign="top" width="47.73869346733669%" headers="N101B4 ">SOAP specification</td>
<td valign="top" width="52.26130653266332%" headers="N101BC ">v1.1</td>
</tr>
<tr>
<td valign="top" width="47.73869346733669%" headers="N101B4 ">SOAP Attachements</td>
<td valign="top" width="52.26130653266332%" headers="N101BC ">&nbsp;</td>
</tr>
<tr>
<td colspan="2" valign="top" headers="N101B4 N101BC "><strong>Description</strong></td>
</tr>
<tr>
<td valign="top" width="47.73869346733669%" headers="N101B4 ">UDDI</td>
<td valign="top" width="52.26130653266332%" headers="N101BC ">v2.0</td>
</tr>
<tr>
<td valign="top" width="47.73869346733669%" headers="N101B4 ">WSDL</td>
<td valign="top" width="52.26130653266332%" headers="N101BC ">v1.1</td>
</tr>
<tr>
<td valign="top" width="47.73869346733669%" headers="N101B4 ">WSIL</td>
<td valign="top" width="52.26130653266332%" headers="N101BC ">v1.0</td>
</tr>
<tr>
<td colspan="2" valign="top" headers="N101B4 N101BC "><strong>Security</strong></td>
</tr>
<tr>
<td valign="top" width="47.73869346733669%" headers="N101B4 ">WS-Security</td>
<td valign="top" width="52.26130653266332%" headers="N101BC ">OASIS Standard 1.0</td>
</tr>
<tr>
<td colspan="2" valign="top" headers="N101B4 N101BC "><strong>Ineroperability</strong></td>
</tr>
<tr>
<td valign="top" width="47.73869346733669%" headers="N101B4 ">WS-I Basic Profile</td>
<td valign="top" width="52.26130653266332%" headers="N101BC ">1.1.2</td>
</tr>
<tr>
<td valign="top" width="47.73869346733669%" headers="N101B4 ">WS-I Simple SOAP Binding Profile</td>
<td valign="top" width="52.26130653266332%" headers="N101BC ">1.0.3</td>
</tr>
<tr>
<td valign="top" width="47.73869346733669%" headers="N101B4 ">WS-I Attachments Profile</td>
<td valign="top" width="52.26130653266332%" headers="N101BC ">1.0</td>
</tr>
<tr>
<td valign="top" width="47.73869346733669%" headers="N101B4 "><strong>Other Standards</strong></td>
<td valign="top" width="52.26130653266332%" headers="N101BC ">&nbsp;</td>
</tr>
<tr>
<td valign="top" width="47.73869346733669%" headers="N101B4 ">JAX-RPC</td>
<td valign="top" width="52.26130653266332%" headers="N101BC ">v1.0 for J2EE 1.3, v1.1 for J2EE 1.4 and Java EE 1.5</td>
</tr>
<tr>
<td valign="top" width="47.73869346733669%" headers="N101B4 ">JSR 109</td>
<td valign="top" width="52.26130653266332%" headers="N101BC ">&nbsp;</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">SOAP</a></strong><br />
SOAP (formerly known as Simple Object Access Protocol) 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 - Implementing Enterprise Web services</a></strong><br />
JSR 109 (Implementing Enterprise Web Services) defines the programming model and run-time architecture to deploy and look up Web services in the Java EE environment; more specifically, in the Web, EJB, and Client Application containers. One of its main goals is to ensure vendors' implementations interoperate.</li>
<li class="ulchildlink"><strong><a href="../concepts/cwsiover.html">Web services interoperability (WS-I)</a></strong><br />
WS-I is an organization designed to promote Web service interoperability across platforms, operating systems, and programming languages.</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" title="">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><a href="../tasks/toverws.html" title="Use Web services tools to discover, create, and publish Web services that are created from Java beans, enterprise beans, and WSDL files. You can create of Web services using a top-down approach (which starts with a WSDL file) or a bottom-up approach (which starts with a Java bean or EJB)."> Developing Web
services</a></div></div>
</div>
</body>
</html>