OpenEdge is a powerful and versatile application development platform used to create and maintain business applications. It is known for its reliability, performance and ability to handle large amounts of data.
In this article, we will look at Progress OpenEdge from a software developer's perspective for developing reliable business applications.
It is an excellent choice if your company has a lot of data that needs to be managed and analysed. Progress OpenEdge is not just an old legacy system, but a continuously evolving and versatile platform.
OpenEdge is widely used for developing various business applications. It can also be used to modernise and update old applications. Examples of applications for which OpenEdge is well suited include ERP, CRM, SCM, PLM and logistics systems, as well as financial applications. Progress OpenEdge is widely used around the world. There are over 5,000 applications built with it and millions of users.
The OpenEdge Advanced Business Language (ABL) programming language (until version 9, PROGRESS or Progress 4GL) is a programming language developed by Progress Software, designed specifically for developing business applications. It is widely used in conjunction with the OpenEdge platform. It is easy to learn and use, which speeds up the development process.
Progress 4GL was originally designed in 1981 as an architecture-independent language and integrated database system for developing business applications. It is a strongly typed language with English-like syntax. Originally, the language was procedural, but since version 10.1, it also supports object-oriented programming. Simple programs run without a graphical user interface, but there is a separate syntax and set of tools for creating one.
The language is easy to learn and use. ABL's syntax is based on English grammar, which makes it more accessible than many other programming languages. This speeds up application development and reduces the number of errors.
Code example of the easy-to-learn syntax:
DISPLAY "Hello".
or:
MESSAGE "Hello World" VIEW-AS ALERT-BOX.
Thanks to its efficient data processing, ABL is an excellent tool for handling large amounts of data and implementing complex business logic. It includes many built-in functions that facilitate data manipulation and analysis. ABL is tightly integrated with the OpenEdge platform, enabling efficient database use and application development. The language can be used to develop a wide variety of applications, such as web applications, mobile applications and back-end systems. ABL has been in use for decades, which guarantees its stable and reliable operation.
An example of a database usage statement using the FIND statement to perform a simple record search and retrieve a specific customer's information from the Customer table.
FIND Customer WHERE CustNum = 123 NO-LOCK.
IF AVAILABLE Customer THEN
DISPLAY Name City Country.
ELSE
DISPLAY "Asiakasta numerolla 123 ei löytynyt.".
This is a very efficient way to retrieve individual records without any kind of query. The keyword NO-LOCK ensures that the record is not locked from other users during this read operation.
OpenEdge offers several ways to create repeat statements, such as FOR EACH, DO/DO WHILE and REPEAT. Below is an example of FOR EACH
/* Step through all customers with a balance under 1000 */
FOR EACH Customer NO-LOCK WHERE Customer.Balance < 1000:
DISPLAY Customer.Name.
FOR EACH Order OF Customer NO-LOCK:
DISPLAY Order.OrderDate.
END.
END.
There are three types of basic commands in ABL: process commands, database access statements, and user interface commands.
Sometimes individual statements contain elements from all three, such as the FOR EACH statements in the example. It contains all three types and illustrates the power of the language. Implementing database functions in some other languages requires considerably more code and depends on the database library used. In these languages, you first need to create a database connection, then write an SQL query, execute it, and finally process the query results separately.
OpenEdge offers a wide range of tools for developing, testing and deploying applications. We will go through the most common development tools.
Progress Developer Studio is an integrated development environment (IDE) designed specifically for developing the Progress ABL programming language. It provides a comprehensive set of tools for creating, testing and maintaining applications on the Progress OpenEdge platform. It is a key tool for ABL developers, streamlining coding, debugging and application management. Based on Eclipse, Progress Developer Studio allows you to install various Eclipse plug-ins. The editor is designed for ABL development and includes all the typical features for smooth code writing and efficient editing.
Progress OpenEdge also supports modern technologies in many ways:
It can therefore be said that OpenEdge is able to meet today's requirements by providing support for common network technologies and data formats, enabling seamless integration with other systems and technologies.
Progress OpenEdge RDBMS is a reliable and high-performance relational database system designed specifically for business-critical applications. Its strengths include integration with the ABL development environment, scalability, reliability and security. It provides reliable support for ACID (Atomicity, Consistency, Isolation, Durability) transactions, strong data security, a variety of indexing options for performance optimisation, and tools for database management and monitoring. OpenEdge RDBMS is an integral part of the entire OpenEdge platform, providing a solid foundation for enterprise applications.
You can register and request access to a free 30-day trial of Progress OE on the Progress Software website
(https://www.progress.com/openedge). The trial version usually includes everything you need to get started, including development tools and some examples. Although it is time-limited, it is an excellent way to get acquainted with OpenEdge and its development environment.
We also recommend visiting the ‘Developers Hub’ section of the Progress website (https://www.progress.com/openedge/roles/developers), where you can find useful resources, documentation and community discussion forums. If you are a student or work in an academic environment, you should enquire with Progress about possible ‘Classroom
Edition’ versions or academic licences
(https://www.progress.com/openedge/classroom-edition).
Progress Software offers a wide range of training courses on various topics, from beginner to advanced. Courses are available both virtually and on-site. It also offers self-study materials and courses on specific topics on its website. Unofficial instructional videos and Getting Started guides for Progress Developer Studio and ABL can be found on YouTube channels, and don't forget the power of artificial intelligence when searching for additional information.
The Finland Progress User Group (https://www.finpug.fi) is an independent group with over 300 members currently operating in Finland. Its goal is to exchange experiences and information about Progress products and applications. The association is intended for Progress users and individuals interested in Progress.
As an experienced developer, I view Progress OpenEdge with a certain degree of criticality and appreciation for its strengths. Over the decades, OpenEdge has evolved into a highly stable and reliable platform, which is important when building business-critical applications.
The combination of the ABL language and an optimised database enables excellent performance, especially in heavy transactional environments. ACID properties are strongly supported, which ensures data integrity. Although ABL is not the coolest programming language, it is extremely powerful for implementing business logic. Its high level of abstraction and built-in features speed up development compared to some lower-level languages or large frameworks.
The integrated development environment (Progress Developer Studio) makes the developer's daily work easier and provides comprehensive tools for ABL development, including a debugger, profiler and database browser. The OpenEdge architecture supports scalability through a variety of configurations. This allows the system to adapt to growing user and data volumes. OpenEdge also offers comprehensive security features, including role-based access control, auditing and encryption. This makes it easier to build reliable software when the development environment is built with security in mind.
Although OpenEdge is not as popular as some newer technologies, it still has an established user base and a broad ecosystem of partners and third-party solutions. Progress Software also provides good support for its product.
Many OpenEdge applications have been in production for decades, and Progress is committed to backward compatibility. This is important for organisations with significant investments in existing systems. The availability of skilled ABL developers can be a challenge. However, its strengths make it a viable option for critical business systems. Its stability, performance and efficient development cycle with ABL remain significant advantages.
Progress OpenEdge is a mature and reliable technology platform that is widely used for developing business systems. At its core is the ABL programming language, which is designed specifically for business applications. ABL's simple syntax and powerful database management enable rapid development and high-performance solutions. The platform has not been left behind in terms of development, offering extensive integration options with modern technologies such as REST APIs and JSON.
OpenEdge RDBMS is a proven database solution optimised for seamless integration with ABL. Developers have access to high-quality tools such as Progress Developer Studio, which supports efficient software development. Although OpenEdge is not the trendiest option, its strengths make it a highly competitive and sensible choice, especially for organisations with large data volumes or long lifecycle requirements. A stable user base and strong support round out its position as a reliable solution for enterprise application development.