> List of tutorials for developing a Fat-Client in Java

Index - Advanced Java Fat-Client-Development

* For this document and all references (links) please obey the hints and regulations concerning copyright, disclaimer and trademarks.

  • The owner of this web-site (www.javascout.biz) is not responsible for the content of web-sites linked within this document or linked within other documents of www.javascout.biz.

  • If this document or other documents of this web-site (www.javascout.biz) infringes your rights or you think that rights of others (third parties) are infringed, please inform the author.
    An e-mail can be sent by clicking onto the 'hungry mailbox' in the upper right corner.

Last revision of this document:
2006-08-30

This document lists all documents that cover advanced know-how to develop a Fat-Client in Java.
These documents mainly deals with
* the usage of prepared methods incorporated in the Base-classes or
* code that makes the GUI cuter and more user-friendly.

Shortcut:

This document is split into two areas:

Credits:

None for this document; it is just an index of other documents.

Prerequisites:

Step by step instructions:

Preparation

The steps till now have to be done once per machine and all 'Projects' (of Eclipse) can resort to the preparation made.
The following steps have to be done for each 'Project'.

top.

Develop the Start-Frame (Command-Center):

Task

Link to document(s) with sample code

Link to document(s) with detailed description or theory

Mandatory steps to create the Start-Frame as CommandCenter
The Start-Frame itself has just the function to allow the start of Task-Frames to perform Business-Tasks.
If you are prototyping or in an early development phase, implementing just these steps will create a sufficient environment to start Task-Frames and develop and test Business-Tasks.

Code for class JS_ProjAssist_CommandCenter,
Code for class JS_ProjAssist_CommandCenter__ActionHandler,

File with the xml-structure for language dependent GUI-elements,
File with the xml-structure for the Business-Tasks,
File with the xml-structure for the Connections to database-system and Java Application Server,

Mandatory steps for developing a Start-Frame,

Final steps to create the Start-Frame as CommandCenter
These steps will implement features that are neccessary to let a user work with the application (e.g. verifying of entered selections) or make the GUI more 'sexy' (e.g. changing the border of e field if it 'has the cursor').


Final steps for developing a Start-Frame,

top.

Develop a Task-Frame (to handle Business Tasks):

Task

Link to document(s) with sample code

Link to document(s) with detailed description or theory

Mandatory steps to create the Task-Frame to maintain data of a Business-Task
The Start-Frame itself has just the function to allow the start of Task-Frames to perform Business-Tasks.
If you are prototyping or in an early development phase, implementing just these steps will create a sufficient environment to develop and test Business-Tasks.

Code for class JS_ProjAssist_Project,
Code for class JS_ProjAssist_CommandCenter__ActionHandler,

Mandatory steps for developing a Task-Frame,

Final steps to create the Task-Frame to maintain data of a Business-Task
These steps will implement features that are neccessary to let a user work with the application (e.g. verifying of entered selections) or make the GUI more 'sexy' (e.g. changing the border of e field if it 'has the cursor').


Final steps for developing a Start-Frame,

top.

Develop Business Objects (BO) and Data-Base-Access (DBA) Objects:

Task

Link to document(s) with sample code

Link to document(s) with detailed description or theory

If you are not familiar with the pattern of DBA-Objects and Business Objects,
it might be confusing and boring to code the whole bunch of DBA-Objects and BO in one go.
To gain background information and to check after the implementation of a smaller part of your code that it is working, I recommend the following approach:
* Browse through the documents with the general and the detailed overview.
* Implement the Business Object General Class where the attributes (variables) and the Return-Codes are defined.
* Implement the Business Object Client-Side Class.
* Comment out' the calls of methods of Server-Side Business Objects.
* You might return to the development of the Task-Frame, define the Client-Side BO in it, react to the 'Store'-button and code the tranfer of the values from the entry-fields to the attributes of the BO.
You can use the debugger to verify that the transfer is as expected.

* Implement the Database-Access Objects for the low-level access to the database.
* Implement the Server-Side BO.
* In the Client-Side BO, implement the calls to the methods of the Server-Side BO.

JS_ProjAssist_Project_BO
(General Class for the Business Object)

JS_ProjAssist_Project_BOC
(Client-Side Class for the Business Object)

JS_ProjAssist_Project_DBA
(Class for low leved DB-access)

JS_ProjAssist_Project_BOS
(Server-Side Class for the Business Object)

Using Business Objects to handle data-storage and retrieval
Business Object, Overview
Business Object, General Class,  
Business Object, Client-Side Class,  

Using Data-Base-Access (DBA) Objects for low level access to database-tables
Business Object, Server-Side Class,  

If you are an experienced developer of DBA-Objects and Business Objects and you just need a reference and a checklist,
I recommend the following approach:
* Code the Database-Access- (DBA-) Object.
* Code the Business Object General Class where the attributes (variables) and the Return-Codes are defined.
* Code the Business Object Server-Side Class with the access to one or more database-tables.
* Code the Business Object Client-Side Class
For the first tests I recommend to use a local database – so do not code the access to data held on a Java Application Server yet or 'comment out' these commands.

JS_ProjAssist_Project_DBA
(Class for low leved DB-access)

JS_ProjAssist_Project_BO
(General Class for the Business Object)

JS_ProjAssist_Project_BOS
(Server-Side Class for the Business Object)

JS_ProjAssist_Project_BOC
(Client-Side Class for the Business Object),
 

Using Data-Base-Access (DBA) Objects for low level access to database-tables
Using Business Objects to handle data-storage and retrieval
Business Object, Overview
Business Object, General Class,  
Business Object, Server-Side Class,  
Business Object, Client-Side Class,  

Create Database and Database-Table(s)
I


Business Object, Overview ,
Business Object, General Class ,
Business Object, Client-Side Class ,
Business Object, Server-Side Class ,

Define the XML-structure with the parameters for connection to the database and connection to a Java Application Server (JAS)
D


Using Data-Base-Access (DBA) Objects for low level access to database-tables ,

Implement the code for access to data held on a Java Application Server (JAS)
D


Using Data-Base-Access (DBA) Objects for low level access to database-tables ,

top.

Index of advanced topics:

Document

Link to detailed description

The CommandCenter as Start-Frame for an application
The 'CommandCenter' performs all requiered steps at the start of an application (e.g, connection to a database or Java-Application-Server, reading the language-specific text-elements) and allows to select (Sub-)Tasks that handle business-cases the application is written for.

Standard implementation of the Command Center layout
(implemented in the base-class JSBS_StartFrame)

The Task-Frame to handle Business-Cases
Task-Frames are started out of the 'Start-Frame' (CommandCenter).
With this frames, Business-Tasks are handled.
Like the standardized CommandCenter-Layout in the base-class JSBS_StartFrame, the base-class JSBS_TaskFrame has several GUI-elements pre-defined to shorten the development-time and to assist in achieving a similar style on all Business-Tasks.

Standard GUI-layout-elements for a Start-Frame (implemented in the base-class JSBS_TaskFrame)

Business Objects to handle the persistance of data
In simpler words: a guideline to write to / read from databases.
This document covers the development of a 'Base Class' (for all Business Objects),
a Business Object modelling a business-requierement,
a Business Object for the client-side handling the transfer to / from GUI-elements and
a Business Object for the server-side handling the operation on the database.

Business Object, Overview ,
Business Object, General Class ,
Business Object, Client-Side Class ,
Business Object, Server-Side Class ,

Data-Base-Access(DBA) Objects to handle the low level access to database-tables
DBA Objects do the real SELECT, INSERT, UPDATE and DELETE operation on the database.
These operations are not included in the Server-Side Business Objects for the following reasons:
* Avoid overloading of Business Objects with code as some Business Objects have to collect data from several database-tables.
* Have a clear separation between the attributes of database-tables and variables of Business Objects – mainly to avoid confusion and typing errors.

Using Data-Base-Access (DBA) Objects for low level access to database-tables ,

top.