Better user experience, Object distribution, The best of webobjects – Apple WebObjects 5 User Manual
Page 67

C H A P T E R 6
WebObjects Desktop Applications
Java Client Features
67
Apple Computer, Inc. January 2002
Better User Experience
Java Client applications differ from HTML-based WebObjects applications in that
the user interface is built on Sun's JFC/Swing classes, rather than on HTML. This
allows Java Client applications to take advantage of the rich user interface elements
the Swing toolkit offers. This is perhaps the primary reason why you'd want to
choose to build a WebObjects application using Java Client: the need for a rich, more
interactive user interface.
Rich user interfaces allow you to build more complex and interactive applications
than HTML allows. As the user interface becomes more robust, it is easier to display
and manipulate complex data. The more active feel of desktop applications gives
users the ability to work more efficiently: desktop applications feel like they are
closer to the data store.
Object Distribution
Java Client is built on the paradigm of object distribution. It distributes Enterprise
Objects between an application server and one or more clients—Java applications
or applets. It is up to the developer to control how this distribution occurs.
In all multi-tier intranet applications, it’s vitally important that the developer has
control over where the business logic sits. Some information, such as credit card
numbers and passwords, are important elements of business logic but should never
be sent to the client. Likewise, certain algorithms represent confidential business
logic and should live only on the application server. By partitioning your business
logic into a client side and a server side, you can improve performance and secure
business rules and legacy data.
In pure Java applications, object distribution is crucial in protecting business rules.
Since Java byte code can quite easily be decompiled, it's important that you have
control over the objects which live on the client. Object distribution, coupled with
remote method invocation, lets you build secure, high-performance applications.
The Best of WebObjects
As with any type of WebObjects application, Java Client gives you a lot for free. Its
tight integration with Enterprise Objects takes care of many basic database access
tasks for you. Without writing a single line of code, Java Client allows you to
connect user interface widgets to database actions such as saving, retrieving,