[
https://jira.jboss.org/jira/browse/DNA-40?page=com.atlassian.jira.plugin....
]
Randall Hauch updated DNA-40:
-----------------------------
Fix Version/s: 0.4
(was: Future Releases)
Affects: [Documentation (Ref Guide, User Guide, etc.), Interactive
Demo/Tutorial, Release Notes]
Assignee: Randall Hauch
Complexity: Medium
Priority: Major (was: Minor)
Started work on this new connector, which uses Java Persistence Architecture (JPA) to work
with EJB3 entities stored in a relational database, using Hibernate for the JPA
implementation. (Note that some Hibernate extensions are also used.)
The connector is capable of using one of several "models" (or schemas). The
initial model is called "Basic", but the connector supports having multiple
models (which can be exist in separate packages) and allowing the user to choose via a
JavaBean property in the JpaSource object. (Note that the kind of model used in a
particular database instance is recorded in the database, and may not be changed. In this
case, the JpaSource's model selection is changed to reflect what is in the database.
Changing a database's model would require migration, which is not currently supported,
but could be provided by a "copy" utility that operates on a graph by
generically copying the content from one source to another.)
Each model is also responsible for creating the RequestProcessor implementation, so the
JpaSource and JpaConnection implementations can work with any model.
The "Basic" model stores for each node a single record containing the node ID
(which is a UUID string) and a blob for the serialized properties. Large property values
(of type 'string' or 'binary') are not included in the serialized
properties, but are instead stored separately in a table that stores the value (as a blob)
keyed by the SHA-1 hash of the value. This means that if multiple "large"
properties (on the same or multiple nodes) have the exact same value, that property value
will be stored only once in the database. Also, each parent-child relationship is also
stored as a separate record, allowing direct manipulation of the database when finding,
creating, or moving children (including adjusting the same-name-sibling indexes). Each of
these child entities has the local name of the node, a reference to the namespace in which
the node's name exists, the same-name-sibling index, and the index in the parent list
of children. All namespaces are centralized in a single table so they can be reused.
The current implementation is probably close to 75% complete. The "Basic"
entities are mostly completed (minor changes are anticipated), and all of the source
infrastructure has been completed. Most of the outstanding work is in the
BasicRequestProcessor implementation.
Persistant storage for information not stored in other repository
sources
-------------------------------------------------------------------------
Key: DNA-40
URL:
https://jira.jboss.org/jira/browse/DNA-40
Project: DNA
Issue Type: Feature Request
Components: Connectors
Reporter: Randall Hauch
Assignee: Randall Hauch
Fix For: 0.4
Create a federation connector that is able to manage information in a relational database
using a DNA-defined schema. This would enable the persistant storage of information that
isn't being managed by other connectors.
Requirements include efficiently storing and accessing large numbers of nodes, large
property values (e.g., Binary values), and large numbers of children on nodes.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
https://jira.jboss.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira