Project architecture
EMF Project Information



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, by exposing their models through a rich metadata that can be used to read and modify the objects.

EMF includes an EMF-based implementation of Service Data Objects (SDO). 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 optionally includes the XML Schema Definition (XSD). XSD is a reference library for use with any code that examines, creates or modifies XML Schemas (standalone or as part of other artifacts, such as XForms or WSDL documents).

Refer to the EMF Website, the SDO Website and the XSD Website for additional project information.

Project architecture



EMF Architectural Diagram
Figure 1. <EMF Architecture Diagram>
 

Runtime features:
• Rich metadata
• XMI serialization & deserialization
• Change monitoring
• Validation framework

Generator features:
• Customizable JSP-like templates (JET)
• Command-line, Ant, or integrated with Eclipse JDT
• Fully supports regeneration and merge






* requires Eclipse workbench or RCP to run


Status



EMF is being used in several existing commercial products. For more information on the current status of EMF, please see the Project Plan.

Platforms



The plugins are written in Java with no native code and thus may be ported to any platform supported by Eclipse.

Content



The following plugins are included.

EMF:
• org.eclipse.emf.codegen - Java Emitter Templates (JET) and JMerge code generation components
• org.eclipse.emf.codegen.ui - workbench support for JET
• org.eclipse.emf.codegen.ecore - Generator model and headless generator and model conversion tools
• org.eclipse.emf.codegen.ecore.ui - workbench-based code generator and model conversion tools
• org.eclipse.emf.common - command and notification frameworks and utilities used throughout EMF
• org.eclipse.emf.common.ui - extensions to SWT and JFace used in other EMF UI plug-ins
• org.eclipse.emf.ecore - Ecore model and implementation, persistence framework, and utilities
• org.eclipse.emf.ecore.edit - sample edit support for Ecore
• org.eclipse.emf.ecore.editor - sample Ecore editor
• org.eclipse.emf.ecore.change - Change model and change recorder utility
• org.eclipse.emf.ecore.change.edit - sample edit support for Change model
• org.eclipse.emf.ecore.xmi - default XML/XMI resource implementations
• org.eclipse.emf.edit - UI-independent portion of the EMF.Edit framework
• org.eclipse.emf.edit.ui - Eclipse UI portion of EMF.Edit
• org.eclipse.emf.mapping - UI-independent portion of the EMF Mapping framework
• org.eclipse.emf.mapping.ui - Eclipse UI portion of the EMF Mapping framework
• org.eclipse.emf.mapping.ecore2.ecore - support for mapping between Ecore models
• org.eclipse.emf.mapping.ecore2.ecore.editor - sample Ecore mapping editor

SDO:
• org.eclipse.emf.commonj.sdo - Service Data Objects (SDO) specification interfaces
• org.eclipse.emf.ecore.sdo - EMF model and implementation of SDO
• org.eclipse.emf.ecore.sdo.edit - sample edit support for SDO
• org.eclipse.emf.ecore.sdo.editor - sample SDO datagraph editor

XSD:
• org.eclipse.emf.mapping.xsd2ecore - support for mapping between XML Schema and Ecore
• org.eclipse.emf.mapping.xsd2ecore.editor - sample XML Schema-Ecore mapping editor
• org.eclipse.xsd - XML Schema Inforset model and implementation
• org.eclipse.xsd.edit - sample edit support for XML Schema
• org.eclipse.xsd.editor - sample XML Schema editor
• org.eclipse.xsd.test - tests and example code for XML Schema model

License



This project is licensed under the Common Public License.

More Information



EMF is part of the Eclipse Tools Project. For more information about the Eclipse Tools Project, click here.

For more information about EMF, SDO & XSD, please visit:

   EMF:
 
   SDO:
 
   XSD:
• Website • Website • Website
• FAQ • FAQ • FAQ
• Documents • Documents • Documents
• Newsgroup • Newsgroup • Newsgroup

Last updated: $Date: 2008/05/21 20:09:05 $