RGIOverviewThe basic idea of this product is to separate the design of an application graphic layout, from the design of the algorithmic part. Now, applications running on traditional departmental systems expect an output displayed on character-based terminals. With the coming of multimedia technologies, there is an increasing need to take advantage of new product capabilities, such as browsers and new generation languages, which can manipulate these new data types. Along with these new trends, we should mention a variety of other programs, already developed on server machines and the know-how of the engineers who have developed these programs over the years. RGI wants to mediate these two requirements in order to gradually switch from a traditional development to a more advanced way to show data. While1 suggests a series of solutions, which can be executed systematically or individually and which offers a wide choice to the customer. All these solutions have the same basic architecture and want to give the customer a wholly new developing tool. On this tool they can create new programs, then provide other tools, which can easily interface with old departmental applications (AS/400), and produce dedicated client for graphic representation of data. Architectural Overview of the ProductBasic architecture for the above purposes implies three main logical environments. The first, a low-level environment, is the so-called client environment, which will run the graphic interface. The second will be used to develop new programs, which will interact with client level. The third environment (optional) includes a set of libraries and tools, which, with the necessary changes, will let the current customer programs interact with the new graphic programs. The picture below shows these three environments. The first includes Java applets, which will be the program graphic interfaces. These applets might be developed using tools that will help to design the mask layout. In the center there is the real engine of the architecture. It is composed by some elements: the client interface (always present) and the Library for interfacing with the departmental system and TSMART (these two ones are optional. On the leftmost side of the picture there is the DEPARTMENTAL environment (e.g. AS/400), which includes all programs currently used. If you are developing new parts only, this part will not be used. Let's now describe each individual component in more detail. ClientJava applets stay in the center of the client level. These programs work referring to data description tables and talk to the server side through appropriate APIs. Once launched, they connect to the server level using these APIs. They will not operate until the first server application (or DEPARTMENTAL system) output comes. Then they will interpret and represent data following the rules of the data description tables. After representation on screen (or other multimedia tools), they will wait for both user commands (from mouse or keyboard) and possible updates from the server application. These applets will not take any algorithmic decision since they will act as simple starters of programs running on server or DEPARTMENTAL system. Whenever an element represented on the client machine changes its status, a message will be sent to the server machine. ServerIt is the real architecture core, including three main elements:
The first element only is the essential part of the architecture. Client interfaceThis element interacts with Java applets through a protocol, which is able to define the fields to be represented, in case of transmission to the client, and the fields that were changed, in case of transmission to the server. In case of transmission to the client, not only data, but also their behavioral attributes (for example: only visible, modifiable etc.) will be transferred. As for the fields which have been changed on client machine, this module will check if their syntax is correct. In other words, whenever the screen on the client machine is modified, a piece of information comes and is checked. Then an error message or a validation message is sent to the client, if necessary. There are basically three types of event which can be sent from the client:
The first event (Inquiry) is generated by a data request from a Java applet. The client interface, which can be the program itself, will send the value for the requested data. When the user selects one of the elements displayed by the Java applet on the screen, the Choose event will be invoked. The program will be able to provide all the variations of the above field or other fields on the screen. The Validate event causes one or more data to be sent. The interface will receive this data, will elaborate them and will continue to manage the application. RGI interface libraryThis element will be developed if the client wants to use the current applications, available on the DEPARTMENTAL system, with the slightest changes. In practice, you will have to replace read and write operations to video-terminals with some RGI calls. This will make it easy to interface with the RGI environment and will keep the current application logic. The library on the server side must have its software layer on DEPARTMENTAL system communicating with it. The library, on its turn, will interact with the client interface within the above context. TSMARTThis element, the last on the server, allows the customer to leave the applications on the DEPARTMENTAL system unchanged. To do this, it acts as the output of these applications, interpreting their description files through a default metalanguage, the description files of the screens. In practice, it is a real video interpreter, which receives screens from programs (through HLLAPI interface), isolates their significant fields and is able to send to the program changes made by the user to form fields. This is the cheapest solution from the development point of view, but it slightly increases the workload at run time. ConclusionsThese are some possible solutions:
|