Concepts: Web Services for J2EE
Topics
What is a J2EE Web Service?
A Web Service is organized around an architecture containing three main elements:
the Service Registry, the Service Provider, and
the Service Requester. Figure 1
gives an overview of the relationship between these different elements.
Figure 1: -
Web Service architecture
The Service Provider starts by defining the Service Interface through an abstract
Service Description document using the Web Services Description Language (WSDL).
This abstract description is associated to transport and encoding bindings,
and to an address in a concrete Service Description to define a concrete Service
instance also called Service Endpoint or
Port. This concrete description can then
be published in a Service Registry such as Universal Description, Discovery
and Integration (UDDI) to be accessed by any Service Requester. A Service Requester
will use it to select and use a concrete Service Implementation for the Web
Service.
A J2EE Web Service consists in a set of such Ports operating within a container.
The container mediates access to the service and provides the runtime environment.
A client of a Web Service can be another Web service,
any J2EE component, or an arbitrary Java application.
Even non-java or non-Web applications
can use Web services.
Web Service Client View
The Web Service client view is provided by the Port Provider (Service Provider)
and by the container. As shown in the Figure
2 below (in gray), the client view comprises a
Service Interface and a Service Endpoint Interface.
Figure 2: -
Web Service client view
To access a Port of a Web Service,
the client starts by locating the Service Interface using the JNDI APIs. Through
the Service Interface, the client will discover
the methods to use
to access a Port and access the Web Service implementation using the Service
Endpoint Interface. In the client view a Port is considered as a stateless object.
The Service and Service Endpoint Interfaces are defined by the
JAX-RPC specification; however,
the Service Interface behavior is defined by the WSDL Service Description document
provided by the Web Service Provider.
Web Service Server View
The server view of a Web Service
deals with the implementation of the business logic of the service. As defined
in J2EE 1.4, Web Service Endpoint can be implemented
using one of the following approaches:
- Using a stateless session
bean as specified in the JSR
109 and in EJB 2.1 specifications
- Using a servlet as specified in JAX-RPC 1.1
For more information on this two approaches, see
Guidelines: Identifying Session
Beans for session bean-based endpoint, and Guidelines:
Identifying Servlets for servlet-based endpoint.
Reference
The main reference for this page is the Web
Services for J2EE (JSR 109) specification.
|