Az OpenEdge Advanced Business Language, vagy röviden OpenEdge ABL (korábban Progress 4GL) egy üzleti alkalmazásfejlesztő nyelv, melyet a Progress Software Corporation (PSC) hozott létre és tart karban. A nyelv osztálya tipikusan egy negyedik generációs programozási nyelv, amely angolhoz hasonló v. angol-szerű szintaxist használ a szoftver fejlesztés leegyszerűsítésére.[3] A nyelvet PROGRESS-nek vagy Progress 4GL-nek hívták a 10.0-s verzió kiadása előtt, de a PSC 2006-ban a OpenEdge Advanced Business Language-re (OpenEdge ABL) változtatta, azért, hogy leküzdjék azt az ipari feltételezést, mi szerint a 4GL-es nyelvek rosszabb képességekkel rendelkeznek, mint más nyelvek.[4] A nyelv egy részhalmazát SpeedScript-nek hívják és web alkalmazás fejlesztésre használják.[5]
Az OpenEdge ABL segít a fejlesztőknek az alkalmazás fejlesztésben, opcionálisan használva a saját integrált relációs adatbázisát és programozási eszközeit. Ezek az alkalmazások hordozhatók a számítógépes rendszerek között és lehetővé teszik számos népszerű adatforrás elérését az adatelérés módjának ismerete nélkül. Ez azt jelenti, hogy ezen termékek végfelhasználójának nem kell tudatában lennie a mögöttes architektúrának.
A negyedik generációs nyelv és a relációs adatbázis kombinációjával az OpenEdge ABL lehetővé teszi a gyors alkalmazásfejlesztés modell használatát a szoftverfejlesztésben. A fejlesztő, de még a végfelhasználó is tud készíteni egy gyors prototípust az integrált fejlesztő környezet és GUI eszközök használatával.
Verziótörténet
Kiadás dátuma
|
Verzió
|
Megjegyzések
|
1984
|
Első kereskedelmi kiadás
|
|
1989
|
5-ös verzió
|
|
1990
|
6-os verzió
|
|
1993
|
7-es verzió
|
|
1995
|
8-as verzió
|
|
1998
|
9-es verzió
|
|
2002. december 10
|
Progress Dynamics 2.0
|
bejelentették az OpenEdge üzleti platform alkalmazás környezetét[6]
|
2004. február 17.
|
OpenEdge 10
|
bejelentése[7]
|
2005
|
OpenEdge Studio csomagok:[8]
- Progress Version 9
- Progress WebClient
- Progress Dynamics Version 2.1
|
|
2006. február 8.
|
OpenEdge 10.1
|
bejelentették az ABL objektumorientált kiterjesztését, és egy új auditing szolgáltatást[9]
|
2007. február 13.
|
OpenEdge 10.1b
|
bejelentették, hogy támogatást adnak a 64 bites adatformátumokhoz[10]
|
2008. április 15.
|
OpenEdge 10.1c
|
bejelentették az első üzleti alkalmazás fejlesztő platformot, amelyik támogatja az IPv6-t[11]
|
2008. november 3.
|
OpenEdge 10.2A
|
bejelentették az új OpenEdge GUI-t a .NET-hez, mely lehetővé teszi a fejlesztők számára, hogy modern WinForms-stílusú UI-t készítsenek anélkül, hogy elhagynák az OpenEdge környezetet.
|
2009. december
|
OpenEdge 10.2B
|
kiadás javított OpenEdge GUI .Net integrációt és további online adatbázis funkciókat nyújt.
|
2011. december
|
OpenEdge 11.0 kiadás
|
bevezette a patent-pending multi-tenancy, multi-Cloud fejlesztési opciókat és a kiterjesztett platform támogatást.
|
2012. június
|
OpenEdge 11.1 kiadás[halott link]
|
teljesítményi és hatékonysági eszközöket nyújtott a SaaS (software as a service) és Cloud alkalmazások fejlesztéséhez. Továbbá erősebb biztonságot nyújtott párosulva a leegyszerűsített felhasználói autentikációval.
|
2013. február
|
OpenEdge 11.2 kiadás
|
továbbfejlesztett mobilitási képességeket nyújtott: vizuális tervezés és UI eszköztár telefon- és táblagépalkalmazásokhoz, REST támogatás az OpenEdge alkalmazásszerverhez, JavaScript Data Binding támogató könyvtárak, és "írd meg egyszer, futtasd bárhol" támogatás iOS-hoz és Androidhoz;
|
2013 nyár
|
OpenEdge 11.3 kiadás
|
|
2014. augusztus
|
OpenEdge 11.4 kiadás
|
tartalmazott horizontális táblaparticionálást és ABL unit tesztelést.
|
2014. december 17.
|
OpenEdge 11.5 kiadás
|
tartalmazza a Pacific Application Server for OpenEdge-t.
|
2015. október 26.
|
OpenEdge 11.6 kiadás
|
Progress alkalmazáskiszolgálóba épített WebSpeedet tartalmaz
|
2017. március 31.
|
OpenEdge 11.7 kiadás
|
CDC-t és autentikációs átjárót tartalmaz
|
Szintaxis és szemantika
A Progress ABL egy erősen típusos, késői kötésű angol-szerű programozási nyelv. Habár eredetileg procedurális nyelvnek tervezték, a 10.1-es verzióval kezdődően kiegészítették objektumorientált nyelvtani elemekkel is, amely keverhető az eredeti procedurális stílussal. A kód egy blokkja lehet tranzakciós scope-ú is, ebben az esetben az adatbázis-változások akkor lesznek jóváhagyva, amikor a blokk befejeződik. Amennyiben hiba dobódik egy ilyen blokkba, akkor a változások visszavonásra kerülnek. Ezt a beépített funkcionalitást a fejlesztő felüldefiniálhatja.
Az egyszerű programok GUI nélkül futnak, de lehetőség van GUI-s alkalmazás létrehozására is a mellékelt eszközök segítségével.
Példák
Hello világ
A következő ABL-kód egy ablakot készít „Hello, világ!” felirattal, és azon egy „OK”-gombot.
DEFINE VARIABLE ablak AS HANDLE NO-UNDO.
CREATE WINDOW ablak ASSIGN
WIDTH = 50
HEIGHT = 5
MESSAGE-AREA = FALSE
STATUS-AREA = FALSE.
CURRENT-WINDOW = ablak.
DEFINE BUTTON gomb LABEL "OK" SIZE 12 BY 1.2.
FORM
"Hello világ!" VIEW-AS TEXT AT COL 20 ROW 2
gomb AT COL 20 ROW 4
WITH FRAME keret SIZE 50 BY 5 NO-BOX THREE-D.
VIEW FRAME keret.
ENABLE gomb WITH FRAME keret.
WAIT-FOR "CHOOSE" OF gomb.
DELETE OBJECT ablak.
Ugyanezt eredményezi egy „message-box” kirakása is:
MESSAGE "Hello világ!"
VIEW-AS ALERT-BOX INFO BUTTONS OK.
Az ERROR
vagy a WARNING
használata az INFO
helyett megváltoztatja a üzenethez tartozó ikont.
A legegyszerűbb „Hello, világ” program, a következő:
Az SQL-es SELECT
ekvivalense
Az SQL-utasítás:
Ugyanez Progress/ABL-kifejezéssel:
FOR EACH vevo NO-LOCK:
DISPLAY vevo.
END.
Az SQL-es UPDATE
ekvivalense
Az SQL-utasítás:
UPDATE vevo
SET uzletkoto = 'Kovács István'
WHERE vevokod = 14;
Ugyanez Progress/ABL-kifejezéssel:
FOR vevo WHERE vevo.vevokod = 14 EXCLUSIVE-LOCK:
ASSIGN vevo.uzletkoto = 'Kovács István'.
END.
Jegyzetek
- ↑ OpenEdge 12.2 Long Term Supported Release (LTS), 2020. (Hozzáférés: 2023. április 19.)
- ↑ OpenEdge 12.6 Innovation Release Release date September, 2022, 2022. (Hozzáférés: 2023. április 19.)
- ↑ Campbell, John, Programmer's Progress, a guide to the progress language. white star software, 1991
- ↑ Salvador Vinals, Introducing OpenEdge Advanced Business Language (ABL), PSC whitepaper, 2007
- ↑ Crawford, G. WebSpeed Complete, Innov8 Computer Solutions, ISBN 0-9718679-0-9
- ↑ Progress Dynamics 2.0 announced[halott link]
- ↑ OpenEdge 10 announcement[halott link]
- ↑ Progress OpenEdge Studio
- ↑ OpenEdge 10.1 announcement[halott link]
- ↑ OpenEdge 10.1b announcement[halott link]
- ↑ OpenEdge 10.1c announcement[halott link]
Fordítás
Ez a szócikk részben vagy egészben az OpenEdge ABL című angol Wikipédia-szócikk ezen változatának fordításán alapul. Az eredeti cikk szerkesztőit annak laptörténete sorolja fel. Ez a jelzés csupán a megfogalmazás eredetét és a szerzői jogokat jelzi, nem szolgál a cikkben szereplő információk forrásmegjelöléseként.