https://github.com/Microsoft/ABAP-SDK-for-Azure
Author: Microsoft SAP Team
Version: 1.0
- Why do you need ABAP SDK for Azure?
- Business Use Cases
- Architecture
- Installation
- Implementation Guides
- Dos and Don’ts on usage of ABAP SDK
- For more information
- Contact and Support
Microsoft Azure is an ever-expanding set of cloud services to help your organization meet your business challenges. It’s the freedom to build, manage, and deploy applications on a massive, global network using your favourite tools and frameworks.
By hosting your applications in Azure, you can start small and easily scale your application as your customer demand grows. Azure also offers the reliability that’s needed for high-availability applications, even including failover between different regions. The Azure portal lets you easily manage all your Azure services. You can also manage your services programmatically by using service-specific APIs and templates provide by Azure.
For more details on Azure, visit Microsoft Azure
Many large enterprise customers use SAP to run their business. There is growing need to integrate SAP applications to cloud. With Azure gaining popularity with enterprise customers, integrating SAP to Azure natively will be a basic and critical requirement for Azure adoption in enterprises.
Microsoft has created ABAP SDK for Azure to simplify SAP integration with Azure.
This SDK is the built using SAP’s proprietary language ABAP and its supporting configuration tools. The framework enables the programmer to integrate with Azure services by abstracting the complexity like authentication, shared access tokens, security etc
ABAP SDK for Azure helps enterprises to accelerate their Azure cloud adoption by making SAP functionality and data securely available on cloud for partners and other custom applications
SAP plays a pivotal role in all the companies that have implemented SAP to run their business, and with increased focus on cloud to reduce infrastructure costs and capital expenditures, companies have a strong requirement to integrate their SAP data to cloud products to run their business more efficiently.
ABAP SDK for Azure was designed and developed to help all the SAP customers to communicate or integrate with the latest Azure Products and services directly. It helps customers to run their business more efficiently and at the same time making sure companies are not left behind with outdated technologies which cannot scale to new generation cloud computing technologies.
As of today, there are no products that exist which can integrate SAP to Azure cloud services except for SQL storage and Blob. In the absence of native integration, customers are using middleware systems for this purpose. These middleware systems always come with extra development effort, more coordination, additional costs, reduced performance, high latency round trips and so on.
ABAP SDK for Azure provides a platform for all SAP developers to easily integrate to Azure cloud services directly without above mentioned pain points.
The ABAP SDK for Azure libraries are built in SAP’s programming language ABAP, and these libraries can easily be consumed in any ABAP based tools and products. The SDK also follows the industry standards to ensure the safety of secrets keys that are provided by Azure cloud services. These secrets are either stored in SAP’s secure store or encrypted before storing into database.
SDK also provides detailed execution logs and has capabilities like,
- Automatic reprocessing of payloads
- Dashboard for monitoring and troubleshooting
- Email notifications in case of errors
- Throttling and Queuing for Transactional payloads
In current version, ABAP SDK for Azure provides ABAP libraries for the below mentioned Azure Services. Each of these Azure services can be used to address various IT and business requirements in your landscape. Please go through individual Azure service documentation to understand it’s purpose and use cases in detail.
All the systems that are integrated with SAP do not have any visibility or status on the transactions that were being processed by SAP. With Azure SDK for ABAP, near real time notifications can be sent to Azure Cloud product like Eventhub where all the interested parties can subscribe to receive the status updates of SAP system. This provides more transparency to the business and all the involved parties within IT
There are no tools that can integrate SAP to Azure services directly, so customers started had to use middleware applications like .NET Web API’s, Web services, etc. to integrate SAP to Azure Cloud. Now with Azure SDK for ABAP, Developers can directly integrate SAP to Azure products.
SAP has released a product named SLT for real time data replication from SAP to other databases. But, this product is supported only for SQL databases and does not support Azure cloud products. Azure SDK for ABAP can be integrated with SLT product for supporting the real-time data replication to Azure cloud products.
SAP transactions raise many events during the end to end business flow, these events can be listened for real time status on the business process flow. Azure SDK for ABAP can easily be integrated into these event listeners and transfer the real time business process data to Azure cloud services for more Business and Application Insights.
Note: These are few sample business use cases given as example. There could be many more use cases depending on your business needs.
All the libraries in Azure SDK for ABAP are built using SAP’s proprietary language ABAP, so this makes it very easy for all the SAP customers and developers to easily consume the libraries in any ABAP based programs or objects in SAP ABAP NetWeaver stack.
ABAP SDK for Azure primarily uses HTTPs protocol and ODBC connections to transfer the data to Azure Cloud products and Services.
Figure 1: High-level Architecture diagram of ABAP SDK for Azure
You can easily install ABAP SDK for Azure in your landscape throughNote: : abapGit is mandatory to install ABAP SDK for Azure. If you do not already have it in your SAP system, please install it. For more details on abapGit installation, visit https://github.com/larshp/abapGit
In SE80, create a new package ‘Z_AZURE_ABAPSDK’
After creating package, in se38 execute program ‘ZABAPGIT’ and select ‘+Online’
Maintain the data in the fields as mentioned below and Select push button ‘OK’.
Git clone URL: https://github.com/Microsoft/ABAP-SDK-for-Azure
Target Package: Z_AZURE_ABAPSDK
Save and activate all the objects into a transport request.
Now abapGit will show all the objects of ABAP SDK for Azure on the screen as shown in below screenshot
Once installed successfully, you should see all the objects of ABAP SDK for Azure imported into package ‘Z_AZURE_ABAPSDK’.
We have used Abstract factory pattern to build these libraries. So, implementation of these libraries is almost similar with few minor differences in configuration. Please find the detailed implementation guide for Azure Event hubs.We will be provide Implementation guides for other services in our next releases.
• ABAP SDK Implementation Guide for Event Hubs
• ABAP SDK Implementation Guide for Azure Active Directory
ABAP SDK currently supports only HTTPS protocol, so be very cautious about performance issues when sending high volumes of messages from SAP to Azure services. You need to consider parallel processing techniques to avoid performance bottlenecks in SAP system.