5
C H A P T E R
Client Design
W
EB
services take the Web client model to the next level. Developers can write
far more powerful clients whose interaction with Web services provides a rich client
experience. In this environment, client developers need not have control over the
server portion of an application, yet they can still write powerful, rich client applica
tions. This chapter focuses on using the Java platform to design and develop Web
services based clients.
Clients can take advantage of Web services to obtain a wide range of func
tions or services. To a client, a Web service is a black box: The client does not
have to know how the service is implemented or even who provides it. The client
primarily cares about the functionality the service provided by the Web ser
vice. Examples of Web services include order tracking services, information look
up services, and credit card validation services. Various clients running on differ
ent types of platforms can all access these Web services.
One of the principal reasons for implementing Web services is to achieve
interoperability. Clients can access Web services regardless of the platform or
operating system upon which the service is implemented. Not only is the service's
platform of no concern to the client, the client's implementation language is com
pletely independent of the service.
Web service clients can take many forms, from full blown J2EE applications,
to rich client applications, even to light weight application clients, such as wire
less devices. In short, there are many different types of clients that can talk to Web
services. The Java platform provides excellent support for writing Web service
clients. Web services also provide clients a standardized approach to access ser
vices through firewalls. Such access extends the capabilities of clients. Clients
accessing Web services also remain more loosely coupled to the service.
199
New Page 1