Web services

Web services are a technology that invoke services or applications using Internet standards and protocols. Implementing a service-oriented architecture, you can use Web services to perform encapsulated business functions ranging from simple request-reply to full business process interactions. Web services are self-contained, modular applications that you can describe, publish, locate, and invoke over a network. WebSphere® Application Server implements a number of core technologies on which Web services are developed and implemented.

If you have an existing application, and you want to make the service that your application provides available to others - either within your own organization or beyond it - you can use Web services technologies to provide a standard Web interface for your service. Web services can be defined as middleware that connects applications together no matter how each application is implemented or where it is located.

Web services operate at a level of abstraction that is similar to the Internet; they can work with any operating system, hardware platform or programming language that can be Web-enabled and are one of the technologies that you can use to implement a service-oriented architecture (SOA).

The WebSphere® Application Server supports a set of Web services standards that support the creation and administration of interoperable, securable, transactionable, and reliable Web services applications. Using the strategic Java™ API for XML-Based Web Services (JAX-WS) programming model, Web service clients can now additionally invoke Web services asynchronously, which means your client can continue processing without waiting on the response. Your JAX-WS Web services can also take advantage of the Web Services Reliable Messaging protocol quality of service where you can be confident that your communication is reliable and reaches its destination while interoperating with other vendors.

The core technologies on which Web services are developed and implemented include:

Programming models

Web Services for Java™ Platform, Enterprise Edition (Java EE)
This specification defines the programming model and runtime architecture for implementing Web services based on the Java language. WebSphere Application Server Version 7.0 is supports Web Services for Java EE specification (JSR 109), Version 1.2.

If you want to know how to implement a Web service interface to an existing application, then deploy your Web service within the application server. To learn more, see Implementing Web services applications.

Java API for XML Web Services (JAX-WS)
This specification simplifies the development of Web services and clients with greater platform independence for Java applications by the use of dynamic proxies and Java annotations. WebSphere Application Server Version 7.0 supports JAX-WS 2.1.
Java API for XML-Based RPC (JAX-RPC)
JAX-RPC enables you to develop SOAP-based interoperable and portable Web services and Web services clients.
Java Architecture for XML Binding (JAXB)
This specification provides an easy and convenient way to map Java classes and XML schema for simplified development of Web services. JAXB leverages the flexibility of platform-neutral XML data in Java applications to bind XML schema to Java applications without requiring extensive knowledge of XML programming. WebSphere Application Server Version 7.0 supports JAXB 2.1.
SOAP with Attachments API for Java interface (SAAJ)
SAAJ is used for SOAP messaging that works behind the scenes in the Java API for XML Web Services (JAX-WS) or Java API for XML-based RPC (JAX-RPC) implementation. You can also use this API to directly write SOAP messaging applications rather than using JAX-WS or JAX-RPC. SAAJ enables you to do XML messaging from the Java platform by making method calls by creating, sending and consuming XML messages over the Internet.
Web Services Invocation Framework (WSIF)
SOAP bindings for Web services are part of the WSDL specification. So when you think of using a Web service, you probably think of assembling a SOAP message and sending it across the network to the service endpoint, using some SOAP client API. The WSDL specification enables for extensibility points which can describe alternate ways of invoking a Web service. A WSIF client can make use of these non-SOAP descriptions to invoke a service in a more efficient way. For example, a Web service provider might offer a SOAP binding for the service and a local Java binding that enables you to treat the local service implementation (a Java class) as a Web service. If the client is deployed in the same environment as the service, then the local Java binding for the service can be used. This provides more efficient communication with the service by making direct Java calls rather than sending and receiving SOAP messages.
To deploy a Web service as a WSIF-enabled service, you first develop and deploy the Web service, then you develop the WSIF client based on the WSDL document for that Web service.

Web services standards

SOAP Message Transmission Optimization Mechanism (MTOM)
XML (Extensible Markup Language)
XML solves the problem of data independence. You use it to describe data, and also to map that data into and out of any application or programming language.
WSDL (Web Services Description Language)
You use this XML-based language to create a description of an underlying application. It is this description that turns an application into a Web service, by acting as the interface between the underlying application and other Web-enabled applications.
SOAP 1.1 and 1.2
SOAP is the core communications protocol for the Web, and most Web services use this protocol to talk to each other.
SOAP Qualities of Service
You can get different qualities of service with WS-ReliableMessaging, depending on the level of durability and transaction support provided by the store used to manage the reliable messaging state. These qualities of service range from protecting against loss of messages across a network, through to protecting against server failure.
WS-Security
IBM® supports Web services security, which is an extension of the IBM Web services engine, to provide a quality of service. The WebSphere Application Server security infrastructure fully integrates Web services security with the Java Platform, Enterprise Edition (Java EE) security specification.
WS-Transactions
WS-Transaction is an interoperability standard that includes the WS-AtomicTransaction, WS-BusinessActivity, and WS-Coordination specifications.
WS-ReliableMessaging
With WS-ReliableMessaging, you can make your SOAP over HTTP-based Web services interoperable and reliable without having to write custom code. For more information, see Adding assured delivery to Web services through WS-ReliableMessaging
WS-Policy
WS-Policy is an interoperability standard to describe and communicate the policies of a Web service so that service providers can export policy requirements in a standard format. Clients can combine the service provider requirements with their own capabilities to establish the policies required for a specific interaction.
WS-MetadataExchange
The WS-MetadataExchange specification defines a mechanism to retrieve metadata from an endpoint. WebSphere Application Server supports the use of the WS-MetadataExchange 1.1 GetMetadata request to return metadata in a response.
WS-SecureExchange
WS-Secure Exchange is an effort to normalize the WS-SecureConversation, WS-SecurityPolicy and WS-Trust suite of specifications.
WS-Trust
Web Services Trust (WS-Trust) is a proposed Organization for the Advancement of Structured Information Standards (OASIS) standard that enables security token interoperability by defining a request/response protocol. This protocol enables SOAP actors, such as a Web services client, to request of some trusted authority that a particular security token be exchanged for another. The trust service, which is provided with WebSphere® Application Service, uses the secure messaging mechanisms of WS-Trust to define additional extensions for the issuance, exchange, and validation of security tokens.

Other Web services and related technologies

WS-Notification
WS-Notification enables Web services to use the "publish and subscribe" messaging pattern. In this pattern a producing application inserts (publishes) a message (event notification) into the messaging system, having marked it with a topic that indicates the subject area of the message. Consuming applications that have subscribed to the topic and have the appropriate authority, receive an independent copy of the message that was published by the producing application.

WS-Notification also enables interchange of event notification between WS-Notification applications and other clients of the service integration bus. By exploiting other service integration bus functionality, you can also use this function to interchange messages with other IBM publish and subscribe brokers such as Event Broker or Message Broker.

Web services and service integration technologies

Web services can use the service integration bus and the Web services gateway to provide a single point of control, access, and validation of Web service requests and to enable control of Web services that are available to different groups of Web service users.

With service integration bus-enabled Web services, you can achieve the following goals:
  • Take an internally-hosted service that is available at a bus destination, and make it available as a Web service.
  • Take an externally-hosted Web service, and make it available internally at a bus destination.
  • Use the Web services gateway to map an existing service - either an internal service, or an external Web service - to a new Web service that appears to be provided by the gateway.

For more information, see Enabling Web services through service integration technologies

A private Universal Description, Discovery and Integration (UDDI) registry
A private UDDI registry provides a way to publish and discover information about Web services that are available within and through your organization. You can use it to make your Web services available to people within your organization, or beyond your organization. A group of companies can use it to share their Web services, or to make them available to others outside the group. At its simplest, a private UDDI registry does for Web services what a business telephone directory does for business addresses and telephone numbers. However, a private UDDI registry is much more than just a directory. It needs to be in order to harness the considerable power and flexibility of Web services. If you publish your Web service to UDDI, you make it available for other people or applications to discover and reuse. This saves development time, effort and cost, and helps minimize the need to maintain several different implementations of the same application.
Web services distributed management (WSDM)
WSDM is an OASIS approved standard that supports managing resources through a standardized Web service interface. Your environment, such as WebSphere® Application Server host or an operating system host that has an exposed resource as a Web service within a single interface is used to manage and control resources. WSDM is a distributed management model, but it does not replace any existing WebSphere Application Server administration models.
Streaming API for XML (StAX)
StAX is an efficient method to change and traverse XML data. In previous releases, if you wanted to manipulate XML schemas and types, you had to use one of two standard mechanisms for parsing your XML data: Documents Object Model (DOM) and Simple API for XML (SAX). StAX is another, more efficient, alternative to manipulate XML data.
Enterprise JavaBeans™ (EJB) 3.0
The EJB 3.0 specification provides the foundation of the development and application programming model for EJB 3.0 applications.

For a complete list of the supported standards and specifications, see the Web services specifications and API documentation.

Concept topic    

Terms of Use | Feedback

Last updated: Oct 21, 2010 5:30:17 AM CDT
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=compass&product=was-nd-iseries&topic=welcwebsvcs
File name: welcwebsvcs.html