Skip to Content

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: /wp-content/uploads/2014/07/arc_489914.jpg

/wp-content/uploads/2014/07/res_487001.jpg

Appointment gets created in ByDesign:
/wp-content/uploads/2014/07/c_app_487002.jpg

And Calendar event in Google as below:
/wp-content/uploads/2014/07/g_event_487003.jpg

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:
/wp-content/uploads/2014/07/b_app_487018.jpg
Same gets reflected/created on Google Calendar as well:
/wp-content/uploads/2014/07/g_det_487019.jpg

To report this post you need to login first.

1 Comment

You must be Logged on to comment or reply to a post.

  1. Thanarat Jaruenying

    Hi Rahul,

    I’m working on SAP ByD to integrate Google Calendar API.

    I’m stucked on Google API key because i tried to use REST-based service but it’s longer than the gap that i have to put the key on SAP cloud studio.

    May you give me some info about it?

    Best Regards,

    Thanarat

    (0) 

Leave a Reply