| CONTENTS | PREV | NEXT | INDEX | J2EE BluePrints |
This chapter has discussed various types of J2EE clients, as illustrated in Figure 3.1.
In general, J2EE applications should use Web clients when possible. With the help of technologies such as DHTML and JavaScript, Web browsers can support reasonably powerful and fast user interfaces. Additional capabilities can be provided by using applets. Java applets can be used in conjunction with the browser using HTML or XML over HTTP for additional enhancements. A Java applet can also communicate with the middle tier for further control and flexibility. The Web browser is a truly universal Web client, so for simple user interfaces, and for Internet applications, it is the client of choice.
Application clients should be used when the data model is complex and cannot be expressed through the Web interaction model. Application clients are well-suited for intranet enterprise distribution. They can provide a richer user experience and blend well with the desktop windowing environment. However due to the increased complexity of such clients, there are reasons to avoid them in favor of Web-based applications. What's more, ongoing enhancements to the Web client speed and functionality will continue to erode the need to deploy stand-alone clients for all but a handful of cases.
The use of application clients on the open Internet is not straightforward because of distribution, deployment, security, and firewall issues. These clients are best suited for the intranets, where they can provide a more featureful user interface to the user and provide integrated security. Implementation of stand-alone clients requires more effort.
Special purpose application clients can be used for administrative and management tasks. These clients are not intended to be distributed to every user, and often have a minimal user interface. They perform specific tasks, perhaps invoked automatically by the system, through means external to the J2EE specification.
Use of enterprise information system clients should be limited to simple, well-understood management or administrative tasks.
The Java programming language is preferred for stand-alone clients, although similar capabilities may be possible with languages other than Java.