Providing a framework for developing, deploying and managing sophisticated
mobile solutions, with a simple Web-like programming model that
integrates with existing enterprise components. Mobile applications may
consist of a data model definition, user interface templates, a client
side controller, which includes scripts that define actions, and, on the
server side, a collection of conduits, which describe how to mediate
between the data model and the enterprise. In one embodiment, the
occasionally-connected application server assumes that data used by
mobile applications is persistently stored and managed by external
systems. The occasionally-connected data model can be a metadata
description of the mobile application's anticipated usage of this data,
and be optimized to enable the efficient traversal and synchronization of
this data between occasionally connected devices and external systems.