OpenEdge Advanced Business Language: Difference between revisions

Content deleted Content added
Smurfr (talk | contribs)
record-based access vs result-set-based pros and cons
No edit summary
 
(One intermediate revision by one other user not shown)
Line 3:
{{Infobox software
| name = OpenEdge Advanced Business Language (ABL)
| logo = File:OpenEdge_logo.png
| screenshot =
| caption =
Line 11 ⟶ 12:
| genre = [[Relational database management system|RDBMS]]
| license = Proprietary
| website = {{URL|https://www.progress.com/openedge}}
| logo = File:OpenEdge_logo.png
}}
 
Line 19:
OpenEdge ABL helps developers to develop applications optionally using its own integrated [[relational database]] and [[programming tool]]s. 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 [[Rapidrapid Applicationapplication Developmentdevelopment]] (RAD) model for developing software.
 
==History==
Line 32:
==Examples==
 
===Hello Worldworld===
{{mainMain|Hello world program}}
 
{{main|Hello world program}}
The following ABL code creates a window with the text "Hello, World!" and a button labelled "OK".
<syntaxhighlight lang="progress">
Line 105 ⟶ 104:
Record-based processing provides a fine-grained locking model, allowing the developer to apply different lock levels (e.g., EXCLUSIVE-LOCK, SHARE-LOCK, or NO-LOCK) when accessing records.
 
This approach can offer predictable memory usage, especially in environments using shared memory connections, where the application and database reside on the same host. In client-server (networked) deployments, however, each record or block of records fetched typically involves a network round trip. For example, with a default prefetch size of 50 records and a network latency of 50 ms, retrieving 1,000,000 records may result in up to 1,000 seconds of latency. This illustrates a potential drawback of record-by-record access in high-latency environments.{{Citation needed|date=August 2025}}
 
==Application areas==
Line 111 ⟶ 110:
The language is used in a wide variety of application areas, some examples:
 
* Mortgage and Autoauto Loanloan Originationorigination at US Banksbanks
* Rental Carcar Reservationreservation Systemssystems
* Manufacturing ERP
* Wholesale Distributiondistribution ERP
* Warehouse Systemssystems
* Transportation Systemssystems
* Commercial Serviceservice Forceforce Dispatchingdispatching
* Security Cardcard Systemssystems
* Gaming Systemssystems (think Las Vegas, not video)
 
OpenEdge can be used for:<ref>{{Cite web |date=2024-01-26 |title=Use Cases of Progress OpenEdge 2024 |url=https://www.trustradius.com/products/openedge/reviews?qs=product-usage |access-date=2024-06-26 |website=www.trustradius.com |language=en-US}}</ref>
* Microsoft Windows GUI (Graphical User Interface)
* WWW Programmingprogramming (UNIXUnix and Windows)
* CHUI (CHaracter User Interface) (UNIXUnix and Windows)
* JSON and XML appserver programming (UNIXUnix and Windows)
* as well background process programming (UNIXUnix and Windows).
 
==Notes==
 
<references/>
 
==References==
 
* Sadd, J. ''OpenEdge Development: Progress 4GL Handbook'', Progress Software Corporation, {{ISBN|0-923562-04-4}}, {{ISBN|978-0-923562-04-5}}
* Kassabgi, G. ''Special Edition : Using Progress'', Que Publishing, {{ISBN|0-7897-0493-5}}
 
== External links ==
* [{{Official Website|https://www.progress.com/openedge Official Website]}}
 
* [https://www.progress.com/openedge Official Website]
* [https://community.progress.com/community_groups/openedge_general OpenEdge Community]
* [https://docs.progress.com/category/openedge-information-hub OpenEdge Resource Hub]