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.


Authentication

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

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 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!

To report this post you need to login first.

5 Comments

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

  1. Andreas Schlosser

    Craig,

    Thanks for sharing your experiences here; it looks like we should extend the Fiori for iOS design language to also include templates for enterprise space ships.

    If you’re interested in exploring the SDK more and leveraging a couple other features that we think would make your development easier, you may be interested in checking out our SAPOData framework and the tools around generating proxy classes (or client classes) to have strongly typed Swift classes for the OData entities that you can very easily interact with, incl. code completion in Xcode and fluent query APIs.

    We have API docs at https://help.sap.com/doc/978e4f6c968c4cc5a30f9d324aa4b1d7/Latest/en-US/Documents/Frameworks/SAPOData/index.html

    You could then also take this further and make the app offline-enabled, so people can also use this in outer space with bad network coverage.

    Thanks

    Andreas

    (2) 
    1. Craig Gutjahr Post author

      Hi Andreas!

      Thanks for the response..

      We have just started started looking into the SDK.. As we dig into it more, we will updated our fleet of spaceships!

       

       

      (1) 
  2. Moya Watson

    May the force be with you!

     

    Who says business apps are boring? Would love to see a workflow in this UI — maybe we can add integrating the new Workflow service to your plate 🙂

     

    thanks for taking the time to share this awesome stuff!

    (1) 
    1. Craig Gutjahr Post author

      Hi Moya,

      Thanks for the note..

      We actually have done quite a bit of work with the (old?) BPM tool and would be interested in learning more about the new workflow service. Feel free to shoot me your contact info and we can talk about it more.

      Thanks

       

      (1) 
      1. Moya Watson

         

        Hi Craig! I haven’t had the pleasure of using it yet myself, but can’t help noticing all the great scenarios coming out the the community already — the lion’s share by Fabian from Sycor — https://people.sap.com/f.lehmann  – check some of these out for inspiration:

        (note – service not on trial landscape yet but you can get it ala carte on production) —

         

        Using SAP Cloud Platform Integration to start a SAP Cloud Platform Workflow

        https://blogs.sap.com/2017/05/05/using-sap-cloud-platform-integration-to-start-a-sap-cloud-platform-workflow/

         

        SAP Cloud Platform Integration and SAP Cloud Platform Workflow: just a good combination

        https://blogs.sap.com/2017/05/09/sap-cloud-platform-integration-and-sap-cloud-platform-workflow-just-a-good-combination/

         

        Simple SAP Cloud Platform Workflow to retrieve alerts from an REST API

        https://blogs.sap.com/2017/05/04/simple-sap-cloud-platform-workflow-to-retrieve-alerts-from-an-rest-api/

         

        Initiate your Workflow from SAP Cloud Platform Integration Services

        https://blogs.sap.com/2017/04/13/initiate-your-workflow-from-sap-cloud-platform-integration-services/

         

        Do you want to quickly streamline and automate key processes?

        https://blogs.sap.com/2017/03/31/do-you-want-to-quickly-streamline-and-automate-key-proesses/

         

        Model your workflow scenarios in the Cloud

        https://blogs.sap.com/2017/05/01/model-your-workflow-scenarios-in-the-cloud/

         

        (0) 

Leave a Reply