|
||
The design of the Messaging Architecture results from the following principles:
The Messaging Architecture allows message client applications to discover at run-time which messaging types (i.e. 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 facilities should be offered to the user through the UI, so that appropriate commands can be dynamically added to menus.
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.
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 message protocols that may later be used.
Message client applications need only load particular MTM components when these are required as a result of user actions. The Messaging Architecture’s server operates in a similar way, dynamically loading and unloading components to handle particular message types.