<?xml version="1.0" encoding="UTF-8"?>
<org.eclipse.epf.uma:ContentDescription xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:org.eclipse.epf.uma="http://www.eclipse.org/epf/uma/1.0.6/uma.ecore" xmlns:epf="http://www.eclipse.org/epf" epf:version="1.5.1" xmlns:rmc="http://www.ibm.com/rmc" rmc:version="7.5.1" xmi:id="_xy154cezEdmYjcUf1_oIew" name="developing_web_services,3.866970394121584E-303" guid="_xy154cezEdmYjcUf1_oIew" changeDate="2005-10-18T21:06:04.162-0700" version="7.1.0">
  <mainDescription>&lt;h3>&#xD;
    &lt;a id=&quot;introduction&quot; name=&quot;introduction&quot;>&lt;/a>Introduction&#xD;
&lt;/h3>&#xD;
&lt;p>&#xD;
    RAD 6.0 provides an extensive set of tools to support the discovery, creation, test, deployment and publishing of Web&#xD;
    services. They allow the development of Web services based on to the latest standards and support deployment to&#xD;
    multiple run-time environments. The tools also provide many wizards to support and facilitate different development&#xD;
    approaches. This document describes the various approaches provided by RAD 6.0 to develop a Web service and discusses&#xD;
    development considerations related to Web Service deployment and level of interoperability options.&#xD;
&lt;/p>&#xD;
&lt;h3>&#xD;
    &lt;a id=&quot;introduction&quot; name=&quot;introduction&quot;>&lt;/a>Development Approaches&#xD;
&lt;/h3>&#xD;
&lt;p>&#xD;
    The Web Services wizards in RAD 6.0 allow you to create a Web service using either a top-down or bottom-up approach.&#xD;
    Top down enables you to start with a Web Services Description Language (WSDL) document and generate either a skeleton&#xD;
    Java bean or a skeleton Enterprise JavaBean (EJB) that can be used to create a Web service. The Bottom-up approach&#xD;
    allows you to create a Web service from an existing Java bean, EJB, Document Access Definition Extender (DADX) file,&#xD;
    Uniform Resource Locator (URL) or Web service Deployment Descriptor (ISD) file. Figure 1 depicts the Web services&#xD;
    creation approaches provided by RAD 6.0.&#xD;
&lt;/p>&#xD;
&lt;p align=&quot;center&quot;>&#xD;
    &lt;img height=&quot;577&quot; alt=&quot;Approaches to creating RAD 6.0 web services&quot; src=&quot;resources/webservcre.gif&quot; width=&quot;634&quot; />&#xD;
&lt;/p>&#xD;
&lt;p align=&quot;center&quot;>&#xD;
    &lt;strong>Figure 1 - RAD 6.0 Web Services Creation Approaches&lt;/strong>&#xD;
&lt;/p>&#xD;
&lt;p>&#xD;
    During the creation of a Web service, the wizard optionally allows you to:&#xD;
&lt;/p>&#xD;
&lt;ul>&#xD;
    &lt;li>&#xD;
        Test the Web service as soon as it is created using the Web Services Explorer tool.&#xD;
    &lt;/li>&#xD;
    &lt;li>&#xD;
        Generate a client proxy that you can use in client applications to access the Web service.&#xD;
    &lt;/li>&#xD;
    &lt;li>&#xD;
        Test a client proxy using the Universal Test Client (UTC) tool or a sample JSP application that the tool generates.&#xD;
    &lt;/li>&#xD;
    &lt;li>&#xD;
        Publish the Web service to a Universal Description, Discovery and Integration (UDDI) registry using the Web&#xD;
        Services Explorer tool.&#xD;
    &lt;/li>&#xD;
&lt;/ul>&#xD;
&lt;p>&#xD;
    Web services developed in RAD 6.0 must be created in a Web or EJB project and contain work products that comply with&#xD;
    the following standards:&#xD;
&lt;/p>&#xD;
&lt;ul>&#xD;
    &lt;li>&#xD;
        Web Services Definition Language (WSDL) version 1.1&#xD;
    &lt;/li>&#xD;
    &lt;li>&#xD;
        Simple Object Access Protocol (SOAP) version 1.1 (including the Apache SOAP 2.2 and 2.3 implementations)&#xD;
    &lt;/li>&#xD;
    &lt;li>&#xD;
        Universal Description, Discovery and Integration (UDDI) version 2.0&#xD;
    &lt;/li>&#xD;
    &lt;li>&#xD;
        Web Services Inspection Language (WSIL) version 1.0&#xD;
    &lt;/li>&#xD;
    &lt;li>&#xD;
        Java API for XML-based Remote Procedure Call (JAX-RPC), also known as JSR-101&#xD;
    &lt;/li>&#xD;
    &lt;li>&#xD;
        JSR-109 and JSR-921(Implementing Enterprise Web Services)&#xD;
    &lt;/li>&#xD;
    &lt;li>&#xD;
        Web Services Interoperability (WS-I) Basic Profile 1.0 (optional compliance)&#xD;
    &lt;/li>&#xD;
    &lt;li>&#xD;
        WS-Security&#xD;
    &lt;/li>&#xD;
&lt;/ul>&#xD;
&lt;p>&#xD;
    For more information on these topics see Concepts: Web Services for J2EE.&#xD;
&lt;/p>&#xD;
&lt;h4>&#xD;
    &lt;a id=&quot;introduction&quot; name=&quot;introduction&quot;>&lt;/a>Top-down Development&#xD;
&lt;/h4>&#xD;
&lt;p>&#xD;
    Top-down development allows you to take the abstract definition of a Web service contained in a WSDL document and&#xD;
    generate a concrete implementation for it. (Note: RAD 6.0 also provides a wizard to create a WSDL document). The&#xD;
    following two approaches are supported:&#xD;
&lt;/p>&#xD;
&lt;ul>&#xD;
    &lt;li>&#xD;
        Creating a skeleton Java bean from a WSDL document &#xD;
        &lt;p>&#xD;
            You can create a skeleton Java bean from a WSDL document and expose it as a Web service. The generated Java&#xD;
            bean methods correspond to the operations described the WSDL document and contain a trivial implementation&#xD;
            which you can replace. The following considerations apply to this approach and its generated work products:&#xD;
        &lt;/p>&#xD;
        &lt;ul>&#xD;
            &lt;li>&#xD;
                You can enter the URI of a WSDL document, or alternatively, that of a WSIL or HTML document pointing to the&#xD;
                WSDL file as the source for the Web service.&#xD;
            &lt;/li>&#xD;
            &lt;li>&#xD;
                The WSDL file must contain a service element. You can also optionally generate a standardized WSDL&#xD;
                reference (WSIL) document for the resulting Web service.&#xD;
            &lt;/li>&#xD;
            &lt;li>&#xD;
                The generated Web service must be created in a Web project.&#xD;
            &lt;/li>&#xD;
        &lt;/ul>&#xD;
    &lt;/li>&#xD;
&lt;/ul>&#xD;
&lt;ul>&#xD;
    &lt;li>&#xD;
        Creating a skeleton EJB from a WSDL document &#xD;
        &lt;p>&#xD;
            Similar to the one above, this approach allows you to create a skeleton Stateless Session EJB from a WSDL&#xD;
            document and expose it a Web service. The methods in the EJB correspond to the operations described the WSDL&#xD;
            document and contain a trivial implementation which you can replace. The following considerations apply to this&#xD;
            approach and its generated work products:&#xD;
        &lt;/p>&#xD;
        &lt;ul>&#xD;
            &lt;li>&#xD;
                This approach can only be used if you select IBM WebSphere v6 as your Web service run-time environment (see&#xD;
                Deployment Dependencies)&#xD;
            &lt;/li>&#xD;
            &lt;li>&#xD;
                You can enter the URI of a WSDL document, or alternatively, that of a WSIL or HTML document pointing to the&#xD;
                WSDL file as the source for the Web service.&#xD;
            &lt;/li>&#xD;
            &lt;li>&#xD;
                The WSDL file must contain a service element. You can also optionally generate a standardized WSDL&#xD;
                reference (WSIL) document for the resulting Web service.&#xD;
            &lt;/li>&#xD;
            &lt;li>&#xD;
                The generated Web service must be created in an EJB project. In addition, a Router project is created to&#xD;
                enable the Web service to receive requests over the HTTP transport (Note: The JMS transport is not&#xD;
                supported under this approach). The Router project can be a Web or EJB project and can not be the same&#xD;
                project as the one containing the Web service but must be in the same containing EAR file.&#xD;
            &lt;/li>&#xD;
        &lt;/ul>&#xD;
    &lt;/li>&#xD;
&lt;/ul>&#xD;
&lt;h4>&#xD;
    &lt;a id=&quot;introduction&quot; name=&quot;introduction&quot;>&lt;/a>Bottom-up Development&#xD;
&lt;/h4>&#xD;
&lt;p>&#xD;
    The goal of bottom-up development is to expose an existing application component or resource as a Web Service. The&#xD;
    various approaches are discussed below.&#xD;
&lt;/p>&#xD;
&lt;ul>&#xD;
    &lt;li>&#xD;
        Creating a Web service from a Java bean &#xD;
        &lt;p>&#xD;
            This approach allows you to select an existing Java bean and exposes its methods as a Web service. The&#xD;
            generated work products include:&#xD;
        &lt;/p>&#xD;
        &lt;ul>&#xD;
            &lt;li>&#xD;
                WSDL file: This file describes the Web service and has a .wsdl file name extension. You can choose between&#xD;
                three styles of WSDL (Document/Literal, RPC/Literal and RPC/Encoded). For the interoperability impact of&#xD;
                each option, see WS-I Basic Profile Compliance.&#xD;
            &lt;/li>&#xD;
            &lt;li>&#xD;
                Service Endpoint Interface (SEI): This Java interface defines the methods of the Web service. Its file name&#xD;
                has a _SEI suffix.&#xD;
            &lt;/li>&#xD;
            &lt;li>&#xD;
                Web service Deployment Descriptor: The webservices.xml file specifies the implementation and deployment&#xD;
                details of the Web service.&#xD;
            &lt;/li>&#xD;
            &lt;li>&#xD;
                JAX-RPC Mapping files: These files define how the Web service's Java elements are mapped to and from WSDL.&#xD;
            &lt;/li>&#xD;
        &lt;/ul>&#xD;
    &lt;/li>&#xD;
    &lt;li>&#xD;
        Creating a Web service from an EJB &#xD;
        &lt;p>&#xD;
            You can expose the methods of a Stateless Session bean as a Web service. The generated work products are&#xD;
            similar to those generated for a Java bean and include a WSDL file, SEI, Web service Deployment Descriptor and&#xD;
            JAX-RPC Mapping files. The following considerations apply to this approach and its generated work products:&#xD;
        &lt;/p>&#xD;
        &lt;ul>&#xD;
            &lt;li>&#xD;
                The generated Web service must be created in an EJB project.&#xD;
            &lt;/li>&#xD;
            &lt;li>&#xD;
                A Router project must be created to enable the Web service to receive requests from clients. If you are&#xD;
                using SOAP over HTTP as your transport method, create the Router project as a Web project. Otherwise, if&#xD;
                the client is using SOAP over JMS, create it as an EJB project (the JMS Router is implemented as a&#xD;
                Message-Driven Bean in this case). The Router and Web Service projects can not be the same but must be&#xD;
                contained in the same EAR file.&#xD;
            &lt;/li>&#xD;
            &lt;li>&#xD;
                If you are using the SOAP over JMS transport, you must configure a JMS provider in your server. You also&#xD;
                will not be able to use the Web service Explorer to test your Web service.&#xD;
            &lt;/li>&#xD;
        &lt;/ul>&#xD;
    &lt;/li>&#xD;
&lt;/ul>&#xD;
&lt;ul>&#xD;
    &lt;li>&#xD;
        Creating a Web service from a DADX file &#xD;
        &lt;p>&#xD;
            This approach enables you to wrap DB2 data accessed through DB2 XML Extender or regular SQL statements inside a&#xD;
            Web service. Data accessed through DB2 XML Extender consists of XML documents that are mapped to a DB2 database&#xD;
            using a Document Access Definition (DAD) document. The approach's starting point is a DADX file which specifies&#xD;
            how to create a Web service using the set of operations defined by regular SQL statements or in a DAD file. The&#xD;
            generated work products include the standard WSDL file, SEI, Web service Deployment Descriptor and JAX-RPC&#xD;
            Mapping files. The following considerations apply to this approach and its generated work products:&#xD;
        &lt;/p>&#xD;
        &lt;ul>&#xD;
            &lt;li>&#xD;
                This approach can only be used if you select IBM SOAP as your Web service run-time environment (see&#xD;
                Deployment Dependencies).&#xD;
            &lt;/li>&#xD;
            &lt;li>&#xD;
                You can optionally generate a DADX file from a combination of one or more SQL statements, stored procedures&#xD;
                and DAD files.&#xD;
            &lt;/li>&#xD;
            &lt;li>&#xD;
                The DADX file should be contained in a DADX group which defines JDBC connection and other information&#xD;
                shared between DADX files within the group.&#xD;
            &lt;/li>&#xD;
            &lt;li>&#xD;
                The generated Web service must be created in a Web project.&#xD;
            &lt;/li>&#xD;
        &lt;/ul>&#xD;
    &lt;/li>&#xD;
&lt;/ul>&#xD;
&lt;ul>&#xD;
    &lt;li>&#xD;
        Creating a Web service from a URL &#xD;
        &lt;p>&#xD;
            From its URL, you can create a Web service that directly accesses a servlet running on a remote server. The&#xD;
            wizard allows you to describe the servlet's interface in terms of ports, operations and parameters and&#xD;
            generates a WSDL document describing the resulting Web service. The following considerations apply to this&#xD;
            approach and its generated work products:&#xD;
        &lt;/p>&#xD;
        &lt;ul>&#xD;
            &lt;li>&#xD;
                This approach can only be used if you select IBM SOAP as your Web service run-time environment (see&#xD;
                Deployment Dependencies).&#xD;
            &lt;/li>&#xD;
            &lt;li>&#xD;
                Usually, the port corresponds to the domain/host name part of the URL, the operation to the servlet context&#xD;
                root and URI part, and the parameters to the servlet's input parameters.&#xD;
            &lt;/li>&#xD;
            &lt;li>&#xD;
                The generated Web service must be created in a Web project.&#xD;
            &lt;/li>&#xD;
            &lt;li>&#xD;
                There is no Web service to deploy since it is already implemented by the active URL.&#xD;
            &lt;/li>&#xD;
        &lt;/ul>&#xD;
    &lt;/li>&#xD;
    &lt;li>&#xD;
        Creating a Web service from a Deployment Descriptor (ISD) file &#xD;
        &lt;p>&#xD;
            When a Web service is deployed, its configuration and run-time attributes are defined in an ISD deployment&#xD;
            descriptor file. This file provides information about the service that should be made available to clients by&#xD;
            the SOAP run-time environment, for example, URI, methods, implementation classes (JavaBeans and EJBs),&#xD;
            serializers and deserializers. You can create a Web service from an ISD file using this available information.&#xD;
            This allows you to wrap existing Web service implementations and re-deploy them as new Web services without&#xD;
            having to re-specify their configuration and mapping information. The following considerations apply to this&#xD;
            approach and its generated work products:&#xD;
        &lt;/p>&#xD;
        &lt;ul>&#xD;
            &lt;li>&#xD;
                This approach can only be used if you select IBM SOAP as your Web service run-time environment (see&#xD;
                Deployment Dependencies).&#xD;
            &lt;/li>&#xD;
            &lt;li>&#xD;
                The generated Web service must be created in a Web project&lt;br />&#xD;
            &lt;/li>&#xD;
        &lt;/ul>&#xD;
    &lt;/li>&#xD;
&lt;/ul>&#xD;
&lt;h3>&#xD;
    &lt;a id=&quot;introduction&quot; name=&quot;introduction&quot;>&lt;/a>Development Guidelines&#xD;
&lt;/h3>&#xD;
&lt;p>&#xD;
    The following sections address important considerations relevant to developing a Web service in RAD 6.0. They describe&#xD;
    the development options available based on the deployment and WS-I compliance requirements of your Web service.&#xD;
&lt;/p>&#xD;
&lt;h4>&#xD;
    &lt;a id=&quot;introduction&quot; name=&quot;introduction&quot;>&lt;/a>Deployment Dependencies&#xD;
&lt;/h4>&#xD;
&lt;p>&#xD;
    The approaches (top-down and bottom-up) that are available to create a Web service depend on the run-time environment&#xD;
    that you are targeting for deployment. RAD 6.0 supports the following Web services run-time environments:&#xD;
&lt;/p>&#xD;
&lt;ul>&#xD;
    &lt;li>&#xD;
        IBM WebSphere v6 &#xD;
        &lt;p>&#xD;
            This is the default Web services run-time environment in RAD 6.0 and the one recommended for production use. It&#xD;
            supports both a JMS and HTTP transport protocol, thus allowing Web service clients and servers to communicate&#xD;
            either via HTTP connections or JMS queues and topics. Note that a Web service must be implemented as an EJB if&#xD;
            it will be accessible through the JMS transport.&#xD;
        &lt;/p>&#xD;
    &lt;/li>&#xD;
    &lt;li>&#xD;
        IBM SOAP &#xD;
        &lt;p>&#xD;
            The IBM SOAP run-time environment supports the Apache SOAP version 2.2 and 2.3 protocols (see Resources) and&#xD;
            was the only Web service run-time environment supported in WebSphere Studio version 5.0 and earlier. It should&#xD;
            only be used for backward compatibility purposes.&#xD;
        &lt;/p>&#xD;
    &lt;/li>&#xD;
    &lt;li>&#xD;
        Apache Axis 1.0 &#xD;
        &lt;p>&#xD;
            This run-time environment supports the Apache Axis version 1.0 SOAP implementation (see Resources). It is not&#xD;
            recommended for production use because of potential Web service interoperability problems (see Problems with&#xD;
            using Apache Axis 1.0 run-time environment in the tool's Help Contents)&#xD;
        &lt;/p>&#xD;
    &lt;/li>&#xD;
&lt;/ul>&#xD;
&lt;p>&#xD;
    It is recommended that you choose the IBM WebSphere v5 run-time environment unless your deployment target specifically&#xD;
    requires you to use an Apache SOAP or Apache Axis implementation (if so, be aware of the associated limitations&#xD;
    described in the tool's Limitations of Web Services Help content). Table 1 summarizes the Web service creation&#xD;
    approaches supported by RAD 6.0 for each run-time environment.&lt;br />&#xD;
&lt;/p>&#xD;
&lt;table cellspacing=&quot;0&quot; cellpadding=&quot;5&quot; width=&quot;500&quot; align=&quot;center&quot; border=&quot;1&quot;>&#xD;
    &lt;tbody>&#xD;
        &lt;tr bgcolor=&quot;#CCCCCC&quot;>&#xD;
            &lt;th>&#xD;
                Approach&#xD;
            &lt;/th>&#xD;
            &lt;th>&#xD;
                IBM WebSphere v6&#xD;
            &lt;/th>&#xD;
            &lt;th>&#xD;
                IBM SOAP&#xD;
            &lt;/th>&#xD;
            &lt;th>&#xD;
                Apache Axis 1.0&#xD;
            &lt;/th>&#xD;
        &lt;/tr>&#xD;
        &lt;tr>&#xD;
            &lt;td>&#xD;
                Create a skeleton JavaBean from a WSDL document&#xD;
            &lt;/td>&#xD;
            &lt;td>&#xD;
                &lt;div align=&quot;center&quot;>&#xD;
                    Yes&#xD;
                &lt;/div>&#xD;
            &lt;/td>&#xD;
            &lt;td>&#xD;
                &lt;div align=&quot;center&quot;>&#xD;
                    Yes&#xD;
                &lt;/div>&#xD;
            &lt;/td>&#xD;
            &lt;td>&#xD;
                &lt;div align=&quot;center&quot;>&#xD;
                    Yes&#xD;
                &lt;/div>&#xD;
            &lt;/td>&#xD;
        &lt;/tr>&#xD;
        &lt;tr>&#xD;
            &lt;td>&#xD;
                Create a skeleton EJB from a WSDL document&#xD;
            &lt;/td>&#xD;
            &lt;td>&#xD;
                &lt;div align=&quot;center&quot;>&#xD;
                    Yes&#xD;
                &lt;/div>&#xD;
            &lt;/td>&#xD;
            &lt;td>&#xD;
                &lt;div align=&quot;center&quot;>&#xD;
                    No&#xD;
                &lt;/div>&#xD;
            &lt;/td>&#xD;
            &lt;td>&#xD;
                &lt;div align=&quot;center&quot;>&#xD;
                    No&#xD;
                &lt;/div>&#xD;
            &lt;/td>&#xD;
        &lt;/tr>&#xD;
        &lt;tr>&#xD;
            &lt;td>&#xD;
                Create a Web Service from a JavaBean&#xD;
            &lt;/td>&#xD;
            &lt;td>&#xD;
                &lt;div align=&quot;center&quot;>&#xD;
                    Yes&#xD;
                &lt;/div>&#xD;
            &lt;/td>&#xD;
            &lt;td>&#xD;
                &lt;div align=&quot;center&quot;>&#xD;
                    Yes&#xD;
                &lt;/div>&#xD;
            &lt;/td>&#xD;
            &lt;td>&#xD;
                &lt;div align=&quot;center&quot;>&#xD;
                    Yes&#xD;
                &lt;/div>&#xD;
            &lt;/td>&#xD;
        &lt;/tr>&#xD;
        &lt;tr>&#xD;
            &lt;td>&#xD;
                Create a Web Service from an EJB&#xD;
            &lt;/td>&#xD;
            &lt;td>&#xD;
                &lt;div align=&quot;center&quot;>&#xD;
                    Yes&#xD;
                &lt;/div>&#xD;
            &lt;/td>&#xD;
            &lt;td>&#xD;
                &lt;div align=&quot;center&quot;>&#xD;
                    Yes&#xD;
                &lt;/div>&#xD;
            &lt;/td>&#xD;
            &lt;td>&#xD;
                &lt;div align=&quot;center&quot;>&#xD;
                    No&#xD;
                &lt;/div>&#xD;
            &lt;/td>&#xD;
        &lt;/tr>&#xD;
        &lt;tr>&#xD;
            &lt;td>&#xD;
                Create a Web service from a DADX&#xD;
            &lt;/td>&#xD;
            &lt;td>&#xD;
                &lt;div align=&quot;center&quot;>&#xD;
                    No&#xD;
                &lt;/div>&#xD;
            &lt;/td>&#xD;
            &lt;td>&#xD;
                &lt;div align=&quot;center&quot;>&#xD;
                    Yes&#xD;
                &lt;/div>&#xD;
            &lt;/td>&#xD;
            &lt;td>&#xD;
                &lt;div align=&quot;center&quot;>&#xD;
                    No&#xD;
                &lt;/div>&#xD;
            &lt;/td>&#xD;
        &lt;/tr>&#xD;
        &lt;tr>&#xD;
            &lt;td>&#xD;
                Create a Web service from a URL&#xD;
            &lt;/td>&#xD;
            &lt;td>&#xD;
                &lt;div align=&quot;center&quot;>&#xD;
                    No&#xD;
                &lt;/div>&#xD;
            &lt;/td>&#xD;
            &lt;td>&#xD;
                &lt;div align=&quot;center&quot;>&#xD;
                    Yes&#xD;
                &lt;/div>&#xD;
            &lt;/td>&#xD;
            &lt;td>&#xD;
                &lt;div align=&quot;center&quot;>&#xD;
                    No&#xD;
                &lt;/div>&#xD;
            &lt;/td>&#xD;
        &lt;/tr>&#xD;
        &lt;tr>&#xD;
            &lt;td>&#xD;
                Create a Web service from a Web service Deployment Descriptor (ISD)&#xD;
            &lt;/td>&#xD;
            &lt;td>&#xD;
                &lt;div align=&quot;center&quot;>&#xD;
                    No&#xD;
                &lt;/div>&#xD;
            &lt;/td>&#xD;
            &lt;td>&#xD;
                &lt;div align=&quot;center&quot;>&#xD;
                    Yes&#xD;
                &lt;/div>&#xD;
            &lt;/td>&#xD;
            &lt;td>&#xD;
                &lt;div align=&quot;center&quot;>&#xD;
                    No&#xD;
                &lt;/div>&#xD;
            &lt;/td>&#xD;
        &lt;/tr>&#xD;
    &lt;/tbody>&#xD;
&lt;/table>&#xD;
&lt;p align=&quot;center&quot;>&#xD;
    &lt;strong>Table 1 - Supported Web Service Creation Approach by Run-time Environment&lt;/strong>&#xD;
&lt;/p>&#xD;
&lt;h4>&#xD;
    &lt;a id=&quot;introduction&quot; name=&quot;introduction&quot;>&lt;/a>WS-I Basic Profile Compliance&#xD;
&lt;/h4>&#xD;
&lt;p>&#xD;
    The Web Services-Interoperability (WS-I) Basic Profile is a set of requirements published by the WS-I organization to&#xD;
    promote Web services interoperability across platforms, operating systems, and programming languages. It defines WSDL&#xD;
    and protocol (SOAP/HTTP) traffic requirements that a Web service must satisfy in order to meet WS-I compliance. RAD 6.0&#xD;
    includes validation tools that can be used to verify a Web service's compliance to the WS-I Basic Profile 1.0&#xD;
    requirements. You can set a WS-I compliance level (Require, Suggest or Ignore (default)) for the workspace or project&#xD;
    prior to developing a Web service or run the validation tools after it is developed.&#xD;
&lt;/p>&#xD;
&lt;p>&#xD;
    It is recommended that you develop Web services that are WS-I Basic Profile compliant. The following guidelines should&#xD;
    be followed to ensure this:&#xD;
&lt;/p>&#xD;
&lt;ul>&#xD;
    &lt;li>&#xD;
        Use Document/literal or RPC/literal for the WSDL Style (RPC/encoded is not WS-I compliant)&#xD;
    &lt;/li>&#xD;
    &lt;li>&#xD;
        Use SOAP over HTTP as the message and transport protocols (SOAP over JMS is not WS-I compliant)&#xD;
    &lt;/li>&#xD;
    &lt;li>&#xD;
        Do not use any security options for the Web service (XML Digital Signature and XML Encryption are not WS-I&#xD;
        compliant)&#xD;
    &lt;/li>&#xD;
&lt;/ul>&#xD;
&lt;h4>&#xD;
    &lt;a id=&quot;introduction&quot; name=&quot;introduction&quot;>&lt;/a>Client Proxy Considerations&#xD;
&lt;/h4>&#xD;
&lt;ul>&#xD;
    &lt;li>&#xD;
        There are 2 types of client proxies that you can optionally generate when creating a Web service:&#xD;
    &lt;/li>&#xD;
&lt;/ul>&#xD;
&lt;div style=&quot;MARGIN-LEFT: 2em&quot;>&#xD;
    &lt;ul>&#xD;
        &lt;li>&#xD;
            Java bean Proxy&#xD;
        &lt;/li>&#xD;
    &lt;/ul>&#xD;
    &lt;p>&#xD;
        The Java bean client proxy allows you invoke the Web service methods via remote procedure calls. It can only be&#xD;
        created in a client Web project if IBM SOAP or Apache Axis 1.0 is selected for the client run-time environment.&#xD;
        Otherwise, for an IBM WebSphere v6 client run-time environment, it can be created in a Web, Java, EJB or&#xD;
        Application Client project.&#xD;
    &lt;/p>&#xD;
    &lt;ul>&#xD;
        &lt;li>&#xD;
            Web Service User-Defined Function&#xD;
        &lt;/li>&#xD;
    &lt;/ul>&#xD;
&lt;/div>&#xD;
&lt;blockquote>&#xD;
    &lt;p>&#xD;
        This option allows you to create a DB2 User-Defined Function (UDF) for each method of the Web service that you wish&#xD;
        to invoke. It requires that the DB2 Web services consumer UDF package and DB2 XML Extender be installed in the&#xD;
        database. The UDF is created and added to the database definition with all related client work products stored in a&#xD;
        Web project.&#xD;
    &lt;/p>&#xD;
&lt;/blockquote>&#xD;
&lt;ul>&#xD;
    &lt;li>&#xD;
        Select a different EAR for the Web service and the Web service client to reduce the chance of encountering run time&#xD;
        errors. Remember that a client is expected to be a different application from the Web service, and Web services are&#xD;
        not intended for inter-application communication.&#xD;
    &lt;/li>&#xD;
&lt;/ul>&#xD;
&lt;h3>&#xD;
    &lt;a id=&quot;introduction&quot; name=&quot;introduction&quot;>&lt;/a>Resources&#xD;
&lt;/h3>&#xD;
&lt;p>&#xD;
    For additional information on the topics below, please refer to the corresponding link.&#xD;
&lt;/p>&#xD;
&lt;ul>&#xD;
    &lt;li>&#xD;
        Apache SOAP: &lt;a href=&quot;http://xml.apache.org/soap&quot; target=&quot;_blank&quot;>http://xml.apache.org/soap&lt;/a>&#xD;
    &lt;/li>&#xD;
    &lt;li>&#xD;
        Apache Axis: &lt;a href=&quot;http://xml.apache.org/axis&quot; target=&quot;_blank&quot;>http://xml.apache.org/axis&lt;/a>&#xD;
    &lt;/li>&#xD;
    &lt;li>&#xD;
        Web Services Interoperability (WS-I): &lt;a href=&quot;http://www.ws-i.org/&quot; target=&quot;_blank&quot;>http://www.ws-i.org/&lt;/a>&lt;br />&#xD;
    &lt;/li>&#xD;
&lt;/ul></mainDescription>
</org.eclipse.epf.uma:ContentDescription>
