OpenROAD Server Overview
The following figure is a high-level conceptual view of the OpenROAD Server and the components with which it interacts. This figure generally represents the level of detail that a programmer needs to conceptualize the OpenROAD Server.
The components that comprise the OpenROAD Server’s universe are:
These components are discussed in the following sections.
OpenROAD Server
The OpenROAD Server enables business logic written in the OpenROAD 4GL language to be accessed by client applications. The OpenROAD Server is multi-threaded and allows concurrent access from a number of client interfaces. These client interfaces include the following:
• Java clients (JSP, Java Servlets, Java applications)
• .NET clients (VB.NET, C#, ASP.NET)
• OpenROAD clients
The OpenROAD Server provides access to the Ingres RDBMS Server. It also can access the Ingres Enterprise Access Server, which provides transparent access to other databases such as Oracle, Microsoft SQL Server, or IBM UDB.
Configuration information for the OpenROAD Server is stored in a JSON configuration file (orserver.json). When enabled, OpenROAD Server events are written to the SPO log file.
The OpenROAD Server uses COM or DCOM to communicate between the OpenROAD Server clients and the OpenROAD Server. COM and DCOM provide location transparency and data access from the OpenROAD Server and its associated clients.
The OpenROAD Server uses the Ingres communications infrastructure to communicate between itself and the Ingres or Enterprise Access Server. The Ingres communications infrastructure provides location transparency and data access between the OpenROAD Server and the Ingres or Enterprise Access Servers.
OpenROAD Server Clients
Several types of OpenROAD Server clients are supported. A brief description of these clients follows.
OpenROAD Server Java Client
Enables a Java application to access business logic resident in the OpenROAD Server. The Java classes provided wrap the underlying OpenROAD Server COM interface used to access the OpenROAD Server.
This interface effectively makes the OpenROAD 4GL business logic hosted by the OpenROAD Server appear as Java classes.
OpenROAD Server .NET Client
Enables Microsoft Common Language Runtime (CLR) applications to access business logic resident in the OpenROAD Server. The .NET classes provided wrap the underlying OpenROAD Server COM interface to access the OpenROAD Server.
This interface effectively makes the OpenROAD 4GL business logic hosted by the OpenROAD Server appear as .NET classes.
OpenROAD Server COM Client
Enables Microsoft COM applications to access business logic resident in the OpenROAD Server. These COM objects provided access the OpenROAD Server.
This interface effectively makes the OpenROAD 4GL business logic hosted by the OpenROAD Server appear as COM objects. This component also provides the underlying connectivity for all the other OpenROAD Server clients.
OpenROAD Client
Enables access to business logic resident in the OpenROAD Server. OpenROAD client applications access the 4GL business logic using the OpenROAD RemoteServer system class.
OpenROAD HTTP Client
Enables access to a J2EE or IIS web server that has the OpenROAD Server Client .NET Client interface or the OpenROAD Server Java Client interface installed. Either a Java Server Page (JSP) or ASP.NET client is then used to access the OpenROAD Server 4GL business logic. This interface uses HTTP to call the OpenROAD Server.
Note: Although the client uses HTTP to access the OpenROAD Server through a web server port (typically 80 or 443) and can be accessed from outside a firewall, the web server must be inside the firewall so that it can access the OpenROAD Server using COM or DCOM requests.
JSON Configuration File
All configuration information for the OpenROAD Server is stored in a JSON configuration file (orserver.json). The OpenROAD Server accesses this configuration information to control its operation and behavior.
Operational control information is maintained using the Server Manager. The information falls into two general categories:
• Server configuration information
• Application configuration information
The server configuration information provides defaults and systemwide configuration information. For a more detailed description of the server configuration, see
OpenROAD Server Pooler Event Log.
SPO Log
This file contains a log of all major events that occur in the OpenROAD Server. This file is key to understanding the OpenROAD Server behavior. For a more detailed description of the server configuration, see
OpenROAD Server Pooler Event Log.
Ingres or Enterprise Access Servers
The OpenROAD Server can access SQL database services provided by the Ingres Server or other databases using the Enterprise Access server. The databases that the Enterprise Access Server supports include Oracle, IBM UDB, and Microsoft SQL Server.
The OpenROAD Server allows a single database session to be shared by tens to hundreds of concurrent OpenROAD Server clients. This greatly increases the scalability and performance of the client applications by eliminating the overhead associated with the more traditional client/server operation.