OpenEdge Advanced Business Language

OpenEdge Advanced Business Language (ABL)
Utvecklare Progress Software Corporation
Stabil frisättning
OpenEdge 12.3 / 20 oktober 2020 ; 2 år sedan ( 2020-10-20 )
Operativ system Cross-platform (se nedan)
Typ RDBMS
Licens Proprietär
Hemsida https://www.progress.com/openedge

OpenEdge Advanced Business Language , eller OpenEdge ABL för kort, är ett utvecklingsspråk för affärsapplikationer skapat och underhållet av Progress Software Corporation (PSC). Språket, som vanligtvis klassificeras som ett fjärde generationens programmeringsspråk , använder en engelskliknande syntax för att förenkla mjukvaruutveckling. Språket kallades PROGRESS eller Progress 4GL fram till version 9, men 2006 bytte PSC namnet till OpenEdge Advanced Business Language (OpenEdge ABL) för att övervinna en förmodad branschuppfattning att 4GL:er var mindre kapabla än andra språk. En delmängd av språket, kallad SpeedScript , används i utvecklingen av webbapplikationer.

OpenEdge ABL hjälper utvecklare att utveckla applikationer valfritt med hjälp av sin egen integrerade relationsdatabas och programmeringsverktyg . Dessa applikationer är portabla över datorsystem och ger tillgång till olika populära datakällor utan att behöva lära sig de underliggande dataåtkomstmetoderna . Detta innebär att slutanvändaren av dessa produkter kan vara omedveten om den underliggande arkitekturen.

Genom att kombinera en fjärde generationens språk- och relationsdatabas tillåter OpenEdge ABL användningen av RAD-modellen ( Rapid Application Development) för att utveckla programvara. En programmerare och till och med slutanvändare kan göra snabba prototyper med hjälp av de integrerade och GUI-verktygen i utvecklingsmiljön.

OpenEdge kan användas för: [ citat behövs ]

  • Microsoft Windows GUI (Graphical User Interface)
  • WWW-programmering (UNIX och Windows)
  • CHUI (karakteranvändargränssnitt) (UNIX och Windows)
  • JSON- och XML-appserverprogrammering (UNIX och Windows)
  • samt bakgrundsprocessprogrammering (UNIX och Windows).

Historia

Den ursprungliga Progress 4GL designades (1981) som ett arkitekturoberoende språk och integrerat databassystem som kunde användas av icke-experter för att utveckla affärsapplikationer av personer som inte var datavetare men var kunniga inom sin affärsdomän. På den tiden skrevs affärsapplikationer ofta i COBOL (för maskiner som företags IBM stordatorer) och ibland i C (för avdelningsminidatorer som kör UNIX-operativsystemet). När IBM PC blev populär utvecklade den ett behov av affärsprogramvara som kunde användas på dessa och andra billiga datorer. Progress-systemet skapades för att användas på både IBM PC-maskiner som kör DOS och på en mängd olika datorer som kunde köra UNIX och minidatoroperativsystem som OpenVMS .

Syntax och semantik

Progress ABL är ett starkt skrivet, sent bunden, engelska-liknande programmeringsspråk . Även om det ursprungligen utformades som ett procedurspråk, från och med version 10.1, förbättrades det med objektorienterade grammatikelement, som kan blandas med den ursprungliga procedurstilen. Ett kodblock kan ha en transaktions scope till sig, i vilket fall databasändringar kommer att begås när det slutförs. Ett fel som uppstår inom ett sådant block kommer att ångra dessa ändringar. Dessa standardinställningar kan åsidosättas av programmeraren.

Enkla program körs utan ett grafiskt användargränssnitt, men det finns syntax för att skapa ett programmatiskt; eller programmerare kan använda de medföljande verktygen för att bygga en.

Exempel

Hej världen

Följande ABL-kod skapar ett fönster med texten "Hello, World!" och en knapp märkt "OK".

     

   
     
     
     
        

 

       

           
         
            

  
    
  
   DEFINIERA  VARIABLER  VAR  HANTERA  INGEN  ÅNGRA  .  SKAPA  FÖNSTER  med  TILLDELNING  BREDD  =  50  HÖJD  =  5  MEDDELANDE-OMRÅDE  =  FALSK  STATUS-OMRÅDE  =  FALSK  .  CURRENT-WINDOW  =  w  .  DEFINIERA  KNAPP  btnOK  ETIKETT  "OK"  STORLEK  12  BY  1,2  .  FORMULÄR  "Hej världen!"  VISNING SOM  TEXT  COL  20  RAD  2  btnOK  COL  20  RAD  4  MED  RAM  f  STORLEK  50  BY  5  NO-BOX  TRE-D  .  VISA  RAM  f  .  AKTIVERA  btnOK  MED  RAM  f  .  VÄNTA PÅ  "VÄLJ"  AV  btnOK  .  DELETE  OBJECT  w  . 

En meddelanderuta kan användas för att uppnå samma effekt:


         MEDDELANDE  "Hej världen!"  VISNING-SOM  VARNING-BOX  INFO-  KNAPPAR  OK  . 

Du kan också använda ERROR och WARNING istället för INFO för att ändra meddelandeikonerna.

Det enklaste programmet "Hello, World" är dock detta:

 DISPLAY  "Hej"  . 

SQL SELECT- motsvarighet

SQL - satsen:

    VÄLJ  *  FRÅN  kund  ; 

(tillsammans med din valda språkanslutning och visningsprocedurer) kan uttryckas i Progress/ABL som:

   
     
 FÖR  VARJE  kund  NO-LOCK  :  DISPLAY-  kund  .  SLUT  . 

SQL UPDATE motsvarande

SQL-satsen:

  
       
        UPPDATERA  kund  SET  säljare  =  'Fred'  VAR  kundnr  =  14  ; 

(igen, tillsammans med din valda språkanslutning och visningsprocedurer) kan uttryckas i Progress/ABL som:

       
       
 FÖR  VARJE  kund  VAR  kund  .  custno  =  14  EXKLUSIVT-LÅS  :  TILLDELA  kund  .  säljare  =  'Fred'  .  SLUT  . 

.. (Vissa antaganden har gjorts om indexering, låsning och transaktionsomfattning för att hålla detta exempel enkelt.)

Språket är postbaserat annat än uppsättningsbaserat. I SQL-operationer arbetar man på en uppsättning poster, i ABL tillämpas operationen på en post åt gången - ungefär som att använda en markör i SQL.

Användningsområden

Språket används i en mängd olika applikationsområden, några exempel:

  • Upplåtande av lån hos amerikanska banker
  • Hyrbilsbokningssystem
  • Grossistdistribution
  • Lagersystem
  • Transportsystem
  • Commercial Service Force Dispatching
  • Säkerhetskortssystem
  • Spelsystem (tänk Las Vegas, inte video)
  • Retail Point-of-Sale- system (särskilt det för Micro Center )

Anteckningar

  1. ^ Campbell, John, Programmers framsteg, en guide till framstegsspråket. White Star programvara, 1991
  2. ^ Salvador Vinals, Introducing OpenEdge Advanced Business Language (ABL), PSC whitepaper, 2007
  3. ^   Crawford, G. WebSpeed ​​Complete , Innov8 Computer Solutions, ISBN 0-9718679-0-9

externa länkar