In an age where the speed of business continues to increase, companies are experiencing a profound impact from the digitalization of their core data. As a result, their customers want (and expect) to interact with them via mobile channels. However, the majority of CIO’s complain of insufficient resources skills to drive this digitalization, resulting in a significant application backlog.
Mobile development kit helps eliminate this backlog by delivering a new way to quickly and efficiently develop native mobile applications using a guided, visual drag and drop experience.
The first SAP application developed with mobile development kit is SAP Asset Manager running on Apple devices. Mobile development kit can be used to customize SAP Asset Manager, as well as allow the rapid development of custom applications.
The target business scenarios for Mobile Development kit are:
1. Enterprises that need to rapidly develop native mobile applications and who:
- Need to make their existing developers more productive
- Are facing a Shortage of developers
- Have developers experienced in other languages, but are not fully proficient in SWIFT
- Any combination of the above
With Mobile Development Kit, development is done in a cloud environment using wizards and drag and drop UI elements. There is no need to develop low-level functionality such as lifecycle management, authentication, security, and offline synchronization, as these are provided by mobile services. This not only speeds development and enforces best practice, it means that developers who understand the business needs, but lack native app development experience, can quickly be productive. More importantly, it means that developers can be drawn from a much wider pool of resources.
2. Enterprises that need to customize SAP mobile development kit based applications such as SAP Asset Manager
- SAP Asset Manager is a robust application that provides 85-95% of the functionality that a company needs to mobilize their enterprise asset maintenance. With mobile development kit, the business can easily customize Asset Manager with additional screens, branding, styling, actions, rules, and fields to meet their specific business needs. The end result is an application that looks like it was custom created for the business, paired with the supportability of an off the shelf product.
Since the customization is done using drag and drop IU elements and wizards, there is a lower learning curve for users within a company to get up to speed on tailoring the application.
Mobile development kit is a framework that allows users to create and customize enterprise ready mobile applications quickly and efficiently.
The applications developed with mobile development kit offer full, robust offline capabilities, sophisticated validation and business logic, and access to mobile qualities such as the camera and photo library. The first application developed with mobile development kit will be SAP Asset Manager running on Apple devices.
Application development is web based, and the mobile development kit framework utilizes the following components:
- The Editor which is a standard WebIDE plugin
- Cloud Platform mobile services which provides enterprise mobile services such as on-boarding, authentication and lifecycle management
- The Client which is a native application that runs on the Apple mobile device
- The application definitions that are developed with the editor
Asset Manager also utilizes cloud connector and has an add-on component that provides SAP specific functionality used for S4 applications.
Applications are developed visually in the editor. When development is complete, the definitions are published to mobile services. Once the application is deployed in mobile services, the client will automatically download the application definitions and the offline data store the next time it connects.
Mobile development kit application development is web based via the editor, which is a standard plug-in for Web IDE. The plugin leverages the templates and wizards already available in WEB IDE and adds additional wizards, drag and drop UI elements and app templates to implement business logic.
The development is visual using drag and drop UI elements and wizards. However, if custom functionality is needed to meet specific customer requirements, custom controls can be developed in Swift and brought into the Editor for consumption.
When development is complete, the application definitions are deployed from the WebIDE editor to mobile services with just a few clicks.
SAP Cloud Platform mobile services
SAP Cloud Platform mobile services provides the backend connectivity and lifecycle management for the application. It also delivers key enterprise mobile capabilities such as onboarding, authentication, and offline synchronization.
The WebIDE editor publishes the application definitions to the app update feature of mobile services which provides lifecycle management. From here, the application definitions are then deployed and made available to the client applications.
Mobile Development Kit Client
The client is a native application that runs on apple devices. The client can run applications offline and can access the device Camera or photo library to attach pictures to an object. The client applications exchange data with the backend systems via OData destinations defined in mobile services.
When the client is first installed, it does not have the application definitions. It downloads these definitions from mobile services the first time it connects, and then will automatically check for new updates at a configured interval. If a new version is available, it will download the new definitions in the background and force a local OData flush operation to commit any pending local changes.
The mobile development kit uses an offline store so that end users can interact with data anywhere.
Once the user’s identity has been established, OData from the backend is managed by the client through the following steps:
- The specified entity sets are downloaded and stored in an encrypted database.
- Data can then be accessed and displayed based on OData queries and business logic created by the application designer. Users may create new entities or modify existing ones locally.
- These changes are synced with the backend during an upload.
- Uploaded changes are passed on from Cloud Platform mobile services to the OData backend.
- The backend processes the upload, possibly making changes such as creating its own keys for any new entities. These changes are provided to the client in a subsequent download.
Features related to offline support:
- List paging – Smooth scrolling performance even with large entity sets.
- Local keys – Records which aren’t yet known to the backend can have local keys. These can later be changed by the backend upon upload without ruining the links to related entities.
- Media upload/download – Images can be downloaded from the backend and displayed to the user. The user can also capture images, link them to other entities and upload them to the backend.
- Change sets – Multiple adds or update actions can be grouped so that all the changes must succeed in order for the change to be saved.
- Transaction merging – Many changes can be grouped into a single message to the server, improving upload performance. (Future release)
The mobile development kit ensures that data is managed securely every step of the way. All network communication is encrypted with TLS. The connections between the app in Cloud Platform mobile services and both SAP WebIDE and the OData backend are based on the cloud identity of the developer or administrator. These connections are configured in mobile services.
Communication between the client and mobile services is based on the identity of the end user. This identity is established during a one-time on-boarding process. After on-boarding completes, the client receives an OAuth2 token from the identity service. This token is used to authenticate all requests to App Update and the OData service. The user’s identity may also be used to determine which data is sent to the client.
During the onboarding process, the user must set a passcode. Following this, the user must enter the passcode to access the app. The timeout period and the number of allowed retries, among other settings, are configurable. The user may also use TouchID instead of entering the passcode.
To read more about Mobile Development Kit, please check out the following links:
Sign up for a SAP Cloud Platform Account
Help documentation is available at:
HANA Academy video tutorials
Blog on using offline OData with mobile development kit
A Learning Map is available at:
Building Custom Extension controls with Mobile Development Kit