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 2008, along with the rest of the Ganymede projects.
Unlike some of the other data integration models, Service Data Objects don't stop at data abstraction. The Service Data Objects framework also incorporates a good number of J2EE patterns and best practices. SDO supports a disconnected programming model. The SDO programming model prescribes patterns of usage that allow clean separation of each of these concerns.
Put simply, Service Data Objects is a framework for data application development, which includes an architecture and API. Service Data Objects simplify the J2EE data programming model and abstract data in a service oriented architecture (SOA). SDO unifies data application development, supports, and integrates XML. Service Data Objects incorporate J2EE patterns and best practices.
For more information, see: Documentation, Javadoc
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.
Teneo is a database persistency solution for EMF using Hibernate or JPOX/JDO 2.0. It supports automatic creation of EMF to Relational Mappings. EMF Objects can be stored and retrieved using advanced queries (HQL or JDOQL).
Jun 4th - Teneo, CDO, and Net4j graduate to Eclipse Modeling Framework (EMF) as part of the Ganymede Release Review.
Feb 25th - EMF Book, Second Edition Rough Cut is available. Download or pre-order it today!
Jan 22nd - EMF 2.4 Packaging Changes are available.
Nov 29th, 2007 - EclipseWorld 2007 - EMF Fundamentals is available.
Build NewsJun 9th - SDO 2.4.0 has been released! Get it here.
Jun 9th - SDO stable build 2.4.0RC4 is available for download.
Jun 2nd - SDO stable build 2.4.0RC3 is available for download.
May 27th - SDO stable build 2.4.0RC2 is available for download.
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.