Eclipse Modeling Framework è una libreria di modellazione e generazione di codice che facilita la costruzione di applicazioni o tool basati su modelli di dati strutturati.
Partendo dal modello definito in XMI, EMF fornisce il runtime necessario e una serie di strumenti per la generazione automatica delle classi di modello. In pi├╣ EMF è capace di generare le classi per la visualizzazione del modello, per l’editing da codice e un editor basilare per la modifica visuale.

Oltre a EMF-core il progetto è composto da un gran numero di sotto-progetti di cui ne riportiamo alcuni qui sotto:

  • CDO è un progetto per la distribuzzione di modelli EMF condivisi e insieme una soluzione per un rapido server-based mapping O/R.
  • SDO è un framework che semplifica e unifica lo sviluppo delle data application in architetture SOA (Service Oriented Architecture). Support ae integra il formato xml e incorpora i patterns J2EE e le best practices. EMF include un implementazione EMF-based di Service Data Objects.
  • Teneo è una soluzione per la persistenza su database per EMF, che utilizza Hibernate o EclipseLink. Supporta automaticamente la creazione di mapping tra EMF e basi dati relazionali. Gli oggetti EMF possono essere immagazzinati e recuperati utilizzando sistemi di query avanzati (HQL or EJB-QL).
  • Model Query fornisce strumenti per costruire ed eseguire query su modelli EMF.
  • Validation Framework fornisce la possiilità di definire costraints sul modello e sulla sua definizione, algoritmi per le strategie custom e model traversal e listener di validazione.

EMF è parte integrante di Eclipse a partire dal rilascio di Giugno 2009 (Galileo).
E’ comunque possibile scaricare la versione corrente dal sito http://www.eclipse.org/modeling/emf/