We are simultaneously releasing a service pack for the SDK (SP05) and service pack for the server ( SP04): Starting with SMP 3.0, the SDK and server releases were decoupled, which allowed for us to independently innovate and bring more features to the market faster and that explain the version differences for the service packs.
Let us quickly recollect some of the important value propositions of the SAP Mobile Platform
- Server Side – Core services ( security , on boarding , e2e tracing , supportability , push notification , data integration ) and
- Device Side – Programming context ( Offline , Cache , Multi device support , cross platform development ).
The top value propositions for the SDK are the following
- Device support across multiple operating systems ( IOS , Android , Windows)
- Common consumption model for online and offline ( harmonized SDK)
- Performance libraries and Debugging support
- Seamless migration from on premise to cloud ( cloud based services are compatible if you use the SDK)
- Support for cross platform development using Kapsel ( and support for mobilizing Fiori applications)
- Support for seamless integration with mobile device management software ( Afaria , other MDM’s)
The top features that are going to be available with the SDK SP05 release are
- Harmonized API
- Native SDK for Windows
- Kapsel Enhancements
- Agentry enhancements
Let me go over these features in detail.
In our offline implementation we make use of an Ultralite DB on the device side . The database gets synched up with the server side using the mobilink synch framework . Once a new OData endpoint is configured in the SMP server a data base schema is generated from the OData Service metadata.During the initial synchronization, an Ultralite DB that is created on the SMP server gets transferred to the client using the MobiLink file transfer mechanismThe ultralite database on the client acts as ‘local’ OData service, meaning that all OData requests are executed against the local store using the URI schema mentioned above.
Windows SMP SDK
SAP has always been committed to developers and that philosophy permeates to the mobile platform side as well . When we started the SMP 3.0 journey we only supported native SDK for IOS and Android and with this release we are excited to have a native version covering Windows 8.1 and Windows phone 8.1 as well. The main component of the windows SDK are the following
- SecureStore library – Used for storing user credentials and other important information (password policy, connection data etc.) in the data vault
- LogonCore library / LogonCoreJS library – Used in conjunction with SecureStore library to provide login functionality
- OData API library – Interfaces and default implementation which can be inherited by 3rd parties to create their own implementation
- OData Online API – Specific online implementation of the OData API . Internally uses Microsoft OData parser
- Supportability library (Log messages, End 2 End tracing functionality)
The windows SDK will be evolving in the future service packs with support for Offline operations. We also have extended the cross platform development support to Windows . The following Kapsel plugins are made available to Windows developers
- Encrypted Storage
Our Kapsel story has been widely accepted by the developer community . We believe the plugin model of development provides a lot of value for the developers in customizing their applications (including Fiori) . In this service pack , we are adding plugins that mirror the new functionalites that were added on the native sdk side . The specific enhancements on the Kapsel side are the following
Support for Apache Cordova 3.6
Kapsel support for OData Offline
Enhancements to Logger Plugin
End to End trace
Our SDK story will not be complete without mentioning the metadata development model using Agentry . The Agentry SDK has also been evolving since its integration into SMP last year. Following are the specific features and enhancements that will be available in SP05.
- OData Back-end
- Full CRUD support
- Integration with Connector Studio Object Wizard
- Tile Display Hyperlink Action
- Action when clicking an area of the screen instead of just text
- Multi-screen Tile Style Overriding
- Can control styles on MST separate from application styles
- Screen Navigation via Menu Choices
- Switch between screens in a screen set from a slide-out menu
- Auto Keyboard support on Windows Tablets
- Virtual keyboard automatically enables / dismisses
- OpenUI Transmit Dialog extension
- Through the OpenUI class extension, the Agentry clients can provide a PCKS12 client certificate and its password for CSI authentication
- Previous methods of using client certificates on the client (branding, retrieving from the OS) are still supported
- E2E Tracing
- Ability for user to enable tracing from an Agentry client (iOS, Android, WPF)
- Transmits (including background transmits) will be traced and sent to Solution Manager via the SMP server in a business transaction xml string (BTX)
- An Admin will be able to use Solution Manager to analyze the BTX to determine where performance issues are occurring
We are also announcing the launch SAP Hana Cloud Platform mobile services (HCPms) with a goal of providing a world class mobile application development platform on top of HANA . You can find the platform overview by Gerhard here . My colleague Martin has also written a detailed blog here .The SDK has been extended to provide additional capabilities that are available with HCPms.
SAP HANA Cloud Platform uses the Security Assertion Markup Language (SAML) 2.0 Information published on non-SAP site protocol for authentication of users and single sign-on (SSO). We have added support for SAML 2.0 Http post binding in the SDK. SAML 2.0 protocol necessitates support for form based authentication and handling of redirects from the identity provider. We have created a new infrastructure in the SDK and associated service classes (HttpConversation Manager) that can intercept the redirect and show a new web view. Once the form based authentication is successful the requests will be processed from the native context.
If you’re interested in developing mobile application that are data-centric and you need insight into usage patterns , then our usage analytics API may be what are you looking for . It will allow for storing analytical facts in the server to be used for dash boarding and trending purposes. This is an evolving area in the SDK and the future service packs will extend the base API’s.
Be Ready When you are
There will be more information available in the coming days through enablement sessions and hands on events . Our Customer Engagement team will be actively sending out information on these sessions . Please stay tuned.
These sessions are planned at TechEd to give more information to the developer community.
Links to Additional Resources
- Introduction to the HttpConversationManager includes SAML introduction
- Acquiring connection settings & configurations from Discovery Service
- Intro to STSOData includes video, pending open source approval of the sample code
- KVO with SPO5 and STSOData includes video, pending open source approval of the sample code
- NativeSDK-podspec How to use Cocoapods to bootstrap your app from the installer, instantly!
Follow us in any of the social media channels
- twitter.com/SAPMobile Follow hashtags: #saptd #SAP #Mobile #SAPMobile
This blog references SAP‘s strategy and possible future developments are subject to change and may be changed by SAP at any time for any reason without notice