Technology Blogs by SAP
Learn how to extend and personalize SAP applications. Follow the SAP technology blog for insights into SAP BTP, ABAP, SAP Analytics Cloud, SAP HANA, and more.
cancel
Showing results for 
Search instead for 
Did you mean: 
Rapid mobile app development (RMAD) tools are programming tools that speed the process of creating applications for mobile platforms. SAP’s new RMAD tool, Mobile Development Kit, is a metadata-driven tool that allows users to customize native SAP applications, as well as rapidly create new native mobile applications.

Applications developed with Mobile Development Kit offer robust offline capabilities with sophisticated business logic, and the first release includes camera support. The first application developed with Mobile Development Kit is SAP Asset Manager running on Apple devices.

Mobile Development Kit application development is web based via the Mobile Development Kit  editor, a plug-in for Web IDE.  The plugin adds additional wizards, drag and drop UI elements, app templates and building blocks that are used to create mobile applications quickly and efficiently.

The clients  are native applications and communicate with their backend systems via OData.  The communication and other mobile services are provided by the SAP Cloud Platform mobile services.

Mobile Development Kit: Architecture


The Enterprise App Modeler framework has the following components:

  • Editor (WebIDE Plug-in)

  • Cloud Platform mobile services

  • Client application

  • Application metadata definitions 


Asset manager (and applications that access the digital core) also utilize the SAP cloud connector and have add-on components that provide SAP specific functionality used for S4 applications.

The Mobile Development Kit application architecture is built on NativeScript using open industry standard technologies such as JavaScript, JSON and OData.  The application definitions are represented using metadata which is dynamically interpreted on the client to render the native UI. 

Metadata


Mobile Development Kit utilizes a metadata-driven development model.  With this style of development, developers work at a much higher level of abstraction, and they do not have to worry about low-level system details like onboarding and networking. This allows a wider pool of resources to develop applications.

 



 

NativeScript


Mobile Development Kit utilizes NativeScript, which is an intermediate transcription/translation technology that can take JavaScript input and render it out as native code.  Running native code on the device provides a huge advantage in terms of power and performance.

Editor


Application development is Web based via the Mobile Development Kit editor, a plug-in for Web IDE. The plug-in will be available with standard WebIDE and simply needs to be enabled.  (Due to the name change, the initial release will still have the plug-in labeled as SEAM).

The Mobile Development Kit plugin leverages the templates and wizards available in Web IDE, and adds a page editor, additional wizards, drag and drop UI elements, and app templates used to define the application. Once the application has been enhanced or developed, the definitions are published via an application metadata file that is imported into the App Update component of mobile services (which provides Lifecycle Management for the Metadata). 

Custom Controls


Mobile Development Kit is extensible to meet specific customer business requirements. Custom controls can be developed in Swift and brought into the Editor for consumption.  A good example is the Map control that was developed for Asset Manager.

Mobile Development Kit Client and Application metadata


The Mobile Development Kit client is a native application that runs on the device.  It provides a metadata framework that takes the business logic, business objects and the user interface and renders it at runtime.  (This runs very efficiently since NativeScript makes this a native experience). The client can run applications either online and offline and can attach pictures from the camera or the device photo library.

The client has 2 layers:

  1. A Native layer talking to the device. This provides device storage, the encryption mechanism, communication back and forth between the OData providers (cloud or external), etc.


A bridge between the NativeScript layer and the java runtime engine




  1. Metadata definitions (the application) – controls, rules, screens, actions and other definitions. These definitions are interpreted by the app modeler client and translated by the NativeScript runtime engine into native controls.


The first Mobile Development Kit based application released by SAP is SAP Asset Manager on iOS devices. This application utilizes the SAP Cloud Platform SDK for iOS and the Fiori for iOS design language to provide a beautiful Fiori look and feel for iOS.

Sap Cloud Platform mobile services

The interaction between the client and the backend, (i.e. the OData connection, onboarding, authentication, security, application updates, analytics, etc.), are provided and managed via the SAP Cloud Platform mobile services.

Administration

Administration and troubleshooting are done via the SAP Cloud Platform mobile services. Logging is defined on the client via actions and log files are uploaded to the cloud platform where they can be reviewed by administrators.  Security and onboarding utilize the Cloud Platform mobile services as well.

Application Development


Applications are developed using wizards and editors in WebIDE.  This is accomplished with a group of new features that are added to WebIDE via the Mobile Development Kit plug-in:

  • A new WebIDE WYSIWYG Page Editor allows the user to easily layout pages using drag-and-drop and property sheets. Users can add and arrange controls on the page, attach event handlers, bind control properties to values specified by object data, properties of other controls or business logic rules.



  • The new Object Browser helps you quickly search and locate your OData objects and properties, actions, UI elements, globals and rules when you are creating definitions or mapping OData properties to screen elements.



  • A new Action Editor provides predefined actions that help the designer easily define the workflow. The action editor interacts with the Object Browser to work with objects, properties, rules, and globals.  Execution Rules and Success Failure actions provide conditional execution.



  • A Visual Rules Editor enables users to visually create business logic such as execution rules, rules to manage data, and composite rules. The editor makes use of the Google Blockly visual code editor that utilizes an easily understood, visual “Puzzle Piece” paradigm to generate JavaScript code. For complex rule logic, users can write rules directly in JavaScript.


Deployment and Lifecycle management


Mobile Development Kit developers and/or administrators can easily deploy the updated application to SAP Cloud Platform App Update mobile service with a few clicks.  The mobile client communicates with the App Update service to retrieve updated metadata definitions.

The application will check for new definitions at launch and the update polling interval can be configured.  If a new version is available, it will download it in the background and notify the user of a pending application update and then force an OData flush action to commit pending local changes.

Next Steps


SAP’s new RMAD tool, Mobile Development Kit, provides a metadata-drive tool that allows you to easily customize SAP Asset Manager, as well as to quickly and efficiently build new extensible native mobile applications.

To learn more, the Mobile Development Kit learning map and other resources are now available!  Please see the below section for details.

Further Information


Help documentation is now available at:

The first eight video tutorials have been posted!

Lucas Wonderly has written an excellent blog on using offline OData with Mobile Development Kit

A Learning Map is available at:

Building Custom Extension controls with Mobile Development Kit
13 Comments