Data flow through the LN architecture
Note that the database driver provides an interface between the LN application virtual machine and the specific RDBMS server you use. The remainder of this section describes the flow of data through LN.
If 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 the virtual machine receives, the application virtual machine runs the appropriate application object.
If a running application object requires information 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 made using LN SQL, which is an RDBMS-independent SQL language.
If 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, or if the running database driver instances are communicating with a database server other than the one storing the needed data, the application virtual machine starts a new instance of the database driver. The application virtual machine parses the LN SQL database query the virtual machine receives from the application object and sends an internal representation of the query to the database driver. The internal representation of the query the database driver receives is still RDBMS-independent.
The database driver uses the SQL statements compatible with the specific RDBMS being used to translate the database query into an appropriate query. Each database driver takes advantage of the design of the particular RDBMS that the driver supports, so 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 processes the query, the RDBMS returns the data to the database driver. The database driver catches and handles any error conditions. The database driver then returns the data and status information to the application virtual machine, and then the driver provides the information 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.