Friday, 3 December 2010

CONVERTING PROGRAMS FROM MAINFRAME TO UNIX (2)

BASIC SUBSTRUCTURE

There has to be three or four programs that carry the basic infrastructure.

1- A library.java program which contains all the general structures and functions.

2- A program.java program which contains all the structures related with java programs or beans.

3- A global memory file or dir which contains all the DB acces related structures such as Hybernate definitions etc.

library.java has to be instantiated from the beginning of each JSP and it should be possible to be referred to with a simple function from each java program.
A reference to the global memory has to be created at the beginning of each java program.

It is important to design the system early so that the contents of these files are clear.

Library.java
Set the identity of the current lib and program
Read the properties file
Set DB connection parameters
Set all the system variables based on properties values
Set encoding, datetime, user
Program management (invoke, thread processing, stack management)
Input handling(thread processing, STRUTS functions)
Screen and window (normal and modal) processing
STRUTS processing for returning input values from the screens
Dynamic help
DB functions similar to Hybernate
Debug utilities
Mainframe like workfile utilities
Error message processing
Printer management
Original languages program calling/fetching utilities
Exception processing
Connection Pool management
Connections to External routines
Properties utilities
Lib lock processing

Program.java
Input control related to JSP management
Fields related management STRUTS mechanisms
Locking mechanisms
Screen stack and BACK functions
Program termination
WINDOW (position etc) management
General stack management
Edit masks management
Functions converted from the original language but does not exist in JAVA
SORT
Printing substructure
Utility functions for programming
Help substructure
Utilities of the original system

Global memory file is an extension of the Library.java. It should inherit Library.java and add Hybernate definitions etc.