Data flow through the LN architecture

The database driver provides an interface between the LN application virtual machine and the specific RDBMS server being used. This section describes the flow of data through LN.

When a user performs an operation at a GUI workstation, the display server interprets the input and sends the information to the LN application virtual machine. Based on the information that the virtual machine receives, the application virtual machine runs the appropriate application object.

When a running application object requires information that is stored in the database, the application virtual machine sends the request to the database driver. Data requests from the client applications are RDBMS independent and are made with LN SQL, an RDBMS independent SQL language.

When the application virtual machine runs a database query from an application object, the virtual machine first determines whether a running database driver is available to process the query. If no database driver is running, the application virtual machine starts a new instance of the database driver. This is also the case if the running database driver instances are communicating with a database server other than the one storing the required data. The application virtual machine parses the LN SQL database query it receives from the application object. Then it sends an internal representation of the query to the database driver. The internal representation of the query that the database driver receives is still RDBMS independent.

The database driver translates the database query into an appropriate database-specific query using SQL statements compatible with the RDBMS being used. Each database driver takes advantage of the design of the particular RDBMS that the driver supports. The resulting SQL statements are valid for the RDBMS and provide the best possible performance. The RDBMS specific SQL statements are then submitted to the RDBMS server, which processes the data request.

After the RDBMS has processed the query, it returns the data to the database driver. Any error conditions are caught and handled by the database driver. The database driver then returns the data and status information to the application virtual machine. The information is provided to the application that requested the information. The application virtual machine can also send a message to the display server, which displays an appropriate message on the user’s workstation.