Development using ABAP and JAVA
ABAP stands for Advanced Business Application Programming language. It is an interpreted programming language that runs in the SAP ABAP Runtime environment. ABAP is the the language for programming the SAP Application Server, part of its NetWeaver platform. for building business applications. It has evolved over the years to include Object Oriented language extensions as well.
All ABAP programs reside inside the SAP database. They are not stored in separate external files like Java or C++ programs. In the database all ABAP code exists in two forms: source code, which can be viewed and edited with the ABAP Workbench tools; and generated code, a binary representation somewhat comparable with JAVA bytecode. ABAP programs execute under the control of the runtime system, which is part of the SAP kernel. The runtime system is responsible for processing ABAP statements, controlling the flow logic of screens and responding to events (such as a user clicking on a screen button); in this respect it can be seen as a Virtual Machine comparable with the Java VM. A key component of the ABAP runtime system is the Database Interface, which turns database-independent ABAP statements ("Open SQL") into statements understood by the underlying DBMS ("Native SQL"). The database interface handles all the communication with the relational database on behalf of ABAP programs; it also contains extra features such as buffering of tables and frequently accessed data in the local memory of the application server.
With the introduction of the Netweaver release, certain applications such as Portal technology were best run on a JAVA based solution, such as J2EE. SAP Netweaver also has a JAVA based runtime environment. This runtime environment runs JAVA based solutions that have been deployed to the SAP JAVA server.
SAP has balanced its SAP software to leverage the best of either language for supporting the various applications.
Note: Some applications, such as the process integration solution (PI or XI) requires both an ABAP and JAVA stack, as it uses the best of both from an integration point of view.SAP Development objects are part of the SAP Software repository. This repository consists of the following types of development objects:
There are several other repositories that contain various constructs and objects that are used by developers, such as the MIME repository containing multimedia objects.