| By Mauro Carniel | Article Rating: |
|
| October 15, 2008 08:45 AM EDT | Reads: |
8,826 |
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,826
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. |
||||
- Cloud Computing on Gartner's Top 10 List and SYS-CON Events' 2010 Calendar
- Confessions of a Ulitzer Addict
- IBM Hardware Chief, Intel VC Exec Arrested in Insider Trading Scam
- Tactical Cloud Computing Panel at 1st Annual GovIT Expo
- My Thoughts on Ulitzer
- Ulitzer.com Named Exclusive "New Media" Sponsor of Cloud Computing Conference & Expo
- Moving Your RIA Apps into the Cloud: Seven Challenges
- Adobe’s Aiming ColdFusion at Multiple Clouds
- Social Media on Ulitzer - Strategy Nets New AUM for RIA
- Windows 7 – Microsoft’s First Step to the Cloud
- Ulitzer Provides a Powerful Social Journalism Platform
- Jill Tummler Singer, Deputy CIO of CIA, Keynotes at GovIT Expo
- Practical Approaches for Optimizing Website Performance
- The Difference Between Web Hosting and Cloud Computing
- Cloud Computing on Gartner's Top 10 List and SYS-CON Events' 2010 Calendar
- Ajax in RichFaces 3.3, JSF 2 and RichFaces 4
- Confessions of a Ulitzer Addict
- IBM Hardware Chief, Intel VC Exec Arrested in Insider Trading Scam
- Tactical Cloud Computing Panel at 1st Annual GovIT Expo
- US Post Office Hops a Ride on NetSuite’s Cloud
- My Thoughts on Ulitzer
- Ulitzer.com Named Exclusive "New Media" Sponsor of Cloud Computing Conference & Expo
- WPF Controls by DevExpress
- Moving Your RIA Apps into the Cloud: Seven Challenges
- 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
- Where Are RIA Technologies Headed in 2008?
- Struts Validations Framework Using AJAX

































