Mobile Development Kit (formerly SAP Enterprise App Modeler)
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.
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.
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).
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:
- 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
- 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 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.
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.
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.
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.
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
Thanks Lisa for providing more detail on this - especially like the architecture diagrams included so as to enable a deeper understanding for Consultants etc in this space. Much Appreciated. Will be staying tuned to the tutorials and demos. THANKS!
Thank you for sharing this interesting information, Lisa.
However, I am confused how SEAM fits with SAP Cloud Platform SDK for iOS, Agentry and the Kapsel and Cordova Plugins for SAP Fiori Client.
Is there a document that explains SAP's mobile strategy and how those to my mind disparate mobile solutions work together?
Many thanks in advance
SEAM sits on top of SAP Cloud Platform SDK for iOS and uses it's API and UI controls to make it easier for developers and technical business users to build new or customize existing applications.
The Kapsel and Cordova Plugins for SAP Fiori Client is for customers looking to build HTML5/UI5 applications and specifically Fiori applications which are lighter/simple mobile applications. SEAM builds native applications and customizes specific SAP complex mobile applications such as SAP Asset Manager. Unlike a Fiori mobile application, SAP Asset Manager has many screens and complex workflows and SEAM helps tailor SAP Asset Manager to exact business needs.
For Agentry vs. SEAM. Most of the usecases for Agentry are specifically for customizing Agentry-based applications such as SAP Work Manager, SAP Services Manager, SAP Sales Manager, etc. SEAM is for customizing SAP Asset Manager and for building new native based on SAP Cloud Platform mobile services and the new SDK for iOS.
I hope this helps. Please let us know if you have additional questions about this. I will look to see if there is a document that further helps clarify.
Thank you for this explanation, Sue.
Do I understand it correctly from Lisa's blog that "The [SEAM] client applications run in native players [...]" and that the currently available SEAM player for iOS "sits on top of SAP Cloud Platform SDK for iOS [...]" as you mention above?
SEAM client applications are in fact full native apps (iOS). They consume UI controls and other important application components (oData, secure storage) from the available SAP Cloud Platform SDK for iOS.
Thank you Christopher,
What role do the native players mentioned by Lisa play then?
The native player Lisa mentioned is just a synonym for the SEAM Client, which is a native application that "plays" the metadata.
If it helps, you can think of it as a native-container, similar to Cordova, that contains and plays the metadata. Of course technically it is nothing like Cordova 🙂 but the concepts are similar.
The native player that Lisa mentions is the SEAM client application. This is a native iOS application that receives the metadata and interpets it to create the UI using the SAP Cloud Platform SDK for iOS controls.
Any update on RMAD tool ( is demo version has been released.?).. @Bill Froelich please update on SAP App Modeler release date.
Eagerly waiting for DEMO version to explore on RMAD tool
Thanks in advance
We are working towards an RMAD release and will be starting an early access program shortly. If you are interested please contact your SAP Account Exec / rep and have them contact our PM for consideration. We do already have a list of customers and partners interested in participating and will only be accepting a limited number of participants.
Visit our product page on the new SAP Help Portal (direct link available on the blog). Leave your comments and let us know how we can help you better!
For any other queries or feedback on user assistance, please contact Jennifer Thompson (email@example.com).
Added Building Custom Extension controls with Mobile Development Kit
Can anyone from the MDK team help updating the overview of SAP MDK's architecture? Maybe Bill Froelich or Jitendra Kansal?
This blog post cannot be updated anymore because the author — unfortunately — no longer works for SAP.