OpenEdge Advanced Business Language - OpenEdge Advanced Business Language

OpenEdge Advanced Business Language (ABL)
OpenEdge logo.png
Sviluppatore/i Progress Software Corporation
Rilascio stabile
OpenEdge 12.3 / 20 ottobre 2020 ; 10 mesi fa ( 2020-10-20 )
Sistema operativo Multipiattaforma (vedi sotto)
Tipo RDBMS
Licenza proprietario
Sito web https://www.progress.com/openedge

OpenEdge Advanced Business Language , o OpenEdge ABL in breve, è un linguaggio di sviluppo di applicazioni aziendali creato e gestito da Progress Software Corporation (PSC). Il linguaggio, generalmente classificato come linguaggio di programmazione di quarta generazione , utilizza una sintassi simile all'inglese per semplificare lo sviluppo del software. Il linguaggio era chiamato PROGRESS o Progress 4GL fino alla versione 9, ma nel 2006 PSC ha cambiato il nome in OpenEdge Advanced Business Language (OpenEdge ABL) per superare una presunta percezione del settore che i 4GL fossero meno capaci di altri linguaggi. Un sottoinsieme del linguaggio, chiamato SpeedScript, viene utilizzato nello sviluppo di applicazioni web.

OpenEdge ABL aiuta gli sviluppatori a sviluppare applicazioni facoltativamente utilizzando il proprio database relazionale integrato e strumento di programmazione . Queste applicazioni sono portabili tra i sistemi informatici e consentono l'accesso a varie fonti di dati popolari senza dover apprendere i metodi di accesso ai dati sottostanti . Ciò significa che l' utente finale di questi prodotti può non essere a conoscenza dell'architettura sottostante.

Combinando un linguaggio di quarta generazione e un database relazionale, OpenEdge ABL consente l'uso del modello RAD ( Rapid Application Development ) per lo sviluppo di software. Un programmatore e anche gli utenti finali possono eseguire la prototipazione rapida utilizzando gli strumenti integrati e GUI dell'ambiente di sviluppo.

OpenEdge può essere utilizzato per:

  • GUI di Microsoft Windows (interfaccia utente grafica)
  • Programmazione WWW (UNIX e Windows)
  • CHUI (Interfaccia utente caratteri) (UNIX e Windows)
  • Programmazione appserver JSON e XML (UNIX e Windows)
  • così come la programmazione dei processi in background (UNIX e Windows).

Storia

Il Progress 4GL originale è stato progettato (nel 1981) come un linguaggio indipendente dall'architettura e un sistema di database integrato che potrebbe essere utilizzato da non esperti per sviluppare applicazioni aziendali da persone che non erano scienziati informatici ma erano ben informate nel loro dominio aziendale. All'epoca, le applicazioni aziendali erano spesso scritte in COBOL (per macchine come i mainframe IBM aziendali) e talvolta in C (per i minicomputer dipartimentali che eseguivano il sistema operativo UNIX). Quando il PC IBM divenne popolare, sviluppò la necessità di software aziendale che potesse essere utilizzato su questi e altri computer poco costosi. Il sistema Progress è stato creato per essere utilizzato su entrambe le macchine PC IBM che eseguono DOS e su una varietà di computer che potrebbero eseguire UNIX.

Sintassi e semantica

Progress ABL è un linguaggio di programmazione fortemente tipizzato, con rilegatura tardiva e simile all'inglese . Sebbene inizialmente concepito come linguaggio procedurale, a partire dalla versione 10.1 è stato arricchito con elementi grammaticali orientati agli oggetti, che possono essere mescolati con lo stile procedurale originale. Un blocco di codice può avere come ambito una transazione, nel qual caso le modifiche al database verranno salvate al completamento. Un errore generato all'interno di tale blocco annullerà queste modifiche. Queste impostazioni predefinite possono essere sovrascritte dal programmatore.

I programmi semplici vengono eseguiti senza un'interfaccia utente grafica, ma esiste una sintassi per crearne uno a livello di codice; oppure i programmatori possono utilizzare gli strumenti forniti per crearne uno.

Esempi

Ciao mondo

Il seguente codice ABL crea una finestra con il testo "Hello, World!" e un pulsante con l'etichetta "OK".

DEFINE VARIABLE w AS HANDLE NO-UNDO.

CREATE WINDOW w ASSIGN 
    WIDTH = 50
    HEIGHT = 5
    MESSAGE-AREA = FALSE
    STATUS-AREA = FALSE.   

CURRENT-WINDOW = w.

DEFINE BUTTON btnOK LABEL "OK" SIZE 12 BY 1.2.
FORM 
    "Hello World!" VIEW-AS TEXT AT COL 20 ROW 2
    btnOK AT COL 20 ROW 4
    WITH FRAME f SIZE 50 BY 5 NO-BOX THREE-D.

VIEW FRAME f.
ENABLE btnOK WITH FRAME f.
WAIT-FOR "CHOOSE" OF btnOK.
DELETE OBJECT w.

Una finestra di messaggio può essere utilizzata per ottenere lo stesso effetto:

MESSAGE "Hello World!"
    VIEW-AS ALERT-BOX INFO BUTTONS OK.

Inoltre, puoi usare ERRORe WARNINGinvece di INFOcambiare le icone dei messaggi.

Il programma "Hello, World" più semplice, tuttavia, è questo:

DISPLAY "Hello World!".

SELECTEquivalente SQL

L' istruzione SQL :

SELECT * FROM customer;

(insieme alla lingua di connessione scelta e alle procedure di visualizzazione) può essere espresso in Progress / ABL come:

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

L'istruzione END è facoltativa in un programma di questo livello di semplicità.

UPDATEEquivalente SQL

L'istruzione SQL:

UPDATE customer 
    SET salesman = 'Fred'
    WHERE custno = 14;

(di nuovo, insieme alla connessione della lingua scelta e alle procedure di visualizzazione) può essere espresso in Progress / ABL come:

FOR EACH customer WHERE customer.custno = 14 EXCLUSIVE-LOCK:
    ASSIGN customer.salesman = 'Fred'.
END.

.. (Sono state fatte alcune ipotesi sull'indicizzazione, il blocco e l'ambito delle transazioni per mantenere questo esempio semplice.)

La lingua è basata su record diversa da quella basata su set di record. Nelle operazioni SQL lavorano su un insieme di record, nell'ABL, l'operazione viene applicata a un record alla volta, proprio come l'utilizzo di un cursore in SQL.

Aree di applicazione

Il linguaggio è utilizzato in un'ampia varietà di aree applicative, alcuni esempi:

  • Creazione di prestiti presso banche statunitensi
  • Sistemi di prenotazione auto a noleggio
  • Distribuzione all'ingrosso
  • Sistemi di magazzino
  • Sistemi di trasporto
  • Dispacciamento della forza di servizio commerciale
  • Sistemi di carte di sicurezza
  • Sistemi di gioco (pensa a Las Vegas, non ai video)
  • Vendita al dettaglio Point-of-Sale sistemi (in particolare, quella di Micro Center )

Appunti

  1. ^ Campbell, John, Programmer's Progress, una guida al linguaggio del progresso. software stella bianca, 1991
  2. ^ Salvador Vinals, Presentazione di OpenEdge Advanced Business Language (ABL), white paper PSC, 2007
  3. Salta su ^ Crawford, G. WebSpeed ​​Complete , Innov8 Computer Solutions, ISBN  0-9718679-0-9

Riferimenti

link esterno