| By Mauro Carniel | Article Rating: |
|
| October 15, 2008 08:45 AM EDT | Reads: |
8,735 |
Before describing solutions available for rich client application development, it would be a good idea to explain what exactly a rich client application is and which rich client topologies can feasibly be built using the Java platform.
In the main, a rich client is a part of a software system that contains a user interface (UI) and whose front end is "rich," i.e., the user interface has rich graphical content and is highly interactive; a rich client application is also called a desktop application, since it provides content and functionalities that are usually provided by applications on the desktop of your own PC (access to local resources, complex user interface, the capability to connect to remote services, etc.).
Enterprise applications are an example of applications that require a "rich" front end, that is, applications employed in enterprises to manage some business process and data, such as CRM and SCM; in that context, having a "rich" front end becomes a determining and critical factor to ensure business productivity.
The term "client" indicates the existence of another layer in the software system, the "server" that usually provides services to the client side. The two layers used together compose a client/server application. A client/server application can usually combine two or three layers, so it is possible to distinguish several rich-client topologies:
• Two-layered client/server applications, where the client side includes both the presentation (user interface) and the business logic (that is, the part of the application that contains data access and manipulation logic); the server side is usually made up of an information system layer, such as a database.
This kind of client is also called a fat client or thick client, because the client could operate independently from other systems, in some cases without depending on a server-side component.
Applications developed using Visual Basic or Delphi are examples of two-layered rich clients. Using the Java platform, it is possible to realize these kinds of applications using, for instance, the Swing toolkit for the user interface and some other technology for database access and manipulation; the latter can be developed using different solutions:
- Using the JDBC directly to access the database
- Using an ORM tool (Object-to-Relational Mapping) or a more simple data mapper tool whose purpose is to abstract the entity-relational model of the database by mapping it to objects and relations between objects
- Using an entity persistence layer, based on JPA, a recent technology based on J2SE 1.5/1.6 having features similar to the ones supplied by an ORM tool
• Three-layered client/server applications, where the client side includes only the presentation (user interface), the server side is focused on the business logic, and the third layer is related to the information system tier, i.e., the database; the server side has the task of providing services to the client side, so it must be accessible from the client side using some kind of communications protocol.
Published October 15, 2008 Reads 8,735
Copyright © 2008 SYS-CON Media, Inc. — All Rights Reserved.
Syndicated stories and blog feeds, all rights reserved by the author.
More Stories By Mauro Carniel
Mauro Carniel is an architect at Tecnoinformatica Group. He has more than 9 years of enterprise software development experience utilizing J2EE-based technologies, including JSP, JSF, Swing, EJB. He started focusing more on GUI-based client/server Java applications since 1998. He has a MSc in Information Technology from University of Udine, Italy.
![]() |
pettevi 10/30/08 08:31:25 AM EDT | |||
Thanks Mauro, don't forget Flamingo Swing component suite (https://flamingo.dev.java.net) or SwingX (https://swingx.dev.java.net) either. Or the other dozen toolkits out there that don't really raise to the same quality level. |
||||
- Practical Approaches for Optimizing Website Performance
- SQL Anywhere Server and AJAX
- The Difference Between Web Hosting and Cloud Computing
- Ajax in RichFaces 3.3, JSF 2 and RichFaces 4
- Cloud Computing on Gartner's Top 10 List and SYS-CON Events' 2010 Calendar
- IBM Hardware Chief, Intel VC Exec Arrested in Insider Trading Scam
- US Post Office Hops a Ride on NetSuite’s Cloud
- Gang of Four Creates Cloud BI Stack
- Tactical Cloud Computing Panel at 1st Annual GovIT Expo
- Confessions of a Ulitzer Addict
- AJAX World RIA Conference & Expo Kicks Off in New York City
- An Introduction to Abbot
- What is Web 3.0?
- AJAXWorld RIA Conference & Expo 2009 West: Call for Papers
- Interviewing Java Developers With Tears in My Eyes
- Adobe Enters Cloud Computing with LiveCycle
- REA Is Where RIA Becomes the Norm
- RIAs for Web 3.0 Using the Microsoft Platform
- Practical Approaches for Optimizing Website Performance
- Social Media Terrorists
- Building a Drag-and-Drop Shopping Cart with AJAX
- What Is AJAX?
- Google Maps! AJAX-Style Web Development Using ASP.NET
- Flashback to January 2006: Exclusive SYS-CON.TV Interviews on "OpenAjax Alliance" Announcement
- AJAXWorld Conference & Expo to Take Place October 2-4, 2006, at the Santa Clara Convention Center, California
- AJAX Sponsor Webcasts Are Now Available at AJAXWorld Website
- How and Why AJAX, Not Java, Became the Favored Technology for Rich Internet Applications
- "Real-World AJAX" One-Day Seminar Arrives in Silicon Valley
- AJAXWorld University Announces AJAX Developer Bootcamp
- AJAX Support In JadeLiquid WebRenderer v3.1




































