Enterprise Resource Planning Blogs by SAP
Get insights and updates about cloud ERP and RISE with SAP, SAP S/4HANA and SAP S/4HANA Cloud, and more enterprise management capabilities with SAP blog posts.
cancel
Showing results for 
Search instead for 
Did you mean: 

Overview:

The concept here describes how partners could leverage ByD Groupware APIs to enable integration with Google content. As of ByD release 1311, SAP Business ByDesign provides a set of re-usable Inbound and Outbound APIs to enable Groupware Integration. These APIs are fundamental technical contracts that a groupware consumer needs to abide by in order to consume ByD content to provide groupware functionality. A couple of these APIs are intended to be consumed in the partner layer via the SAP Cloud Application Studio.

One such integration of Google calendar with ByD is done as Proof of Concept (POC). The objective is to provide the end user an alternative option to manage their ByDesign Appointments via their Google Calendar account as well. The final target is to achieve feature parity equivalent to what is already possible via MS Outlook integration. The approach described below can be used for integration with other Google APIs as well (Ex: Google Contacts)

Technically the connectivity will be achieved via REST-full re-use of existing web services for the inbound scenarios (ByD as server) and via Google REST APIs for outbound (ByD as client e.g. sync of ByD appointments into Google calendar OR query data from Google). The idea is to provide the required infrastructure and backend APIs for the Partners to make use of and build their own solutions via Partner Development Infrastructure (PDI). The Inbound scenario(s) can be enabled via Browser add-ons or Google gadgets (JavaScript based) which may push and pull data to/from the backend.

To make REST calls for groupware scenarios, a special groupware URL needs to be used: https://host_name/sap/byd/groupware, instead of the typical SOAP address endpoint.

Inbound Scenario:

refers to Read/Create Appointments in ByDesign from Google via making REST calls to Groupware endpoint URL. These REST calls are expected to be made via Browser add-ons or Google gadgets.

For a browser based application, since there is a cross domain call to ByD, the groupware URL allows only very specific HTTP origins that are pre-specified in an application exit. The partner needs to specify these via an application exit CrossOriginResourceSharingRequestorsForByDGroupware implemented using the SAP Cloud Application Studio. To support the cross domain call (which is traditionally not allowed by standard browsers), ByD implements HTTP permissions via CORS (Cross Origin Resource Sharing) methodology with specific custom headers. Please refer to POC document for details.


For test purposes, the REST calls can be triggered via any browser plugin (Ex: Postman, Advanced REST client) as shown below:

Appointment gets created in ByDesign:

And Calendar event in Google as below:

Outbound Scenario:

refers to Read/Create Calendar Events in Google from ByDesign via Google REST APIs (OAuth2.0 for authorization). For example, an appointment is changed by the sales manager where adjustments are made with regards to attendees. For those attendees, the appointment data in Google needs to be updated. Some of these attendees could be sales representatives registered for Google appointment sync.

Outbound Scenario requires:
    • Listening to the events of ByD data changes and calculating what content needs to be updated into Google
    • Format conversion into JSON or ATOM
    • HTTP call to Google via OAuth2.0 authentication mechanism

Please refer to POC document for details.

On creating New Appointment in ByDesign:

Same gets reflected/created on Google Calendar as well:

2 Comments