MTJ architecture

This section provides information on the general architecture of MTJ.

MTJ overview

The MTJ implementation is a collection of modular plug-ins. The MTJ Core plug-in provides extension points to glue the architecture together. MTJ can be extended by utilizing one or more extension points defined in the core. The figure below illustrates the relationship between an extension and the core framework

MTJ extension points can be divided by their functionality into three categories : MTJ Core’s defined extension points in layer categories and corresponding Java interfaces are:
MTJ Framework Plug-in Extension Points: Eclipse-dependent Plug-in Extension Points: Standalone Plug-in Extension Points: Dependencies between different extension implementations follow the three layers that come from the categorization.

For example, the Device Management extension, which belongs to Extendable Frameworks extension points layer, uses the Device Platform Provider and Device Description Provider extensions, which are Service Extension points layer’s implementation.
All the extension point definitions use MTJ’s common data structures. Implementation of them is based on Eclipse Modeling Framework (EMF).
 
MTJ Core Model and enumerations
MTJ common data model implementations are done with EMF. The detailed Rose model of the implementation can be found in Eclipse CVS. The figure below illustrates the locations of the model in the Eclipse CVS:

For general Eclipse CVS directions, go to http://wiki.eclipse.org/index.php/CVS_Howto.
 
Valid value-groups of different attribute types are defined as enumerations inside the corresponding Java class. Current definitions for MTJ UML/EMF enumerations are defined in the figure below.

Admin Gui Provider
MTJ Development IDE depends on MTJ Core Plug-in. It also publishes a new extension point, the Admin GUI Provider, that is used to add new functionalities to MTJ Development IDE. All MTJ extension point implementers, like the Device Platform Provider, that need Administration GUIs, must implement the Admin GUI Provider extension point.

Runtime management framework

Build process framework

Package creation framework

Security management framework
Signing framework

Deployment framework


Checking out MTJ code from CVS


Javadocs