Galactic Inbox For SAP Using the SAP Cloud Platform SDK for iOS

May 8, 2017
cgutjahr

Several weeks ago SAP and Apple officially announced the release of the SAP Cloud Platform SDK for iOS. The purpose of the SDK was to allow developers to develop native Apple iOS applications which seamlessly integrate with backend processes powered by the SAP suite of business applications. The SDK also includes a re-usable design components called SAP Fiori for iOS ( allows you to build native Fiori looking apps).

The SAP Cloud Platform Mobile Services for development and operations provides various mobile centric services, such as authentication, device registration, logging and proxying of back-end services.

It also provides a secured, SAP-backed, methodology to integrate SAP services ( via Gateway or other means ) into native mobile applications after users have been authenticated.

We decided to take the new SDK for a spin and integrate it into our Galactic Inbox for SAP application. This is a native mobile application, built on SWIFT, which we showcased a new way of thinking about SAP and Gamification.

The SDK provides quite a few integrate points with the SAP Cloud platform including, Push Notification integration and logging integration. However, we figure that a majority of people will want to simply build an iOS application which authenticates to SAP and allows data to flow from the backend to the application.

Therefore we focused our demo on doing just that.

The pieces of the SDK we used, actually, already existed. They are web services which allow users to connect to the cloud platform and first Authenticate the user and then retrieve information from services already integrated. We choose to continue to use AlamoFire and SwiftyJSON to provide easy to use web service connections and JSON parsing.

Authentication

To facilitate the authentication call, we added a login screen to the Galactic Inbox. Users simply enter their credentials and their information is validated via a web service call to the SAP Cloud Platform

We are using a web service call to the ‘connections’ endpoint and passing in the credentials entered by the user

HTTP Method : Get
HTTP Headers : Content-Type = application/json
Accept = application/json
authorization = Basic "SOMEVALUE"
X-SUP-APPCID = <SOMEUNIQUE_VALUE>
https://xxx/odata/applications/latest/com.spyvee.demoCall/Categories

Data Services

After authenticating the user, our project requires data to populate the ‘aliens’ which need to be shot down ( or Approved ). To do that we integrated a sample Purchase Order display services from the set of publicly available ODATA services from SAP.

We integrated these services and, again, utilized AlamoFire and SwiftyJSON to call the integrated service. We then parse that response and populate our ‘aliens’ waiting to be approved ( or shot down !)

HTTP Method : Get
HTTP Headers : Content-Type = application/json
Accept = application/json
X-SUP-APPCID = <SOMEUNIQUE_VALUE>
https://xxxx/odata/applications/latest/com.spyvee.demoCall/PurchaseOrders

Check out our Live Demonstration

If you would like more information, a demo of the mobile game or would like us to help you with your project, please contact us.

Contact