Advanced Business Language (ABL) is a powerful and flexible tool used to build most parts of an enterprise business application. Enabling application developers to capture domain expertise, produce intelligent designs, and quickly code the necessary business logic are special strengths of ABL. The result is full-featured and intelligent applications.
ABL is both a compiled and an interpreted language that executes in a run-time engine that the documentation refers to as the ABL Virtual Machine (AVM). When documentation refers to ABL source code compilation, it specifies ABL or the compiler as the actor that manages compile-time features of the language. When documentation refers to run-time behavior in an executing ABL program, it specifies the AVM as the actor that manages the specified run-time behavior in the program.
For example, these sentences refer to the ABL compiler's allowance for parameter passing and the AVM's possible response to that parameter passing at run time:
"ABL allows you to pass a dynamic temp-table handle as a static temp-table parameter of a method. However, if at run time the passed dynamic temp-table schema does not match the schema of the static temp-table parameter, the AVM raises an ERROR."
The following sentence refers to run-time actions that the AVM can perform using a particular ABL feature:
"The ABL socket object handle allows the AVM to connect with other ABL and non-ABL sessions using TCP/IP sockets."
Recent ABL versions increased the developers' ability to build applications that are more open to distributed access across many platforms. Your applications can access both OpenEdge and non-OpenEdge platforms using the newer OpenEdge AppServer, Open Client, and other technologies.