OpenROAD
Encyclopedia
OpenROAD stands for "Open Rapid Object Application Development".

It is a 4GL development language which include a suite of development tools, with built in IDE
Integrated development environment
An integrated development environment is a software application that provides comprehensive facilities to computer programmers for software development...

 (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
Relational database
A relational database is a database that conforms to relational model theory. The software used in a relational database is called a relational database management system . Colloquial use of the term "relational database" may refer to the RDBMS software, or the relational database itself...

.

OpenROAD started out life in the early nineties 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 current version is OpenROAD 5.1.

The Ingres Product set, (Ask Corporation, Computer Associates and now the Ingres Corporation) was popular in the governments of North West Europe, and can still be found in many government departments.

OpenROAD nee 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 being 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.

Language structure

The syntax of OpenROAD is very closely linked to that of the Ingres database, with direct support for embedded SQL
SQL
SQL is a programming language designed for managing data in relational database management systems ....

. 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 distubution 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:

Community links:

Mailing Lists:

Webcasts:
The source of this article is wikipedia, the free encyclopedia.  The text of this article is licensed under the GFDL.
 
x
OK