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