ABAP as a foundation for many applications offers a broad range of integration and connectivity technologies for remote SAP- and non-SAP systems. Universal internet protocols like HTTP(s) and data formats like XML and SOAP can be used as well as SAP-proprietary protocols and formats like RFC/BAPI, IDoc and ALE/EDI.
Developers can expose ABAP-based functionality as a Web or enterprise service by publishing the service definition in the Enterprise Service Repository, creating a server-side proxy, and implementing the service using the ABAP programming language. To consume existing Web Services, the creation of Consumer Services (Proxy), based on the WSDL document, is supported by a wizard.
For regularly updated information, see the wiki on ABAP connectivity.
ABAP Service Provisioning and Consumption
SAP NetWeaver Application Server ABAP provides business logic for many applications, such as SAP Business Suite and SAP Business ByDesign, and therefore must necessarily be able to communicate with other ABAP and non-ABAP application servers. In the course of time, the format for exchanged data has altered from ABAP-only to universal. Nowadays, data will mostly be exchanged between servers using universal Internet protocols like HTTP, HTTPS, XML or SOAP. Due to their historical roots and their wide spreading, SAP- proprietary formats like RFC, IDoc, ALE/EDI or BAPI still continue to have a right to exist.
Web Services for ABAP
Web services represent the strategy for communication within SAP NetWeaver and between other systems. They are a uniform technology that allows you provide and consume services independently of implementation and the underlying protocol. Furthermore, you can do so both within SAP NetWeaver and in the communication with other systems.
The ABAP Workbench offers an environment where you can publish, search for, and call Web services. It enables the SAP NetWeaver Application Server to act both as a server and as a client for Web services.
To get started, see the following link:
Enterprise Services
Enterprise services are basically highly integrated Web services combined with business logic and semantics that can be accessed and used repeatedly to support a particular business process. Enterprise services provide business processes or business process steps that can be used to compose business scenarios while ensuring business integrity and ease of reuse. For storage the Enterprise Service Repository and Registry are provided by SAP NetWeaver.To get started, see the following links:
Other Methods of Connectivity
Remote-Function-Call (RFC) is known as a reliable and very fast protocol to communicate between SAP systems/SAP Connectors (available for various computer languages) for tightly coupled applications:
- Connections can be kept open easily
- Connection loss is easily recognizable
- ABAP transaction/locking concept can be leveraged
- Different connection models available (synchronous, asynchronous, queued)
- Flexible (low-very high data amount possible, fast and slow connections supported, compatible and incompatible changes of interfaces possible)
- High-Performance due to lack of need for data transformation
RFC is the foundation for BAPI technique as well as for typical ALE scenarios.
RFC (Remote Function Call)
Communication between applications of different systems in the SAP environment includes connections between SAP systems as well as between SAP systems and non-SAP systems.ABAP function modules with attributes "remote enabled" can be called from other systems using the SAP-proprietary RFC-protocol. Different patterns like synchronous or transactional calls are possible. Non-ABAP systems can use the RFC library to implement RFC server or RFC client programs.To get started, see the following links:
BAPI (Business Application Programming Interface)
BAPIs are still available, but will be replaced by Enterprise Services technology (ESR), in future. The most important BAPIs are already available as Enterprise Services.To get started, see the following links:
- BAPIs (in SAP Help Portal)
- BAPI User Guide (in SAP Help Portal)
Get an impression on what BAPIs are and how to program with them from this library chapter.
Taken from the chapter introduction: "BAPIs (Business Application Programming Interface) are specific methods for SAP business objects, which are stored in the Business Object Repository (BOR) of the SAP system and are used for carrying out particular business tasks.In the SAP system, BAPIs are stored as RFC-capable function modules in the ABAP Workbench Function Builder. BAPIs have standard business interfaces that enable external applications (with the help of SAP business objects) to access SAP processes, functions and data."
ALE (Application Link Enabling) / IDOCS (Intermediate Documents)
ALE is the overall term for exchanging data packages (called IDocs) between systems, be it SAP or non-SAP. The data exchange is always asynchronous, and different ways can be used to transfer the IDocs, e.g. transactional RFC (tRFC) or file transfer, depending on the capabilities of the systems involved. EDI (Electronic Data Interchanged) is another scenario where IDocs are used to run distributed applications.To get started, see the following links: