[JBoss JIRA] Commented: (DNA-37) Federate schema information from relational sources
by Sergiy Litsenko (JIRA)
[ https://jira.jboss.org/jira/browse/DNA-37?page=com.atlassian.jira.plugin.... ]
Sergiy Litsenko commented on DNA-37:
------------------------------------
>From Randall:
Just to make sure we're on the same page, maybe it's worth describing what a connector does. The job of a connector is to respond to a request for content (e.g., get a node, get the children of a node, copy a node from A to B, delete a node, create a node, a composite request, etc.). Typically, connector would expose the nodes that represented their content, so for a SVN connector it will expose "nt:file" and "nt:folder" nodes that represent the files and folders in the Subversion repository. A relational database connector might expose the data in its records as nodes (e.g., for a database of customers and products, you might have nodes that represent each customer and each product).
And very importantly, the connector doesn't get all the information all at once, but instead responds to individual requests. So, let's take the relational database (data) connector idea. Basically, the connector just sits there, waiting for requests. Consider a client application wants to navigate the products, so they issue a request to view the children of "/" node. The data connector receives this, and "knows" that there are two top-level children: "/products" and "/customers", so it returns those Locations in the request. The client gets the Locations, chooses to navigate down the "/products" node, and issues a second request for the children under "/products". Again, the data connector receives this request, and responds with "/products/Bar Stool", "/products/Lamp", and "/products/Sofa" Locations. This process continues with the client making other requests (e.g., get the subgraph of the "/products/Sofa" node, including all properties and nodes to a depth of 3, or creating a new "/products/Coat Rack" node given a set of properties).
Now, the client application uses the Graph API to make the requests, or (more likely) the JCR API and our JCR implementation (which uses the Graph API). But, the communication between the client and the connector is interactive. The client doesn't have to load all of the product and customer information, but instead can interact with a repository that contains all of the product and customer information. Except that with DNA, the "repository" content can be dynamically loaded in bits and pieces from other sources using connectors. One more thing, the connector has to be prepared to receive requests interleaved from multiple clients, so the connector can't rely upon any client-specific state.
> Federate schema information from relational sources
> ---------------------------------------------------
>
> Key: DNA-37
> URL: https://jira.jboss.org/jira/browse/DNA-37
> Project: DNA
> Issue Type: Feature Request
> Components: Connectors
> Reporter: Randall Hauch
> Assignee: Sergiy Litsenko
> Priority: Minor
> Fix For: 0.4
>
>
> Create a connector for the federation engine that contributes and exposes the database schema information for a relational database (via JDBC) into the federated repository. This would make it possible to have a repository provide information about the databases in an organization. One choice would be whether to import (and copy) the schema structure, or to provide access to it in real time.
--
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