Neha Patil (Editor)

OpenEdge Advanced Business Language

Updated on
Edit
Like
Comment
Share on FacebookTweet on TwitterShare on LinkedInShare on Reddit
Type
  
RDBMS

License
  
Proprietary

Developer(s)
  
Progress Software Corporation

Stable release
  
OpenEdge 11.6 / October 26, 2015; 16 months ago (2015-10-26)

Operating system
  
Cross-platform (see below)

OpenEdge Advanced Business Language, or OpenEdge ABL for short, is a business application development language created and maintained by Progress Software Corporation (PSC). The language, typically classified as a fourth-generation programming language, uses an English-like syntax to simplify software development. The language was called PROGRESS or Progress 4GL up until version 9, but in 2006 PSC changed the name to OpenEdge Advanced Business Language (OpenEdge ABL) in order to overcome a presumed industry perception that 4GLs were less capable than other languages. A subset of the language, called SpeedScript, is used in the development of web applications.

Contents

OpenEdge ABL helps developers to develop applications optionally using its own integrated relational database and programming tool. These applications are portable across computing systems and allow access to various popular data sources without having to learn the underlying data access methods. This means that the end-user of these products can be unaware of the underlying architecture.

By combining a fourth generation language and relational database, OpenEdge ABL allows the use of the Rapid Application Development (RAD) model for developing software. A programmer and even end users can do rapid prototyping using the integrated and GUI tools of the development environment.

History

1984
First Commercial Release
1989
Version 5
1990
Version 6
1993
Version 7
1995
Version 8
1998
Version 9
December 10, 2002
Progress Dynamics 2.0 announced - the application environment for the OpenEdge business platform
February 17, 2004
OpenEdge 10 announced
2005
OpenEdge Studio packages
  • Progress Version 9
  • Progress WebClient
  • Progress Dynamics Version 2.1
  • February 8, 2006
    OpenEdge 10.1 announced - addition of object-oriented extensions to ABL, and new auditing service
    February 13, 2007
    OpenEdge 10.1b announced - adds support for 64-bit data formats
    April 15, 2008
    OpenEdge 10.1c announced - first business application development platform to support IPv6
    November 3, 2008
    OpenEdge 10.2A announced -New OpenEdge GUI for .NET that allows developers to create modern WinForms-style UI's without leaving the OpenEdge environment.
    December 2009
    OpenEdge 10.2B release providing improved OpenEdge GUI .Net Integration and additional online database features.

    December 2011
    OpenEdge 11.0 release introducing patent-pending multi-tenancy, multi-Cloud deployment options and extended platform support.

    June 2012:
    OpenEdge 11.1 release providing performance and productivity tools for the development of SaaS (software as a service) and Cloud applications. It also delivers stronger security coupled with simplified user authentication.

    February 2013:
    OpenEdge 11.2 release provided enhanced mobility capabilities through: visual designer and UI toolkit for phone and tablet applications, REST support for the OpenEdge application server, JavaScript Data Binding support libraries, and write-once, run anywhere support for iOS and Android;

    Summer 2013:
    OpenEdge 11.3 release

    August 2014:
    OpenEdge 11.4 release containing horizontal table partitioning and ABL Unit Testing.

    17 December 2014:
    OpenEdge 11.5 release containing the Pacific Application Server for OpenEdge.

    26 October 2015:
    OpenEdge 11.6 release

    Syntax and semantics

    Progress ABL is a strongly typed, late-bound, English-like programming language. Although initially designed as a procedural language, starting with version 10.1 it was enhanced with object-oriented grammar elements, which can be mixed with the original procedural style. A block of code may have a transaction scoped to it, in which case database changes will be committed when it completes. An error raised within such a block will undo these changes. These defaults may be overridden by the programmer.

    Simple programs run without a Graphical User Interface, but there is syntax to create one programatically; or programmers can use the provided tools to build one.

    Hello World

    The following ABL code creates a window with the text "Hello, World!" and a button labelled "OK".

    A message-box can be used to achieve the same effect:

    Also, you can use ERROR and WARNING instead of INFO to change the message icons.

    The simplest "Hello, World" program, though, is this:

    SQL SELECT equivalent

    The SQL statement:

    (along with your chosen language connection and display procedures) can be expressed in Progress / ABL as:

    The END statement is optional in a program of this level of simplicity.

    SQL UPDATE equivalent

    The SQL statement:

    (again, along with your chosen language connection and display procedures) can be expressed in Progress / ABL as:

    .. (Some assumptions have been made about indexing, locking and transaction scoping in order to keep this example simple.)

    References

    OpenEdge Advanced Business Language Wikipedia