Persistence
| Generic Sync
Multi-User Support
It is possible to have several end-users share the same MI client installation
sequentially and have the same end-user use different devices, as is required
in shift work. End-users log onto the device with the same user ID and password
that they have on the Web AS. The Mobile Infrastructure allows access only to applications
that are assigned to the user on this device. A Mobile Infrastructure application has
access to all data. The Mobile Infrastructure API (for example Persistence API) has
a visibility mode that can be set to "separated" (= user specific
data only) or "shared" (=data from all users).
Key features
- Logon screen
Users need to logon to the MI client with the same user and password that
they use on the WebAS. The password is stored on the device in an encrypted
fashion and sent to the server during synchronization for logon. New device
users can be created by log on to the device with their user and password.
The logon page provides a "change password" function. The password
will be changed on the client only and has no effect on the WebAS. It is not
possible to delete users from a device unless the MI client is reinstalled.
- Session Context
The Session Context contains information about the currently logged on user.
The session context always contains ONE user only - MI is not capable of managing
concurrent user sessions. Information about the current user can be obtained
via the Configuration API.
- MI Home
The MI Home page only shows applications to which the user is assigned on
the current device. Users cannot start applications that they are not assigned
to - even by typing in the application URL in a separate browser window. The
MI Info page shows all applications that are currently installed, independent
of whether the user is assigned to them.
- Data persistence
The Persistence API can store data in user-individual areas (inaccessible
to others) or in a global, 'shared' area to accessible by all users. This
decision needs to be made when an object instance is persisted and can vary
even between instances of the same class. It is currently not possible to
grant access to an object to more than one, but not all users or to differentiate
which type of data access (read, write, delete, ..) is allowed to users.
- MI Registry and Conversation ID
During the application deployment
process, applications are installed and registered on the device in the
MI Registry. The Conversation
ID organizes which application is assigned to which user on which device.
The Conversation ID is generated on the WebAS during application
deployment and is sent to the MI client during synchronization. A device has
one version of a application. All users use the same version. The Conversation
ID controls user and visible/executable applications.
- Synchronization by user / device
By default, the data of all users is synchronized. If synchronization is started
from within an application, the application can ask the SyncManager
to synchronize data only for the current user.
User Interface
The MI client API offers the User interface that is based on the SAP user interface
specification. The MI client API support a portion of the SAP user interface
specification so will find some methods, that are declared as "method not
support" in the Javadoc. Refer to the Javadoc
for more details.
UserManager
The UserManager instance gives you access to the current logged in user. You
can get the current users name and log out the current user. Refer to the Javadoc
for more details.