The EMF project is a modeling framework and code generation facility for building tools and other applications based on a structured data model. From a model specification described in XMI, EMF provides tools and runtime support to produce a set of Java classes for the model, along with a set of adapter classes that enable viewing and command-based editing of the model, and a basic editor.
EMF builds include XML Schema Definition (XSD), now a component of the Model Development Tools (MDT) project, and an EMF-based implementation of Service Data Objects (SDO). XSD provides a model and API for manipulating components of an XML Schema, with access to the underlying DOM representation of the schema document.
Other subprojects, such as Model Query, Model Transaction, and Validation Framework, are available separately.
The next release of EMF is scheduled for the end of June 2009, along with the rest of the Galileo projects.
EMF is a modeling framework and code generation facility for building tools and other applications based on a structured data model. From a model specification described in XMI, EMF provides tools and runtime support to produce a set of Java classes for the model, a set of adapter classes that enable viewing and command-based editing of the model, and a basic editor. Models can be specified using annotated Java, XML documents, or modeling tools like Rational Rose, then imported into EMF. Most important of all, EMF provides the foundation for interoperability with other EMF-based tools and applications. For more detailed information see the EMF Overviews and Project Plan.
CDO is both a technology for distributed shared EMF models and a fast server-based O/R mapping solution.
The query component provides capabilities to specify and execute queries against EMF model elements and their contents.
The transaction component provides a model management layer built on top of EMF for managing EMF resources. It provides API that include extensions to the EditingDomain and related APIs of the EMF.Edit framework, and an internal model of transactions. It consists of two layers: a non-Eclipse core, providing primarily the "transaction model", and an Eclipse workspace integration layer.
Net4j is an extensible client-server system based on the Eclipse Runtime and the Spring Framework.
Service Data Objects (SDO) is a framework that simplifies and unifies data application development in a service oriented architecture (SOA). It supports and integrates XML and incorporates J2EE patterns and best practices. EMF includes an EMF-based implementation of Service Data Objects.
Teneo is a database persistency solution for EMF using Hibernate or EclipseLink. It supports automatic creation of EMF to Relational Mappings. EMF Objects can be stored and retrieved using advanced queries (HQL or EJB-QL).
Apr 8th - Details about Changes to the Activities Example in EMF 2.5M7 are available.
Apr 3rd - Metamodeling with EMF: Generating concrete, reusable Java snippets is available.
Mar 26th - EMF: Eclipse Modeling Framework, 2nd Edition sells out at EclipseCon '09! Get your copy today!
Jan 30th - Scale, Share and Store your Models with CDO 2.0 (Webinar) is available.
Build News
Jun 30th - TENEO maintenance build M200906300456 is available for download.
Jun 30th - TENEO TENEO1_0_4 maintenance build M200906300343 is available for download.
Jun 22nd - QUERY 1.3.0 has been released! Get it here.
Jun 22nd - TRANSACTION 1.3.0 has been released! Get it here.
Want to contribute models, projects, files, ideas, utilities, or code to EMF or any other part of the Modeling Project? Now you can!
Have a look, post your comments, submit a link, or just read what others have written. Details here.