-
Notifications
You must be signed in to change notification settings - Fork 17
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
add and fix
package-info
in core
, and overview
resources
- Loading branch information
Showing
6 changed files
with
44 additions
and
46 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,41 @@ | ||
<body> | ||
<h1>NeoEMF : A Multi-database Model Persistence Framework.</h1> | ||
|
||
<p>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 | ||
<i>Model-based Tools</i>, which provide high-level modeling features such as a graphical | ||
interface, interactive console, or query editor. These features internally rely on EMF's | ||
<i>Model Access API</i> to navigate models, perform CRUD operations, check constraints, etc. | ||
At its core, EMF delegates the operations to a persistence manager using its | ||
<i>Persistence API</i>, which is in charge of the (de)serialization of the model. | ||
The NeoEMF <i>core</i> 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.</p> | ||
|
||
<p>Once the NeoEMF <i>core</i> component has received the request of the modeling operation | ||
to perform, it forwards the operation to the appropriate database driver (<i>MapDB</i>, <i>Blueprints</i>, | ||
or <i>HBase</i>), which is in charge of handling the low-level representation of the model. | ||
These connectors translate modeling operations into <i>Backend API</i> calls, store the results, | ||
and reify database records into EMF <i>EObjects</i> 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.</p> | ||
|
||
<div style="text-align: center;"><img src="doc-files/overview.png" alt="NeoEMF Architecture Overview"></div> | ||
|
||
<div> | ||
<p>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 <i>core</i> component. | ||
NeoEMF provides 4 database adapters for now:</p> | ||
<ul> | ||
<li>Blueprints - TinkerGraph: the default graph database embedded in Blueprints</li> | ||
<li>Blueprints - Neo4j: Neo4j graph database under the Blueprints API</li> | ||
<li>MapDB: an in-memory/on-disk Map database</li> | ||
<li>HBase: a distributed Column database</li> | ||
</ul> | ||
</div> | ||
|
||
<p>Sources are available on <a href="https://github.com/atlanmod/NeoEMF">GitHub</a>. Further informations | ||
can be found on <a href="www.neoemf.com">NeoEMF website</a>.</p> | ||
|
||
</body> |