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.
I 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 I 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, I 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 I 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. I choose to continue to use AlamoFire and SwiftyJSON to provide easy to use web service connections and JSON parsing.
To facilitate the authentication call, I 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
I am 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
After authenticating the user, our project requires data to populate the ‘aliens’ which need to be shot down ( or Approved ). To do that I integrated a sample Purchase Order display services from the set of publicly available ODATA services from SAP.
I integrated these services and, again, utilized AlamoFire and SwiftyJSON to call the integrated service. I 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, please let me know!