Developing Mobile Solutions with MI  |   Mobile Component Descriptor (MCD)

 

MI client API - Overview

Introduction

The MI Client API offers base services to mobile applications running on a mobile device. It also defines certain standards that applications need to conform with to be a valid MI application.

All public classes, methods and interfaces that MI is offering to applications are grouped into sub packages of com.sap.ip.me.api.

No other class, method of interface residing in other packages of MI may be called. Neither may functionality of libraries, that MI needs for its own runtime, be used.
If an application needs functionality beyond the services offered by MI, it needs to develop it on their own and integrate the necessary libraries into its application archive.

 

Basic Functions

The Mobile Infrastructure comes with a ME2LIB.jar file which contains the functions of:

     Crimson 1.1
     Jax 1.1
     Xalan 2.1.0
     Servlet 2.3
     Struts 1.0

We recommend for all Mobile Infrastructure applications to use ME2LIB.jar to resolve methods of the above mentioned functions. Using an external crimson.jar or jaxp.jar could contain different versions which results in problems running Mobile Infrastructure applications.

 

Package Overview

MI Service Description Package
Configuration API The Configuration API offers a generic way to store key-value pairs and rids an application of the need to care for their own property file handling. All configuration parameters of an application should be stored here.
The Configuration API also offers read-access to framework parameters like the installation folder, user settings, UI type (AWT or JSP) etc.
com.sap.ip.me.api.conf
Deployment API

As part of MI's initiative to support native drivers, the deployment was extended in such a way that driver add-on packages can execute driver-specific installation routines during deployment and can adjust the class path to their needs.

Application developers should not use this feature.

com.sap.ip.me.api.deploy
Logging API MI 2.5 featues a new logging concept and has extended the original tracing concept considerably, esp. adding the possibility to assign components (for example, your application name or application subcomponent name) to a logged message. The old logging API in the Services API is automatically forwarded through the new Logging API (setting the component name to blank). Click here to read more. com.sap.ip.me.api.logging
Persistence API The Persistence API offers a standard interface for persisting and retrieving application data. It supports data base persistence (JDBC), object serialization and will be extended to incorporate byte arrays (J2ME) in the future. It frees the application developer of the technical details and pitfalls of data persistence and offers an identical interface for all storage media. Persistence API is tightly integrated into MI's multi-user concept. Mobile applications should use this API for all locally persisted data.

com.sap.ip.me.api.persist.core
com.sap.ip.me.api.persist.app

com.sap.ip.me.api.persist.meta
com.sap.ip.me.api.persist.query

 

Generic Sync API The Generic Sync API offers all the necessary functionality for data container handling, that means for calling wrapper functions in remote systems. Data containers can be created, filled, synchronized, received and an application can register for notification on sync events. The SyncManager allows applications to actively start the synchronization process without user interaction. . com.sap.ip.me.api.sync
Smart Sync API The Smart Sync API is used for handling the SyncBO and the data they contain. Among others are search functionality, data access as well as creation, modification and deletion of the SyncBO. com.sap.ip.me.api.smartsync
Security API

MI Client tightly integrates into NetWeaver's authorization concept by

  • allowing applications to declare which authorizations they want to check on the client
  • replicating the corresponding authorization information to the MI client during sync
  • offering applications a special API for checking authorizations of a given user

Click here to read more.

com.sap.ip.me.api.security
Services API The Services API groups miscellaneous functionality like data formatting, localization, performance logging, date formatting and conversion, I/O utilities and a multi-object file storage. It also contains the base classes for application exceptions com.sap.ip.me.api.services
User API The User API allows for authority checks on the current user and needs to be seen in the light of the Security API (see above). com.sap.ip.me.api.user
AWT UI API The AWT UI API contains base classes that adapt the AWT programming model to the MI requirements and that mobile applications need to inherit from. The classes for painting the AWT UI are to be taken from package java.awt though. com.sap.ip.me.api.runtime.awt
JSP UI API The JSP UI API contains base classes that adapt the JSP programming model for MI requirements and that mobile applications need to inherit from. com.sap.ip.me.api.ui.jsp
Printing API The Printing API is not yet released and supported. com.sap.ip.me.api.print