FeaturesPluginsDocs & SupportCommunityPartners
What's New
02-Feb: UML2MOF Tool Contributed 
02-Feb: MDR Ant Tasks Contributed 
20-Aug: MDR Extra Binaries Released
02-May: New MDR Explorer 
[ more news ]
Documents
MDR Whitepaper
Download
Installation instructions
First steps with MDR
Architecture
MDR API (Javadoc)
MDR XML Sample Module
FAQs
Troubleshooting
Credits
[ more documents ]
Related Links
JMI Home Page
OMG Home Page
DSTC's MOF page
[ more links ]

Metadata Repository (MDR)
Project Home

This is home of the Metadata Repository project (MDR). MDR implements the OMG's MOF (Meta Object Facility) standard based metadata repository and itegrates it into the NetBeans Tools Platform. It contains implementation of MOF repostitory including persistent storage mechanism for storing the metadata. The interface of the MOF repository is based on (and fully compliant with) JMI (Java Metadata Interface - JSR-40). MDR also defines additional features that help to incorporate it into the IDE (e.g. event notification mechanism). MDR is rather an infrastructure project, so you won't find many screenshots here. To present the MDR functionality to the user it is usually necessary to write a module which uses the MDR.
To get basic information about MDR look at what are its key features.
MDR Architecture document will give you an overview of the components and architectural blocks the MDR is built of.

Download, install and use the MDR

There are several ways you can install the MDR into NetBeans. To learn more, see installation instructions. After installing MDR, you may start using it. Read First Steps with MDR to see how to start.

Standards and theory

MDR is based on industry standards defined by Object Management Group (OMG) and Java Community Process (JCP). To learn more about standards behind MDR click here.

MDR documentation

To get more extensive view of MDR, visit our documentation page.

Key MDR features

  • Support for import of XMI 1.1/1.2 documents for both MOF 1.4 and MOF 1.3 (transparently converted to MOF 1.4)
    MDR is able to load any MOF 1.4 (and some of MOF 1.3) metamodels in form of an XMI document. MOF 1.3 metamodels are automaticaly converted to MOF 1.4 metamodels (if possible) during the import process.
  • Support for export of data stored in the repository to XMI 1.2 documents
    MDR is able to save a content of any package extent into XMI 1.2 document.
  • Generation of Java interfaces (JMI compliant) for any loaded MOF metamodel.
    MDR is able to generate Java APIs for accessing metadata described by the specified MOF metamodel.
  • Instantiation of any MOF compliant metamodel
    Any MOF metamodel loaded into the MDR can be instantiated (this can be understood as a creation of a "subrepository" able to store metadata described by this model). The instance of the metamodel can be then accessed using both reflective, or metamodel specific (generated) APIs.
  • Automatic run-time implementation of generated APIs (no need to restart the MDR)
    User of the MDR does not need to implement the generated metamodel specific APIs before he/she wants to access the metadata of a particular kind via these metamodel specific APIs. The generated APIs get implemented automatically during the MDR run-time as they are needed.
  • Standalone repository access via DJava shell
    MDR can work as a standalone application - to demonstrate this, part of MDR project is also a simple application that provides a commandline access (using DJava) to the repository.
  • Integration with NetBeans IDE, special MDR looks for browsing the repository contents
    Part of MDR is a NetBeans integration module, which contains "NetBeans looks" exposing the repository contents and actions that can be done in the repository.

Any questions/comments?

If you have any questions or comments, don't hesitate to ask/let us know on users@mdr.netbeans.org (for comments related to usage of MDR) or dev@mdr.netbeans.org (for comments related to implementation of MDR) mailing list. Also note that MDR has its own FAQ page and Troubleshooting page.
Companion
Projects:
MySQL Database Server   Open JDK: an Open SourceJDK   GlassFish Community: an Open Source Application Server    Mobile & Embedded Community    Open Solaris   java.net - The Source for Java Technology Collaboration   Virtual Box - full virtualizer  Open ESB - The Open Enterprise Service Bus Powered by