| <?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 http-equiv="Content-Type" content="text/html; charset=utf-8" /> |
| <!-- /******************************************************************************* |
| * 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.wst.doc.user/common.css" /> |
| <title>Web services overview</title> |
| </head> |
| <body id="cws"><a name="cws"><!-- --></a> |
| |
| <h1 class="topictitle1">Web services overview</h1> |
| <div><p>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.</p> |
| <p>Web services are self-contained, self-describing modular applications that |
| can be published, located, and invoked across the Web.</p> |
| <blockquote> <p> <span class="uicontrol">Web services are self-contained.</span> On |
| the client side, no additional software is required. A programming language |
| with XML and HTTP client support is enough to get you started. On the |
| server side, a Web server and servlet engine are required. The client |
| and server can be implemented in different environments. It is possible |
| to Web service enable an existing application without writing a single line |
| of code.</p> |
| <p> <span class="uicontrol">Web services are self-describing.</span> |
| The client and server need to recognize only the format and content of request |
| and response messages. The definition of the message format travels |
| with the message; no external metadata repositories or code generation tools |
| are required.</p> |
| <p> <span class="uicontrol">Web services are modular.</span> |
| Simple Web services can be aggregated to form more complex Web services either |
| by using workflow techniques or by calling lower layer Web services from a |
| Web service implementation.</p> |
| <p><span class="uicontrol">Web Services are platform independent.</span> Web |
| services are based on a concise set of open, XML-based standards designed |
| to promote interoperability between a Web service and clients across a variety |
| of computing platforms and programming languages.</p> |
| </blockquote> |
| <p>Web services might be anything, for example, theatre review articles, weather |
| reports, credit checks, stock quotations, travel advisories, or airline travel |
| reservation processes. Each of these self-contained business services is an |
| application that can easily integrate with other services, from the same or |
| different companies, to create a complete business process. This interoperability |
| allows businesses to dynamically publish, discover, and bind a range of Web |
| services through the Internet.</p> |
| <div class="section"><h4 class="sectiontitle">Categories of Web services</h4><p>Web services can be grouped |
| into three categories:</p> |
| <blockquote> <p> <span class="uicontrol">Business information.</span> A |
| business shares information with consumers or other businesses. In this case, |
| the business is using Web services to expand its scope. Examples of business |
| informational Web services are news streams, weather reports, or stock quotations.</p> |
| <p> <span class="uicontrol">Business |
| integration.</span> A business provides transactional, "for fee" services |
| to its customers. In this case, the business becomes part of a global network |
| of value-added suppliers that can be used to conduct commerce. Examples of |
| business integration Web services include bid and auction e-marketplaces, |
| reservation systems, and credit checking.</p> |
| <p> <span class="uicontrol">Business process |
| externalization.</span> A business differentiates itself from its competition |
| through the creation of a global value chain. In this case, the business uses |
| Web services to dynamically integrate its processes. An example of business |
| process externalization Web services is the associations between different |
| companies to combine manufacturing, assembly, wholesale distribution, and |
| retail sales of a particular product.</p> |
| </blockquote> |
| </div> |
| <div class="section"><h4 class="sectiontitle">Service roles and interactions</h4><p>A network component |
| in a Web Services architecture can play one or more fundamental roles: service |
| provider, service broker, and service client.</p> |
| <ul><li>Service providers create and deploy their Web services and can publish |
| the availability of their WSDL-described services through a service registry, |
| such as a UDDI Business Registry.</li> |
| <li>Service brokers register and categorize published services and provide |
| search services. For example, UDDI acts as a service broker for WSDL-described |
| Web services.</li> |
| <li>Service clients use broker services such as the UDDI Business Registry |
| to discover a needed WSDL-described service and then bind to and call the |
| service provider.</li> |
| </ul> |
| <p>Binding involves establishing all environmental prerequisites that |
| are necessary to successfully complete the services. Examples of environmental |
| prerequisites include security, transaction monitoring, and HTTP availability. |
| The relationships between these roles are described in Figure 1.</p> |
| <p>Figure |
| 1. Service roles and interactions.</p> |
| <p> <img src="../images/roles.gif" alt="Figure 1 illustrates the interactions between the service broker, service provider, and service requestor." /> </p> |
| </div> |
| <div class="section"><h4 class="sectiontitle">Web service standards</h4><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>For more information on Web services, refer to <a href="http://www.ibm.com/developerworks/webservices" target="_blank">www.ibm.com/developerworks/webservices</a></p> |
| </div> |
| </div> |
| <div> |
| <div class="linklist"><strong>Related Concepts</strong><br /> |
| |
| <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><a href="../tasks/toverws.html" title="Use Web services tools to discover, create, and publish Web services that are created from Java beans, DADX files, enterprise beans, WSDL files, and URLs. The Rational Developer products support the creation 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> |