



The WebSphere® Web Services zone contains articles, tutorials, code samples, roadmaps, and
many other resources to help you develop, test, deploy, and use Web services.
This page gives you a high-level overview of how WebSphere supports Web services.
Several WebSphere products provide Web services functionality.
Primary among them is WebSphere Application Server (hereafter called Application Server) and the Web Services Gateway
component of WebSphere Application Server Network Deployment. Some of the others are the CICS®
Transaction Server V3.1 for z/OS®, which can provide and consume WS-I compliant Web services,
WebSphere Message Broker, which provides support for SOAP messages, and WebSphere
Business Integration Server, which provides Web services connectivity through one of its
many adapters. This article focuses specifically on the Web services functionality provided by
WebSphere Application Server.
Applications deployed to Application Server can leverage its built in Web services
support to expose services to remote consumers in an industry-standard way. These applications
can also discover and invoke services provided by other applications implemented in different
technologies.
The basic requirements for running Web services on WebSphere are the same as for any other application.
However, Web services technologies are advancing rapidly and have changed considerably over the
past four years during which WebSphere has been providing them. Also, because Web services are a distributed
technology, they impose requirements on both the consumer and provider.
The Web Services Interoperability (WS-I) organization has defined some combinations of
protocol versions into profiles to
assist Web services consumers and providers in determining compatibility.
Different versions of WebSphere have different levels of support for Web services
when acting as a consumer or provider. Broadly, the support can be categorized into three
groups: Pre-WebSphere 5.0.2, WebSphere 5.0.2 through WebSphere 5.1 and WebSphere 6.
Pre-WebSphere 5.0.2
-
Overview: This version of Web services was introduced in Application Server V4 and provided in Application Server V5.
Although WebSphere shipped with what is now the Apache SOAP implementation, if you're implementing Web services
with these versions of WebSphere, you should consider using the Apache Axis implementation.
-
Web services stack: Apache SOAP
-
Interoperability: Because this version of the Web services stack in WebSphere did not conform to any WS-I
profiles, use of this Web services stack should be limited to communication with other pre-WebSphere V5.0.2 implementations,
or only after thorough testing with a different implementation. Limited interoperability
with other vendor stacks is possible.
-
Tooling: To build Web services consumers and providers for this version of WebSphere you'll want to use
WebSphere Studio Application Developer V5 or later.
WebSphere 5.0.2 through WebSphere 5.1
-
Overview: These WebSphere versions benefited from the second generation of IBM Web services stacks.
-
Web services stack: IBM JAX-RPC 1.0 stack
-
Interoperability: Because this version of the Web services stack in WebSphere conformed to WS-I
basic profile V1, basic interoperability with Web services implementations from other vendors is possible.
Limited Web services security interoperability is possible.
-
Tooling: To build Web services consumers and providers for this version of WebSphere
use WebSphere Studio Application Developer V5.12 or later.
WebSphere 6
-
Overview: The Web services support in WebSphere V6 is the third
generation of the IBM Web services stack and supports many of the latest standards governing the area.
-
Web services stack: IBM JAX-RPC 1.1 stack
-
Interoperability: Because this version of the Web services stack in WebSphere
conformed to WS-I basic profile version 1.1, WS-Security with UsernameToken and X509 token support,
WS-AtomicTransaction and WS-Addressing, reasonable interoperability with Web services implementations
from other vendors is possible. Web services security interoperability is possible.
-
Tooling: To build Web services consumers and providers for this version of
WebSphere, use Rational® Application Developer Version 6 or later.
You can build Web services client applications to deploy to WebSphere
using the command line tools that ship with WebSphere itself (WSDL2Java)
or other tooling of your choice, but the most productive way to build application code to
deploy to WebSphere is to use the appropriate offering from the Rational Software Development Platform.
The Rational software development products are based on Eclipse 3.0 and provide a comprehensive
application development environment for creating and maintaining J2EE-compliant enterprise
application systems. This development environment includes many features not available in Eclipse.
Following are some of the functions provided:
Create service provider
Use Rational Application Developer tools to create, deploy, test, and publish Web services bottom-up
from existing Javabeans, enterprise beans, DADX files, and URLs, and top-down from WSDL.
Wizards support the automatic generation of additional artifacts,
such as a JavaBean proxy to easily access the Web service, and a test client.
The Rational tools also include a WSDL editor to facilitate the development of Web services
using the best practice of defining the types
and interface in WSDL first and generating the Java artifacts from the WSDL.
Create service consumer
Use the Web services client wizard or command line tools to create a client for
any Web service. Only the WSDL file is needed to create a Web service client.
Secure the client
The Web service wizards and deployment descriptor editors help you
configure Web services security (WS-Security) for the WebSphere Application Server
environment.
Run Web services
Run Web services provider and consumer components in various WebSphere
Application Server versions, Tomcat, and other test environments. The deployment and
administration for the WebSphere test environment is integrated into
Application Developer.
Test Web services
Test Web services running locally or remotely. For local tests, you can use
the WebSphere test environment. The WebSphere test
environment contains a complete WebSphere Application Server runtime
environment. Rational Application Developer provides different functions to
test Web services.
Discover Web services
Browse Universal Description, Discovery, and Integration (UDDI) registries or
Web Services Inspection Language (WSIL) sites to find Web services for integration.
The Web Services Explorer provides the necessary functions to discover a Web service.
Publish Web services
Publish Web services to a UDDI V2 or V3 Business Registry, using the Web Services Explorer.
Build skeletons
Generate JavaBean and EJB skeletons from WSDL files. This can be helpful during the
development and test phase of a project. For example, when the service is defined (WSDL),
but not running at the service provider site, and the client needs to be tested, you can create
a test service provider to emulate the provider.
Validate Web services
Use the WSDL and DADX validators to check for structural and semantic problems in
these types of files. This feature is useful in checking that a service WSDL file from
a service provider is valid.
Check compliance
Different WS-I profile compliance tests and levels can be
defined for the Web services development environment. Rational Application
Developer can check compliance for the Simple SOAP Basic 1.0 and the
Attachment Profile 1.0.
When Web services are created or changed, the WS-I compliance tester will
analyze the service, and depending on the configuration, ignore, suggest, or
require profile compliance. You can define this in the Web service
preferences.
Work with WSDL files
Rational Application Developer provides wizards and functions to help you work with WSDL files:
- Use the graphical editor to create a WSDL file from a template and to add
WSDL elements (service, port, port types, messages).
- Create WSDL documentation; this creates HTML documentation for the
WSDL file, similar to a JavaDoc document.
- Validate the WSDL file for WS-I compliance.
Navigate Web services
Rational Application Developer now organizes Web services together in a Web services group in the Project Explorer, which
makes is easier to find and work with Web services.
The table below shows the Web services-related technologies and specifications supported
in Rational Application Developer V6.
|
Technology or specification
|
Version or level supported
| | HTTP/HTTPS | 1.0 and 1.1 | | JMS | 1.1 | | SOAP | 1.1 | | SOAP Attachments | 1.0 | | UDDI | 2.0 and 3.0 | | WSDL | 1.1 | | WSIL | 1.0 | | WS-Security | OASIS Standard 1.0 | | WS-I Basic Profile | 1.1.2 | | WS-I Simple SOAP Binding Profile | 1.0.3 | | WS-I Attachments Profile | 1.0 | | JAX-RPC | 1.0 for J2EE 1.3
1.1 for J2EE 1.4 | | Web Services for J2EE | WSEE 1.0 (JSR 109) for J2EE 1.3
WSEE 1.1 (JSR 921) for J2EE 1.4 |
Rational Application Developer supports three Web service provider runtime
environments:
-
WebSphere runtime environment
This is the recommended runtime environment for production use. Only the
WebSphere runtime environment is full supported by IBM. It includes
specialized serializers and deserializers for complex objects, JSR 109 support
for enterprise Web services (EJBs), and SOAP over JMS support.
-
IBM SOAP runtime environment
This was the only supported runtime environment in previous releases of
WebSphere Studio Application Developer (V5 and earlier). It should be used only for backward
compatibility. It supports Apache SOAP 2.3. Currently, DB2 Web services from
SQL statements (DADX files) still require the SOAP runtime.
-
Apache Axis 1.0 runtime environment
This is the third version of the Apache SOAP implementation. Apache Axis
evolved from the Apache SOAP implementation (which began as IBM SOAP4J).
The Apache Axis runtime is not recommended for WebSphere production environments, but
can be used for Apache Tomcat servers.
The developerWorks WebSphere Web
Services zone provides developers with hundreds of resources to help them get started with WebSphere Web services.
For information about the WebSphere family of products supporting Web services, refer to http://www.ibm.com/software/websphere/.
For IBM Rational product information, refer to http://www.ibm.com/software/rational/.
For information about the Web Services Interoperability organization, refer to the Web Services Interoperability page.
For information about the Web Services Interoperability organization, refer to the Web Services Interoperability page.
Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both. DB2, Lotus, Rational, Tivoli, and WebSphere are trademarks of IBM Corporation in the United States, other countries, or both. Other company, product, or service names may be trademarks or service marks of others. Other company, product, or service names may be
trademarks or service marks of others. |