See: Description
Package | Description |
---|---|
fr.inria.atlanmod.neoemf.annotations |
Provides common annotation types.
|
fr.inria.atlanmod.neoemf.core |
Provides the base classes that extends EMF API to enable lazy-loading of model elements.
|
fr.inria.atlanmod.neoemf.data |
Provides generic classes representing data management operations.
|
fr.inria.atlanmod.neoemf.data.store |
Provides classes to map model-level operations into persistence-level operations.
|
fr.inria.atlanmod.neoemf.data.structure |
Provides simple representations of objects used to translate model-level operations in persistence calls.
|
fr.inria.atlanmod.neoemf.option |
Provides utility classes to provide modeling and persistence level options to NeoEMF.
|
fr.inria.atlanmod.neoemf.resource |
Provides classes extending EMF resource management to support lazy-loading and database delegation.
|
fr.inria.atlanmod.neoemf.util |
Provides utility classes to ease URI management or containment list computation.
|
fr.inria.atlanmod.neoemf.util.logging |
Provides classes for logging information and events.
|
Package | Description |
---|---|
fr.inria.atlanmod.neoemf.io |
Provides methods and classes for working with Java I/O, such as import/export features.
|
fr.inria.atlanmod.neoemf.io.hash |
Provides hash functions and related structures.
|
fr.inria.atlanmod.neoemf.io.persistence |
Provides classes linking I/O features to persistence features.
|
fr.inria.atlanmod.neoemf.io.processor |
Provides classes that adds preprocessing and postprocessing functionalities during an I/O process.
|
fr.inria.atlanmod.neoemf.io.reader |
Provides classes related to data reading.
|
fr.inria.atlanmod.neoemf.io.structure |
Provides simple representations of objects used during import/export.
|
Package | Description |
---|---|
fr.inria.atlanmod.neoemf.data.blueprints |
Provides classes related to data management specific to a Blueprints implementation.
|
fr.inria.atlanmod.neoemf.data.blueprints.configuration |
Provides utility configuration classes that are dynamically called to setup Blueprints databases.
|
fr.inria.atlanmod.neoemf.data.blueprints.io |
Provides Blueprints' specific readers and writers used in the
io module to save and persist models from
external sources. |
fr.inria.atlanmod.neoemf.data.blueprints.option |
Provides utility classes to define specific behaviors of Blueprints data persistence.
|
fr.inria.atlanmod.neoemf.data.blueprints.store |
Provides specific classes to map model-level operations into Blueprints-level operations.
|
fr.inria.atlanmod.neoemf.data.blueprints.tg.configuration |
Provides utility configuration classes that are dynamically called to setup TinkerGraph Blueprints implementation.
|
fr.inria.atlanmod.neoemf.data.blueprints.util |
Provides utility classes to create Blueprints specific URIs.
|
Package | Description |
---|---|
fr.inria.atlanmod.neoemf.data.blueprints.neo4j.configuration |
Provides utility configuration classes that are dynamically called to setup Neo4j Blueprints implementation.
|
fr.inria.atlanmod.neoemf.data.blueprints.neo4j.option |
Provides utility classes to define specific behaviors of Neo4j data persistence.
|
Package | Description |
---|---|
fr.inria.atlanmod.neoemf.data.mapdb |
Provides classes related to data management specific to a MapDB implementation.
|
fr.inria.atlanmod.neoemf.data.mapdb.option |
Provides utility classes to define specific behaviors of MapDB data persistence.
|
fr.inria.atlanmod.neoemf.data.mapdb.serializer |
Provides serializers that allows to persist model-level elements into MapDB collections.
|
fr.inria.atlanmod.neoemf.data.mapdb.store |
Provides specific classes to map model-level operations into MapDB-level operations.
|
fr.inria.atlanmod.neoemf.data.mapdb.util |
Provides utility classes to create MapDB specific URIs.
|
Package | Description |
---|---|
fr.inria.atlanmod.neoemf.data.hbase |
Provides classes related to data management specific to a HBase implementation.
|
fr.inria.atlanmod.neoemf.data.hbase.option |
Provides utility classes to define specific behaviors of HBase data persistence.
|
fr.inria.atlanmod.neoemf.data.hbase.store |
Provides specific classes to map model-level operations into HBase-level operations.
|
fr.inria.atlanmod.neoemf.data.hbase.structure |
Specific classes allowing to store model-level elements in HBase efficiently.
|
fr.inria.atlanmod.neoemf.data.hbase.util |
Provides utility classes to create HBase specific URIs, serialize and deserialize HBase records, and manage HBase
resource life-cycle.
|
The figure below describes the integration of NeoEMF in the Eclipse-based EMF ecosystem, the most popular modeling framework nowadays. Modelers typically access a model using Model-based Tools, which provide high-level modeling features such as a graphical interface, interactive console, or query editor. These features internally rely on EMF's Model Access API to navigate models, perform CRUD operations, check constraints, etc. At its core, EMF delegates the operations to a persistence manager using its Persistence API, which is in charge of the (de)serialization of the model. The NeoEMF core component is defined at this level, and can be registered as a persistence manager for EMF, replacing, for instance, the default XMI persistence manager. This design makes NeoEMF both transparent to the client-application and EMF itself, that simply delegates the calls without taking care of the actual storage.
Once the NeoEMF core component has received the request of the modeling operation to perform, it forwards the operation to the appropriate database driver (MapDB, Blueprints, or HBase), which is in charge of handling the low-level representation of the model. These connectors translate modeling operations into Backend API calls, store the results, and reify database records into EMF EObjects when needed. NeoEMF also embeds a set of default caching strategies that are used to improve performance of client applications, and can be configured transparently at the EMF API level.
Each backend is provided in a dedicated Eclipse plugin. you can navigate through the documentation to have a complete overview of backend-specific classes and how they interact with the core component. NeoEMF provides 4 database adapters for now:
Sources are available on GitHub. Further informations can be found on NeoEMF website.
Copyright © 2013–2017 Atlanmod INRIA LINA Mines Nantes. All rights reserved.