Application Server ABAP
The SAP Web Application Server provides a complete development and runtime environment for ABAP-based applications. It is optimized for the development of highly scalable business applications.
The ABAP development environment is used both for developing completely new applications and extending and modifying SAP standard applications for customers. The entire, powerful infrastructure of the Web AS can be used, which even supports the creation of the most complex applications by large groups of developers.
The ABAP technology can be used to implement complete applications including user interfaces. However, it is also possible to implement only the core components of an application, such as the business logic and persistence in ABAP and to use defined interfaces (RFC, BAPIs, Web Services and so on) so that a Java-based interface can be used, or to make other applications available.
To be able to understand the documentation, users should be familiar with:
- Basic programming knowledge
- Database programming in SQL
- Principles of object-oriented programming
The ABAP development and runtime environment makes it possible to develop complex business applications, without having to worry explicitly about technical details such as process or memory administration, multi-user capability, database connections or similar issues. These are provided in the basis services or are integrated directly in the ABAP runtime. The application development is similarly independent of the underlying platform. The Web AS decouples the application coding completely from the operating system and database that are used.
In addition to the pure ABAP Editor for creating ABAP source code, the development environment, which is completely integrated in the server, also provides support for developing extensive projects in the form of:
- Versioning support
- Structuring the development object in packets
- Interface editors for SAP GUI-based interfaces
- Development tools for Web interfaces
- Support for multi-lingual text elements and messages
- Connection to the Transport Organizer
- Direct access to all data definitions in the ABAP Dictionary
- Tools for runtime analyses
- Test tools
- Modification assistant to compare user-defined extensions
ABAP development projects are managed directly in the system; metadata and source code are located in the database.
The ABAP programming language unifies the advantages of an object-oriented language with those of an integrated 4GL language. The typical OO language constructions such as classes, interfaces, inheritance and so on are available. Furthermore, many of the server’s services, which are integrated in other languages in the form of libraries and have to be addressed using APIs, are integrated directly in the language. This includes amongst other things the direct possible use of all data types that are managed in the central ABAP Dictionary, in particular the integration of database access.
Persistence and Transactions
A central feature of the ABAP development is the direct integration of database access. The runtime environment ensures that every ABAP program automatically receives an open connection to the central database in the system, so that an application programmer does not need to worry about opening and closing database connections. ABAP Objects contain Open SQL, a platform-independent SQL dialect as a direct component of the language. It can be used to execute database accesses directly without having to use an API or a class library. Buffer mechanisms on the application server-side ensure that highly-scalable, complex database accesses are possible.
In addition to Open SQL, object services are offered that enable persistent objects to be defined, whose persistence is completely taken over by the runtime.
The runtime system provides its own lock mechanism for synchronizing accesses to data in the database. This prevents two parallel transactions from being able to change the same data in the database. The update enables business processes to be mapped in transactions, which ensure the integrity of the data.
With Web Dynpro ABAP, Application Server ABAP provides a programming model based on the Model View Controller principle. The architecture of this model is identical to that of Web AS ABAP and Web AS Java. Applications that were created using Web Dynpro for ABAP are displayed using a standard browser on the user’s PC.
In the past, the interfaces of classic SAP applications were based on the SAP GUI. In addition to the list-based display of data, the dynpro technology gives you the option of programming dialogs, which are displayed at runtime using a proprietary protocol in the SAP GUI. This type of UI programming is still possible, and additional UI programming technologies have been created.
The ITS was introduced so that you can use existing interfaces in the Web whilst keeping the work required to migrate them as low as possible. In addition to the pure conversion of the GUI interface into the Web protocol at runtime, it is also possible to create special, HTML-based interfaces, which are mixed at runtime with the data belonging to screens that were developed especially for this.
The Business Server Pages model follows the server-side scripting approach. Similar to JSPs, this model makes it possible to create an HTML-based Web application with integrated ABAP. The Business Server Page model is based on the underlying Internet Communication Framework, which enables it to implement ABAP-based services, which respond to HTTP or HTTPS requests.
Documentation and Translation Tools
The integrated documentation and translation tools are used to create documentation and multilingual applications. New applications and changes to SAP standard applications can be documented directly. The documentation texts are managed similarly to the development objects. Multilingual texts can be created separately from the actual program development using the translation tools. Connection to the transport system means that even complex documentation and translation landscapes can be created and managed.