|
|
|
|
|
Using Web Services
Effectively
This document describes guidelines for designing and implementing Web services on the JavaTM 2
Platform, Enterprise Edition 1.3 (J2EETM 1.3). Web services are an important component in the J2EE platform, as
they provide for loosely-coupled communication between enterprise systems. They are ideal for integrating disparate enterprise
systems, particularly those systems that have evolved over time. By enabling existing enterprise resources to use Web services,
these resources can be expanded to provide services to a wider variety of clients. Web services also enable enterprise systems to
expose business functions to Web-enabled clients.
The document begins with a discussion of the Web service processing and interaction models. It describes the two principal Web
service models -- a document-oriented model and a Remote Procedure Call-oriented model -- from which the synchronous and asynchronous Web
service architectures are derived. Some of the issues to be considered for designing a Web service interface, including granularity of
services, the Java API for XML-based Remote Procedure Call (JAX-RPC), and object-centric and document-centric parameter binding. After
covering design issues, the document gives some guidelines on how to architect a Web service. It covers receiving and responding to
requests, delegating to business logic, and exposing a Web service. To help illustrate, the document shows how the Java Pet Store
sample application has implemented Web services using the J2EE technologies. Whenever possible, recommended practices are highlighted.
It does not cover such areas as security, the Java API for XML Messaging (JAXM), J2EE 1.4, and quality of services such as
availability, reliability, transactions, and so forth. These areas are currently beyond the extent of this document and may be covered
in future revisions.
This document assumes that you are familiar with such concepts as synchronous and asynchronous communication and messaging systems,
enterprise application integration, XML, and the J2EE design patterns. Refer to the website http://java.sun.com/j2ee/
for more information on these areas.