<?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>Tools for Web services development</title>
</head>
<body id="cwsinwsa"><a name="cwsinwsa"><!-- --></a>

<h1 class="topictitle1">Tools for Web services development</h1>
<div><p>Tools are provided to assist with the following aspects of Web services
development:</p>
<ul><li> <span class="uicontrol">Discover</span>. Browse the UDDI Business Registries
or WSIL documents to locate existing Web services for integration. The Web
becomes an extension of Rational<sup>®</sup> Developer products.</li>
<li> <span class="uicontrol">Create or Transform</span>. Create bottom-up Web services
from existing artifacts, such as Java™ beans, enterprise beans, URLs that
take and return data, DB2<sup>®</sup> XML Extender calls, DB2 Stored Procedures, and SQL queries.
Create top-down Web services from WSDL discovered from others or created using
the WSDL Editor.</li>
<li> <span class="uicontrol">Build</span>. Wrap existing artifacts as SOAP accessible
services and describe them in WSDL. The Web services wizards assist you in
generating a Java client proxy to Web services described in WSDL
and in generating Java bean skeletons from WSDL.</li>
<li> <span class="uicontrol">Deploy</span>. Deploy Web services into the WebSphere<sup>®</sup> Application
Server or Tomcat test environments. Secure Web services running on WebSphere Application
Server.</li>
<li> <span class="uicontrol">Test</span>. Test Web services running locally or remotely
in order to get instant feedback.</li>
<li> <span class="uicontrol">Develop</span>. Generate sample applications to assist
you in creating your own Web service client application.</li>
<li> <span class="uicontrol">Publish</span>. Publish Web services to a UDDI v2 or
v3 Business Registry, advertising your Web services so that other businesses
and clients can access them.</li>
</ul>
<div class="p">Some of the Web service tools available and their uses include the following:<ul><li>Use the Web Services Client wizard to create the Java client
to a deployed Web service and to test the Web service.</li>
<li>Use the Web Services wizard to create, deploy, test, and publish Web services
bottom-up from existing Java beans and enterprise beans, or top-down
from WSDL. The Web Services wizard supports the generation of the Java bean
proxy and a sample application.</li>
<li>Publish your Web service to a UDDI Business Registry using the Web Services
Explorer.</li>
<li>The Unit Test UDDI wizard installs, configures, and removes a Private
UDDI Registry.</li>
<li>The Java Beans for XML Schema wizard enables you to generate Java beans
from schema.</li>
<li>The IBM<sup>®</sup> Web
Services Explorer assists you in discovering and publishing your Web service
descriptions.</li>
<li>Use the WSDL validator to check for structural and semantic problems in
WSDL files.</li>
<li>WS-I compliance can be validated using several tools, such as the WSDL
validator, the Web service and client wizards, and a TCP/IP monitor.</li>
<li>The deployment settings for a Web service can be modified using the J2EE
deployment descriptor editors. Double-click any deployment descriptor to launch
the appropriate editor.</li>
</ul>
 </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="d0e117">Technology or specification</th>
<th valign="top" width="52.26130653266332%" id="d0e119">Version or level supported</th>
</tr>
</thead>
<tbody><tr><td colspan="2" valign="top" headers="d0e117 d0e119 "><strong>Transports</strong></td>
</tr>
<tr><td valign="top" width="47.73869346733669%" headers="d0e117 ">HTTP/HTTPS</td>
<td valign="top" width="52.26130653266332%" headers="d0e119 ">v1.0 and v1.1</td>
</tr>
<tr><td valign="top" width="47.73869346733669%" headers="d0e117 ">JMS</td>
<td valign="top" width="52.26130653266332%" headers="d0e119 ">&nbsp;</td>
</tr>
<tr><td colspan="2" valign="top" headers="d0e117 d0e119 "><strong>Messaging</strong></td>
</tr>
<tr><td valign="top" width="47.73869346733669%" headers="d0e117 ">SOAP specification</td>
<td valign="top" width="52.26130653266332%" headers="d0e119 ">v1.1</td>
</tr>
<tr><td valign="top" width="47.73869346733669%" headers="d0e117 ">SOAP Attachements</td>
<td valign="top" width="52.26130653266332%" headers="d0e119 ">&nbsp;</td>
</tr>
<tr><td colspan="2" valign="top" headers="d0e117 d0e119 "><strong>Description</strong></td>
</tr>
<tr><td valign="top" width="47.73869346733669%" headers="d0e117 ">UDDI</td>
<td valign="top" width="52.26130653266332%" headers="d0e119 ">v2.0</td>
</tr>
<tr><td valign="top" width="47.73869346733669%" headers="d0e117 ">WSDL</td>
<td valign="top" width="52.26130653266332%" headers="d0e119 ">v1.1</td>
</tr>
<tr><td valign="top" width="47.73869346733669%" headers="d0e117 ">WSIL</td>
<td valign="top" width="52.26130653266332%" headers="d0e119 ">v1.0</td>
</tr>
<tr><td colspan="2" valign="top" headers="d0e117 d0e119 "><strong>Security</strong></td>
</tr>
<tr><td valign="top" width="47.73869346733669%" headers="d0e117 ">WS-Security</td>
<td valign="top" width="52.26130653266332%" headers="d0e119 ">OASIS Standard 1.0</td>
</tr>
<tr><td colspan="2" valign="top" headers="d0e117 d0e119 "><strong>Ineroperability</strong></td>
</tr>
<tr><td valign="top" width="47.73869346733669%" headers="d0e117 ">WS-I Basic Profile</td>
<td valign="top" width="52.26130653266332%" headers="d0e119 ">1.1.2</td>
</tr>
<tr><td valign="top" width="47.73869346733669%" headers="d0e117 ">WS-I Simple SOAP Binding Profile</td>
<td valign="top" width="52.26130653266332%" headers="d0e119 ">1.0.3</td>
</tr>
<tr><td valign="top" width="47.73869346733669%" headers="d0e117 ">WS-I Attachments Profile</td>
<td valign="top" width="52.26130653266332%" headers="d0e119 ">1.0</td>
</tr>
<tr><td valign="top" width="47.73869346733669%" headers="d0e117 "><strong>Other Standards</strong></td>
<td valign="top" width="52.26130653266332%" headers="d0e119 ">&nbsp;</td>
</tr>
<tr><td valign="top" width="47.73869346733669%" headers="d0e117 ">JAX-RPC</td>
<td valign="top" width="52.26130653266332%" headers="d0e119 ">v1.0 for J2EE 1.3, v1.1 for J2EE 1.4</td>
</tr>
<tr><td valign="top" width="47.73869346733669%" headers="d0e117 ">JSR 109</td>
<td valign="top" width="52.26130653266332%" headers="d0e119 ">J2EE 1.3</td>
</tr>
<tr><td valign="top" width="47.73869346733669%" headers="d0e117 ">JSR 921</td>
<td valign="top" width="52.26130653266332%" headers="d0e119 ">J2EE 1.4</td>
</tr>
</tbody>
</table>
</div>
</div>
<div>
<ul class="ullinks">
<li class="ulchildlink"><strong><a href="../../org.eclipse.jst.ws.axis.ui.doc.user/concepts/caxistover.html">Creating Web services with the Apache Axis run-time environment</a></strong><br />
</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>

<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>