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.