OpenROAD
OpenROAD stands for "Open Rapid Object Application Development". It is a software product of Actian Corporation.

OpenROAD is a fourth-generation programming language (4GL) which include a suite of development tools, with built-in Integrated development environment (IDE) (Written in OpenROAD), Code Repository, allowing applications to be developed and deployed on Microsoft and UNIX/LINUX platforms.

History
The history of OpenROAD is closely tied to that of the Ingres relational database.

OpenROAD started in the early 1990s as a product called Windows 4GL. When Ingres was re-badged as OpenIngres, the new name of OpenROAD was born. Since that time it has been through a number of major developments.

The Ingres Product set, (marketed by ASK Corporation, Computer Associates, Ingres Corporation and then Actian) was popular in the governments of North West Europe, and can be found in many government departments. 
OpenROAD née Windows4GL appeared in beta form on the SUN platform in 1991 as Windows4GL 1.0, and was available to British Universities under a special license agreement. The development environment was known as the Sapphire Editor.

The Sapphire Editor allowed the creation of complex GUI interfaces using an IDE, rather than large volumes of Motif code / resource files. This was one of the first environments to enable rapid prototyping of GUI clients.

Windows4GL 2.0 introduced Microsoft Windows compatibility and the debugger.

OpenROAD 3.0 was when it became stable on MS Windows.

OpenROAD 3.5(1) was when it became stable.

OpenROAD 4.1 introduced an interface to ActiveX controls, providing access to ActiveX control attributes and methods within the language. This mechanism often requires 'Wrapper' DLLs to be written to handle data type issues, one of which being a 2000 character limit on strings of text.

It is an interpreted language that uses a runtime distributable client to process 'image' files, thus no DLL or .NET dependency issues under MS Windows (ActiveX aside).

It was possible to use images in any environment (Unix, VMS or MS Windows up to version 3.51), however portability issues between GUI environments (mostly related to FONT differences) made this difficult.

There was a Macintosh Beta version produced.

After 3.51, the UNIX environments used a Commercial PC emulator to give native capability, possibly one of the hurdles on the ROAD to its Open Source status across all platforms.

Variations in the distribution include FAT client (Requires Ingres NET for communication), Thin eClient (can be used without Ingres NET but needs to use the Application Server instead (DCOM)), and finally mClient for Mobile Windows Clients (HTTP services required to interface to the Application server).

OpenROAD 2006 (5.0+) went General Available December 2006.

OpenROAD 5.1 went Generally Available Apr 2011. The defining feature of the release was general-purpose system classes for XML support, to allow creation and parsing of arbitrary XML documents without the need to create additional user classes or to use external components (3GL Procedures or External Class Libraries). Providing an XML based export file format will that will be documented, human readable, produce clean differences between different revisions of a file, allow changes to be merged, will allow OpenROAD source components to be managed by many different Software Configuration Management (SCM) systems. 

OpenROAD 2006 5.5 with UNICODE support was a special limited release.

OpenROAD 6.0 is the current general release and includes the additional UNICODE support of 5.5
.

Language structure
The syntax of OpenROAD is very closely linked to that of the Ingres database, with direct support for embedded SQL. In a similar way to other event based programming languages, code can be placed in groups for related windows/system events.

The syntax is similar to Microsoft Visual Basic, allowing OpenROAD users to quickly adapt to Visual Basic with the help of Intellisense.

Intellisense is still not available (Q2 of 2008) in the OpenROAD IDE, however editors like TextPAD have syntax files that allow colour-coding of source files using key word recognition.

OpenROAD comes with system classes with following functionality:
 application source (allows to dynamically fetch, create, modify source artifacts)
 database access
 data types (scalar and complex)
 runtime control
 visual forms (incl. common widgets and controls)

Features
 object oriented language: class, simple inheritance (no interfaces, currently no constructor/destructor but planned for version 5.0)
 Cross platform support
 Integrated Debugger/IDE
 Integrated Application Server
 Support for Windows CE development (V5.0)
 Support for VB.Net/Java Integration

Features needed (Q2 2008) 

 Intellisense for source, SQL statements and user defined objects.
 The ability to construct user objects that inherit from the system classes
 Better configuration management for large development teams
 Native access to .NET classes
 In process access to Ingres NET for FAT clients making distribution easier.
 Extension of the OpenROAD language into the Ingres database engine replacing the Procedure language.
 Access to the sources of the OpenROAD language

Platforms
OpenROAD application can be deployed on the following clients :- Thin Client (Web), Windows, and various flavours of Linux/Unix.

It has support for n-tier systems by using the OpenROAD Application Server. The Application Server can be deployed on Windows or Linux/Unix platforms.

It has built-in support for the Ingres database, or one of the following using a product called Enterprise Access: Oracle, SQL Server or DB2, which allows the client to use the same SQL syntax for all target databases.

External links
Product links:
Ingres Corporation

Community links:
North American Ingres Users Association
German Ingres User Association
Ingres UserGroup Nederland
OpenROAD FAQ (1997)
Ingres Community OpenROAD Wiki

Mailing Lists:
Openroad-users Mailing List

Webcasts:
OpenROAD Application Development

Fourth-generation programming languages