Getting Started : 2. Features Overview : OpenROAD Server : Server Environment
 
Share this page                  
Server Environment
The OpenROAD Server is a lightweight, high-performance middleware environment that is simple to install, configure, and manage. The OpenROAD Server can be installed on Microsoft Windows, UNIX, or Linux and allows your business components to be deployed on the server side, enabling your 4GL applications to serve hundreds and even thousands of users.
The server environment:
Enables n-tiered application architectures
Provides load balancing for efficient use of the database
Offers application state management
Provides database connection pooling
For more information about the OpenROAD Server, see the Server Reference Guide. For more information about installing the OpenROAD Server, see the Installation and Configuration Guide.
Server Components
The OpenROAD Server is comprised of the following components:
OpenROAD runtime
Server COM objects
Administration tools
On Microsoft Windows, the server runs as a Windows service. The service and the server COM objects must be installed and removed using the asreg utility, a 4GL application run by the installer if the server is installed. Users managing the OpenROAD Server can also use asreg to unregister the service and COM objects.
The OpenROAD Server also includes low level COM, Java (JNI), and .NET (C#) interfaces. These resources and the information required to use them are located in folders in the Ingres installation. The only additional resources required for server operation are your 4GL applications.
Stateful and Stateless Applications
There are two fundamentally different approaches to designing an application for deployment on an OpenROAD Server: stateless and stateful. The OpenROAD Server handles both design approaches.
The stateless design presents a purely procedural Remote Procedure Call (RPC) Transaction Processing monitor (TP-monitor) style interface to the world. With a stateless design, no persistent client data or session variables are held in the OpenROAD Server application. Therefore, each procedure must either perform an atomic operation or have the entire session state passed in (and out) with each call. The OpenROAD Server provides a stateless interface through regular 4GL Service Call Procedures (SCPs) and Generated Service Call Procedures (GSCPs), which wrap regular 4GL procedures.
The stateful design gives each client its own session context in an application server process. With such a persistent context, server-side object data and session variables can be created that are private to each client. The stateful design alternative offers richer development and deployment possibilities.
Structured Data
OpenROAD supports structured data in the form of user classes and user class arrays. A user class is analogous to a row of data with a well-defined set of column types, and a user class array is analogous to multiple rows of data with the same column types.
OpenROAD user classes and user class arrays can be nested to any number of levels, allowing the construction of very complex hierarchical data structures to be passed as parameters to remote 4GL procedures.
Integrating Web Servers
HTTP transport in OpenROAD allows HTTP communications between an OpenROAD client and the OpenROAD Server. This capability allows thin client OpenROAD applications to run through a firewall or across domains where trust relationships between machines is not possible. This integration requires the addition of an HTTP web server to the configuration. You can use any of the major HTTP servers including Microsoft Internet Information Server (IIS), Apache, and so on.
You can implement security on the web server like any other web application, and additional security can also be provided in the application itself.
A simple “gatekeeper” application is used to forward requests from the client to the OpenROAD Server. Sample applications are located in the Ingres installation folders with instructions on how to customize and deploy these interfaces.
The OpenROAD .NET Gatekeeper instructions are located in:
%II_SYSTEM%\ingres\ordotnet\Gatekeeper2\readme.txt
The OpenROAD Java Gatekeeper instructions are located in:
%II_SYSTEM%\ingres\orjava\Gatekeeper2\readme.txt
Note:  HTTP transport is required for mobile applications because Windows CE and Windows Mobile do not support Distributed COM (DCOM)-based communications.
For more information about HTTP transport, see HTTP Transport.
Visual Server Administration
Configuring and managing your 4GL server applications are simplified when you use the OpenROAD Server Manager, which is installed when you install the OpenROAD Server. You can access the Server Manager on the Workbench Manage tab.
If OpenROAD Development is installed on a machine where the server is installed, OpenROAD Workbench includes the Manage tab that incorporates all of the functionality of the former Visual OSA application directly into the Workbench IDE.
For more information about deploying and managing server applications, see the Server Reference Guide.