OpenEdge ABL

A Wikipédiából, a szabad enciklopédiából
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 rendszer multi-platform
Kategória RDBMS
Licenc kereskedelmi
Az OpenEdge Advanced Business Language (ABL)
korábban Progress weboldala

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[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.