HTML5/JS Hybrid Apps support simple business processes, such as approvals and requests, and also use mobile business objects (MBOs) to facilitate connection with a variety of enterprise systems. With this approach, a hybrid web container is developed and deployed to a device, then one or more workflows are deployed to the container. This approach supports mobile workflow enablement, which enables mobile device users to operate as workflow participants, allowing the mobile user to start and respond to back-end enterprise requests within a generic framework.
With Hybrid App development, the server-side of the application is metadata-driven and the client-side of the application is a fully generated Web application package. The focus is on how data is rendered to the device user; data is made available using a request-response pattern, without synchronization. Lightweight applications and mobile workflows are developed to provide business logic and interaction with MBOs.
A native container application is packaged with a Web Browser plug-in and built-in core application services such as connectivity, guaranteed messaging, caching, and security. The container is provisioned to mobile devices. Data transport and access relies on messaging protocol between the server and the container on the device, invoking either online operations to the back end, or cached MBO data on the Unwired Server.
The mobile workflow package is compiled —consisting of platform-independent HTML, JavaScript and CSS resources— and can be deployed automatically to the container, without writing any code. Device and application services include offline cache, reliable messaging, and secure store.
The container hosts an embedded browser and launches the individual mobile workflow applications. The workflows are assigned to users by administrators. Once assigned, those workflows can be initiated by the user (client-initiated) or automatically triggered as a result of a back-end event that is sent to the SAP Mobile Server as a data change notification request (server-initiated).