Sviluppo Software
SAP NetWeaver offre due differenti ambienti di runtime: l'ABAP runtime environment (usage type AS ABAP) ed il Java runtime environment (usage type AS Java).
ABAP (Advanced Business Application Programming) è un linguaggio di programmazione sviluppato da SAP. La gran parte delle applicazioni di business presenti in un sistema SAP sono scritte in ABAP.Il linguaggio è stato ottimizzato per lo sviluppo di applicazioni di business caratterizzate da elevata scalabilità. I clienti possono utilizzare l'ABAP Workbench per sviluppare applicazioni completamente nuove oppure per ampliare e modificare le applicazioni standard SAP. Per questi sviluppi il programmatore ha a disposizione l'intera potente infrastruttura dell'Application Server ABAP, che è in grado di supportare la creazione delle più complesse applicazioni da parte di ampi gruppi di sviluppatori. L'Application Server ABAP costituisce l'ambiente di runtime per tutti i programmi scritti in ABAP.
SAP offre non solo l'ambiente di runtime ABAP, ma anche un ambiente per programmi sviluppati in Java. L'AS Java è un application server basato sullo standard Java 2 Enterprise Edition (J2EE).
Il linguaggio di programmazione Java fu introdotto da Sun Microsystems nel 1995. Java è un ambiente orientato agli oggetti ed indipendente dalla piattaforma, che si è ormai consolidato e diffuso in numerose aree. Si possono sviluppare numerose tipologie di applicazionii, da quelle classiche alle applets utilizzate nei siti web fino ad applicazioni di tipo client/server.
La Java 2 Platform Enterprise Edition (J2EE) è uno standard per un'ampia gamma di componenti software. Sun utilizza il test di compatibilità J2EE per garantire la conformità alle specifiche Java 2 Enterprise Edition.
L'obiettivo di queste specifiche è fornire un framework per l'utilizzo di componenti modulari per lo sviluppo di applicazioni distribuite e multilivello.
Secondo le specifiche J2EE la logica applicativa viene incapsulata in Enterprise JavaBeans (EJB), che rappresentano componenti di programmi Java. Un contenitore implicitamente fornisce i componenti con i servizi dell'ambiente di runtime.
