Chapter 5 Client Design
217
5.3.1.4
Summary of Communication Model Guidelines
Table 5.1 summarizes the communication models for Web service clients.
Table 5.1
Client Communication Modes
Client
Considerations
Stub
Dynamic Proxy
DII
Portable client code
Yes, in the J2EE plat
Yes
Yes
across JAX RPC
form when an appli
implementations
cation uses a neutral
means for accessing
the stubs. (For an
example, see Code
Example 5.2.) Since
stubs are bound to a
specific JAX RPC
runtime, reliance on
JAX RPC specific
access to a stub may
not behave the same
on all platforms. Stub
code needs to be gen
erated for an applica
tion.
Requires generation
Yes
No. A tool may be
No
of code using a tool
used to generate
JAX RPC value
types required by a
service endpoint
interface (but not
serializers and
other artifacts).
Ability to program
Yes, but the WSDL
Yes, but the client
Yes
matically change the
must match that used
side service end
service endpoint
to generate the stub
point interface must
URL
class and supporting
match the represen
classes.
tation on the server
side.
Supports service
Yes
Yes
No. All are
specific exceptions
java.rmi.Remote
exceptions. Checked
exceptions cannot be
used when calls are
made dynamically.