JBoss.org Community Documentation
The JBoss DNA federation engine will use connectors to interact with different information sources to get at the content in those systems. Some ideas for connectors include:
JCR Repository Connector - Connect to and interact with other JCR repositories.
File System Connector - Expose the files and directories on a file system through JCR.
Maven 2 Repository Connector - Access and expose the contents of a Maven 2 repository (either on the local file system or via HTTP) through JCR.
JDBC Metadata Connector - Connect to relational databases via JDBC and expose their schema as content in a repository.
UDDI Connector - Interact with UDDI registries to integrate their content into a repository.
SVN Connector - Interact with Subversion software configuration management (SCM) repositories to expose the managed resources through JCR. Consider using the SVNkit (dual license) library for an API into Subversion.
CVS Connector - Interact with CVS software configuration management (SCM) repositories to expose the managed resources through JCR.
JDBC Storage Connector - Store and access information in a relational database. Also useful for persisting information in the federated repository not stored elsewhere.
Distributed Database Connector - Store and access information in a Hypertable or HBase distributed databases. Also useful for persisting information in the federated repository not stored elsewhere.
If the connectors allow the information they contribute to be updated, they must provide an
XAResource
implementation that can be used with a Java Transaction Service. Connectors that provide read-only access need not
provide an implementation.
Also, connectors talk to sources of information, and it's quite likely that the same connector is used to talk to different sources. Each source contains the configuration details (e.g., connection information, location, properties, options, etc.) for working with that particular source, as well as a reference to the connector that should be used to establish connections to the source. And of course, sources can be added or removed without having to stop and restart the federated repository.