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.
What are web services in WebSphere?
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 an 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.
What are the requirements for using web services with WebSphere?
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.
WebSphere 5.0.2 through WebSphere 5.1
How can I build web services consumer and provider applications to deploy into WebSphere?
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.
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.
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:
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|
|UDDI||2.0 and 3.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:
Where can I get more information about WebSphere web services?
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.