| By Mauro Carniel | Article Rating: |
|
| October 15, 2008 08:45 AM EDT | Reads: |
7,747 |
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 7,747
Copyright © 2008 SYS-CON Media, Inc. — All Rights Reserved.
Syndicated stories and blog feeds, all rights reserved by the author.
About 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. |
||||
- AJAX World RIA Conference & Expo Kicks Off in New York City
- What is Web 3.0?
- AJAXWorld RIA Conference & Expo 2009 West: Call for Papers
- AJAX and RIA 2009: More Choices, Tough Decisions
- Ulitzer’s Amazing First 30 Days in Public Beta
- SYS-CON Announces Government IT Conference & Expo
- RIAs for Web 3.0 Using the Microsoft Platform
- REA Is Where RIA Becomes the Norm
- Why an Application Grid?
- "Government IT Expo" to Highlight Cloud Computing and SOA
- AJAX World RIA Conference & Expo Kicks Off in New York City
- What is Web 3.0?
- Developing Rich Client Applications Using Swing - II
- AJAXWorld RIA Conference & Expo 2009 West: Call for Papers
- AJAX and RIA 2009: More Choices, Tough Decisions
- AJAX World RIA Conference Awards Announced
- WebORB Launched for Flex, Flash, AJAX and Silverlight
- Appcelerator Revolutionizes UI Prototyping
- Adobe Takes LiveCycle into the Cloud
- Ulitzer’s Amazing First 30 Days in Public Beta
- 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








































