Messaging Principles

The design of the Messaging architecture is based on the following principles.

Dynamic extensibility

The Messaging architecture allows message client applications to discover at run-time which message types (that is, MTMs) are available, and to be notified if new MTMs are installed. Each MTM offers interfaces that allow message client applications to find its capabilities, and to obtain how the MTM’s services must be offered to the user through the UI, so that appropriate commands can be dynamically added to menus.

Multiple simultaneous message client applications

The Messaging architecture can support multiple message client applications having simultaneous access to message data. Examples of such potential message client applications are email clients, PC mail synchronisation utilities, and messaging-aware applications sending documents as messages.

Generic message description and operations

The Messaging architecture allows message client applications to perform common operations, such as copying, moving, and sorting messages, without knowing the particular message type. There is a generic message description structure to allow message properties to be obtained. These features help message client applications to be designed without foreknowledge of the messaging protocols that may later be used.


Message client applications can load particular MTM components when they are required as a result of user actions. The architecture of the Message Server operates in a similar way, dynamically loading and unloading components to handle particular message types.

With SQL database implementation for storing index entries, the RAM can be used effectively. For more information on the usage of SQLite database, see Operating with the SQL database.

Related concepts