Java Metadata Interface


Given that metadata is a set of descriptive, structural and administrative data about a group of computer data, Java Metadata Interface is a platform-neutral specification that defines the creation, storage, access, lookup and exchange of metadata in the Java programming language.

History

The JMI specification was developed under the Java Community Process and is defined by JSR 40.
JMI is based on the Meta-Object Facility specification from the Object Management Group. The MOF is a metamodel used notably to define the Unified Modeling Language.
It supports the exchange of metadata through XMI. XMI is a standard for exchanging metadata information via Extensible Markup Language. The MOF/XMI specifications are used for the exchange of UML models.

Usage

Essentially, JMI can be used to write tools in Java for manipulating UML models, which can be used in Model Driven Architecture and/or Model Driven Development. There are many implementations of JMI, including the Reference Implementation from Unisys, SAP NetWeaver and Sun Microsystems's open-source implementation from the NetBeans group. JMI is compatible with Java SE 1.3 and above through: