Cosa e’ ABAP e perche’ non dovresti snobbarlo
ABAP (Advanced Business Application Programming) è il linguaggio di programmazione principale supportato sulla piattaforma del server applicativo SAP NetWeaver ABAP e sulle applicazioni che vengono eseguite su di esso, come SAP ERP (precedentemente R / 3), S/4HANA e CRM.
SAP utilizza ABAP per implementare le proprie applicazioni sulla piattaforma di NetWeaver e i clienti SAP utilizzano questo linguaggio per modificare la funzionalità delle applicazioni SAP o crearne di proprie.
ABAP è la più vecchia e, probabilmente, la più utilizzata delle quattro principali piattaforme applicative di SAP, che comprende anche SAP NetWeaver Java, SAP HANA e SAP Cloud Platform.
Evoluzione di ABAP
SAP ABAP è iniziato negli anni ’80 come linguaggio di generazione di report nei prodotti SAP. Ha assunto un ruolo centrale in SAP R/3 come linguaggio di implementazione e di estensione primario del sistema di pianificazione delle risorse aziendali (ERP). Nel corso degli anni, ha acquisito nuove funzionalità; in particolare l’introduzione di costrutti orientati agli oggetti, denominati oggetti ABAP, nel 1999 e l’introduzione di nuovi metodi di accesso al database.
Le funzionalità di ABAP sono strettamente associate alla release SAP R/3 o NetWeaver in uso. L’unico modo per accedere alle nuove funzionalità della lingua è eseguire l’aggiornamento a una versione più recente del server delle applicazioni. In molti casi, i programmi scritti utilizzando le funzionalità di una versione più recente del server delle applicazioni non verranno eseguiti sui sistemi SAP precedenti.
Strumenti di Sviluppo ABAP
Molte migliaia di sviluppatori ABAP lavorano con clienti e società di consulenza SAP per mantenere e modificare i sistemi SAP . Esso è regolarmente nella Top 30 dell’Indice Tiobe, che traccia approssimativamente la popolarità dei linguaggi di programmazione.
Gli sviluppatori che lavorano in ABAP lo fanno solitamente negli strumenti di sviluppo (una serie di plug-in per la piattaforma di sviluppo Java open source Eclipse) o nel Workbench nell’interfaccia utente grafica (GUI) SAP. Entrambi gli ambienti offrono una serie di strumenti per assistere lo sviluppo, dal completamento del codice agli strumenti di test automatici
SAP Solution Manager offre anche strumenti per la gestione del ciclo di vita dello sviluppo del codice.
Funzioni speciali e infrastruttura ABAP
Inoltre non è autonomo ed è altamente integrato con altre funzionalità del server di applicazioni SAP NetWeaver. Tra questi ci sono i seguenti:
• Connessioni di database logiche, che consentono di estrarre il codice da un database specifico. Le connessioni al database effettive sono configurate al di fuori del codice, consentendo lo stesso codice da utilizzare in diversi ambienti di database.
• OpenSQL, un’astrazione della sintassi SQL che fa parte del linguaggio ABAP e che l’ambiente di runtime converte in SQL nativo appropriato per il database utilizzato. Open SQL ha molte somiglianze con il concetto LINQ (Language Integrated Query) di Microsoft .NET
• Tabelle interne, che contengono raccolte di oggetti a cui si accede utilizzando parole chiave speciali o Open SQL. Questo concetto contrasta con il concetto di array digitati come in Java o C ++.·
• Sicurezza, in cui il programma applicativo è integrato con l’infrastruttura di sicurezza di SAP NetWeaver.·
• Dizionario dati, un dizionario universale delle definizioni della struttura dati, che include spesso la logica aziendale, disponibile per tutti i programmi a sistema.·
• Change and Transport System (CTS), che tiene traccia delle modifiche agli oggetti di sviluppo e gestisce la promozione degli oggetti di sviluppo in ambienti di qualità e di produzione.·
• Sistema di sviluppo condiviso, che è un aspetto importante. ABAP differisce dalla maggior parte dei nuovi linguaggi in quanto lo sviluppo di solito avviene su un sistema condiviso, con tutti gli sviluppatori che lavorano allo stesso insieme di oggetti di sviluppo contemporaneamente.
ABAP e HANA
Sostanzialmente ABAP continua ad essere una parte importante dello stack tecnologico di SAP.
Anche se ha avuto un ruolo ridotto in molti prodotti con l’avvento della piattaforma HANA, è ancora centrale per i prodotti SAP più diffusi, svolge un ruolo importante nella piattaforma ERP S / 4HANA di prossima generazione di SAP ed è stato annunciato come runtime per la piattaforma SAP Cloud.