OpenEdge ABL

üzleti alkalmazásfejlesztő nyelv

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]

OpenEdge Advanced Business Language (ABL)
korábban Progress
FejlesztőProgress Software Corporation
Legfrissebb stabil kiadás
  • 12.2 (long-term support release, 2020. április)[1]
  • 12.6 (stabil verzió, 2022. szeptember)[2]
Operációs rendszermulti-platform
KategóriaRDBMS
Licenckereskedelmi
Az OpenEdge Advanced Business Language (ABL)
korábban Progress weboldala

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 szerkesztés

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 szerkesztés

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 szerkesztés

Hello világ szerkesztés

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ő:

DISPLAY "Hello világ!".

Az SQL-es SELECT ekvivalense szerkesztés

Az SQL-utasítás:

SELECT * FROM vevo;

Ugyanez Progress/ABL-kifejezéssel:

FOR EACH vevo NO-LOCK:
    DISPLAY vevo.
END.

Az SQL-es UPDATE ekvivalense szerkesztés

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 szerkesztés

  1. OpenEdge 12.2 Long Term Supported Release (LTS), 2020. (Hozzáférés: 2023. április 19.)
  2. OpenEdge 12.6 Innovation Release Release date September, 2022, 2022. (Hozzáférés: 2023. április 19.)
  3. Campbell, John, Programmer's Progress, a guide to the progress language. white star software, 1991
  4. Salvador Vinals, Introducing OpenEdge Advanced Business Language (ABL), PSC whitepaper, 2007
  5. Crawford, G. WebSpeed Complete, Innov8 Computer Solutions, ISBN 0-9718679-0-9
  6. Progress Dynamics 2.0 announced[halott link]
  7. OpenEdge 10 announcement[halott link]
  8. Progress OpenEdge Studio
  9. OpenEdge 10.1 announcement[halott link]
  10. OpenEdge 10.1b announcement[halott link]
  11. OpenEdge 10.1c announcement[halott link]

További információk szerkesztés

Fordítás szerkeszté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.