Collaborative Applications using SAP Business Technology Platform and Microsoft Teams
This engagement between SAP and Accenture is part of a program to create a recommended architecture to extend SAP S/4HANA business processes with Microsoft Teams leveraging SAP Business Technology Platform.
This blog post explores a proof of concept where SAP and Accenture came together to rethink enterprise collaboration, driven by digital ecosystems that enable hybrid forms of cooperation and competition. It leverages the Microsoft Teams application integrated with the SAP Business Technology Platform to interact with SAP S/4HANA business processes. In the upcoming sections of the post, we will describe the use case, solution, recommended architecture(s), and a quick demo followed by the instructions to deploy the solution from a GitHub repo.
Thanks to Bhagya Subbareddy (Global Vice President, Strategic Partnerships at SAP) for anchoring this strategic partnership between SAP and Accenture. Special thanks to Uma Anbazhagan from SAP for driving this project by collaborating with all the stakeholders involved in the engagement.
[Updated] Important Links
The digital workplace has become pervasive in our day-to-day lives and hybrid work from anywhere, anytime has become a reality. For many customers, Microsoft Teams is the foundation of this new way of collaborative working.
What if you could integrate SAP business processes through Microsoft Teams using the power of SAP Business Technology Platform to enhance the user experience? Bringing together SAP business processes and analytics into one single pane of glass with Microsoft Teams? And even extend that to other applications? Welcome to the world of collaborative apps!
What business value would such an approach bring?
- Access through a single user experience across the application stack spanning SAP and Microsoft
- Enable live collaboration internally and with external partners and push the results directly back to the business applications, turning an unstructured process into a structured collaborative experience
- Capture the user experience and satisfaction and drive process improvement
To which processes could this apply? Any process that requires multiple people to interact, including:
- Budget forecasting
- Budget tracking, especially where multiple stakeholders need to collaborate across geographies
- Cash flow forecasting
- Supply chain planning and forecasting
- Talent reviews
While SAP and Microsoft have developed and keep developing out-of-the-box collaborative apps, there is a wide space for us, technologists, to build apps tailored to the client environment.
By tapping into SAP Business Technology Platform, SAP S/4HANA, Microsoft Teams and Microsoft Azure services, we have a toolbox at our disposal to build these types of apps.
SAP and Accenture’s SAP and Microsoft Business Groups came together to build a sample use case anchored around supplier collaboration.
(Supplier Collaboration) Scenario Context
Companies nowadays deal with primary suppliers and secondary suppliers. Due to the supply chain disruptions, companies are facing, the importance of secondary suppliers has increased. Working with these suppliers is an unstructured process where the procurement persona needs to pull together data from multiple sources, make decisions, come to agreements with them and from there feed the decisions into the backend systems.
This solution enables business experts to collaborate with suppliers to update the supplier confirmations on unfulfilled and pending Purchase Orders (PO) transparently and provide flexibility to meet business requirements. It includes processes, decisions, and visibility scenarios, enabling customers to flexibly configure process variants in a low-code/no-code approach.
Addressing an end-to-end supply chain ecosystem involves multiple processes. In a procure-to-pay process, multiple personas will be responsible for executing and monitoring the entire process chain. We look at three critical personas for managing PO confirmations in this use case.
The requestor creates a PO with the required line items. The operations manager/purchase manager needs to receive these line items for approval and look for closure of the purchase order. In case of delays, the operations manager will interact with suppliers to discuss the updates on pending confirmations or overdue delivery on the list of line items. This will help all the stakeholders to discuss and view the purchase order details together and complete the confirmation summary.
Let us look at the user journey of the operations manager/purchase manager persona.
Figure 1 depicts the business process flow.
The requestor creates a Purchase Order(PO) in SAP S/4HANA with a list of line items for a specific supplier. The requestor might also want to check the PO’s status.
For all the pending POs not fulfilled within a given time frame, the Microsoft Teams application will provide the operations manager (SAP business user) with alerts on details of unfulfilled purchase orders due to pending confirmation or overdue delivery from suppliers.
They can interact with a chatbot to query for additional information and use the chatbot to schedule a meeting with the supplier to discuss further.
The confirmation summary on the PO is captured in the meeting and updated in the SAP S/4HANA system.
The guiding principles to derive a solution architecture for this use case are based on leveraging the core foundational services of SAP Business Technology Platform and include event-based integration with SAP Event Mesh, SAP Connectivity Service, SAP Private Link Service, SAP Destination Service, SAP Cloud Connector and a Node.js extension application on the SAP Cloud Foundry runtime.
We used Microsoft Azure Active Directory (Azure AD) for user authentication & authorization, Microsoft Teams, and technical services from Microsoft Azure (Bot Service, Enterprise App Registration, Microsoft Graph and Azure Blob Storage).
Principal propagation of the users between Microsoft Azure, SAP BTP and SAP S/4HANA is achieved using the XSUAA configuration and trust configuration between Azure AD and SAP BTP. This will ensure secured authentication and authorization for integration with SAP S/4HANA.
The two diagrams below depict the architectures with SAP Business Technology Platform, Microsoft Azure and SAP S/4HANA (on-premise hosting on hyperscalers and Microsoft Azure-specific).
Figure 2 depicts the high-level solution architecture for a first scenario leveraging SAP Connectivity Service, while figure 3 shows a second scenario using a private link service (SAP Private Link and Azure Private Link).
Scenario 1: High-level architecture using SAP Connectivity Service and SAP Cloud Connector
The architecture below leverages SAP Cloud Connector and SAP Connectivity Service to establish secured communication between SAP BTP and SAP S/4HANA seamlessly.
The following steps depict the information flow across systems:
- The business user creates and updates the purchase orders.
- Based on the status of purchase orders, an event is triggered from SAP S/4HANA, which is published on SAP Event Mesh. This is achieved by PO flexible workflow and background job configured in SAP S/4HANA.
- Updates from SAP Event Mesh are sent to the Node.js application running on SAP BTP.
- The extension application (Node.js) sends the event to the Microsoft Azure Bot Service.
- The end-user in Microsoft Teams receives the event and views the details of the purchase orders and individual line items.
- The user selects the line items for which confirmation is required by the supplier.
- The extension application queries the line item details and the confirmation summary from SAP S/4HANA via the SAP Destination Service and Cloud Connector.
- Based on this information, the SAP business user can schedule a Microsoft Teams meeting with suppliers.
- During the meeting, supplier confirmations are updated back in SAP S/4HANA via Microsoft Teams.
Scenario 2: High-level architecture using SAP Private Link Service (SAP S/4HANA on Microsoft Azure – RISE with SAP)
The architecture in Figure 3 leverages the SAP Private Link Service in SAP BTP and Azure Private Link to establish secure communication between SAP BTP and SAP S/4HANA by keeping traffic flow constrained to Microsoft Azure’s internal network backbone.
Briefly, the SAP Private Link service is available in SAP BTP with Microsoft Azure as an IaaS provider for establishing a secure connection between selected SAP BTP and Azure services, ensuring that the traffic is routed within the Azure network backbone (i.e., between SAP BTP and Azure VNet).
The steps mentioned in scenario 1 are the same in scenario 2, except for the last step where the SAP Private Link service is used for establishing private connection between SAP BTP and SAP S/4HANA.
You can find more information on both services here:
Read the blog post Extend your Business Processes with the new SAP Private Link service by Harutyun Ter-Minasyan on how to securely consume data from the SAP S/4HANA system.
Key Advantages of This Architecture
Developers implementing similar use cases with Microsoft Teams and SAP BTP will benefit from the following integration capabilities:
- Access to the Microsoft Teams user experience for SAP business processes.
- Event-driven integration touch points with SAP S/4HANA with SAP Event Mesh as a central hub. We are also working on integrating SAP Event Mesh and Azure Event Grid. This helps manage events from both SAP and Microsoft systems.
- Network security-focused design with SAP Private Link specifically for RISE with SAP customers between SAP BTP on Azure (any region) and SAP S/4HANA on Azure.
- Single sign-on and principal propagation of users from Azure AD to SAP BTP and SAP S/4HANA.
Scenario Setup and Deployment
To get the entire scenario working, there are prerequisites and initial configurations required in SAP Business Technology Platform, Microsoft Azure and SAP S/4HANA.
Please refer to the GitHub repository – Creating collaborative applications using SAP Business Technology Platform and Microsoft Teams for SAP S/4HANA Business processes. (github.com) which contains code samples and instructions for developing a native Microsoft Teams application and an SAP Business Technology Platform extension application for extending the SAP S/4HANA business process into the Microsoft Azure ecosystem.
The GitHub repository covers:
- Configurations in Microsoft Azure, SAP BTP and SAP S/4HANA.
- Extension application development in Node.js. This can be enhanced to incorporate additional validations and business scenarios.
- How to set up principal propagation for users between the SAP and Microsoft ecosystems.
- How to setup and leverage the SAP Private Link Service and Azure Private Link Service in case of SAP S/4HANA on Azure.
You can watch a demo here that showcases collaboration on pending supplier confirmation purchase orders in SAP S/4HANA.
We recommend checking out the OpenSAP course on building applications on SAP BTP with Microsoft Services
To learn more about SAP Business Technology Platform, see the learning journey on SAP Learning called Discover SAP Business Technology Platform (a great, free introduction to BTP and the Intelligent Enterprise strategy to see what it’s all about) or check out Develop Advanced Extensions with SAP Cloud SDK plus much more free learning at the SAP Learning site.
We hope that this blog has given you a brief idea of how to create collaboration scenarios, using SAP BTP to create extensions for SAP Business Processes with Microsoft Azure.
We will publish further blog posts with an updated version of this scenario with additional integrations.
If you want to find out more or discuss how to create collaborative applications for your organization, please get in touch with PVN PavanKumar.