Java Reference
In-Depth Information
Web applications generally break down when advanced user controls or com-
plex data manipulation are a requirement. In such cases, rich clients that use
native operating system widgets like tabs, tables, tree views, and embedded objects
are preferred. Rich clients allow for a much more powerful user interface, but are
somewhat more difficult to deploy and require more care to achieve the level of
performance and security a web application can offer. Examples of rich client
technologies include Swing in Java and WinForms in . NET .
Recently the two concepts have been mixed into hybrid clients to attempt to
achieve the benefits of both web applications and rich clients. Very small rich cli-
ents with advanced controls can be downloaded to the users' desktop, perhaps
transparently via the web browser. This hybrid-rich client does not contain any
business logic and it may not even have the layout of its user interface built in.
Instead, the application look and feel and the available business functionality are
configured via a web service, or a web application that uses XML as an interface
between the rich client and the server. The only disadvantage is that more soft-
ware is required to both develop and deploy such applications. For example, both
Adobe Flex and Laszlo from Laszlo Systems are based on Macromedia's Flash
browser plug-in.
Then of course there is the epitome of all hybrid presentation layers, Ajax.
Ajax, a term coined by Jesse James Garrett, used to be an acronym for Asynchro-
nous JavaScript and XML , until everyone realized that it need not be asynchro-
nous, or XML . So now Ajax has simply come to mean “a really rich web-based user
interface driven by a lot of really funky JavaScript.” Ajax is a new approach to
using old technology to build very rich and interactive user interfaces. Google
demonstrates some of the best examples of Ajax, putting it to good use with its
Gmail, Google Maps, and Google Calendar applications.
i BATIS can be used for both web applications, rich client applications and
hybrids. Although the presentation layer does not generally talk directly to the
persistence framework, certain decisions about the user interface will impact the
requirements for your persistence layer. For example, consider a web application
that deals with a large list of 5,000 items. We wouldn't want to show all 5,000 at
the same time, nor would it be ideal to load 5,000 items from the database all at
once if we weren't going to use them right away. A better approach would be to
load and display 10 items at a time. Therefore, our persistence layer should allow
for some flexibility in the amount of data returned and possibly even offer us the
ability to select and retrieve the exact 10 items that we want. This would improve
performance by avoiding needless object creation and data retrieval, and by
Search WWH ::

Custom Search