JBoss Community

JBoss DNA is a JCR implementation that provides access to content stored in many different kinds of systems. A JBoss DNA repository isn't yet another silo of isolated information, but rather it's a JCR view of the information you already have in your environment: files systems, databases, other repositories, services, applications, etc.

To your applications, JBoss DNA looks and behaves like a regular JCR repository. Using the standard JCR API, applications can search, navigate, version, and listen for changes in the content. But under the covers, JBoss DNA gets its content by federating multiple back-end systems (like databases, services, other repositories, etc.), allowing those systems to continue "owning" the information while ensuring the unified repository stays up-to-date and in sync.

JBoss DNA repositories can be used in a variety of applications. One of the most obvious ones is in provisioning and management, where it's critical to understand and keep track of the metadata for models, database, services, components, applications, clusters, machines, and other systems used in an enterprise. Governance takes that a step farther, by also tracking the policies and expectations against which performance can be verified. In these cases, a repository is an excellent mechanism for managing this complex and highly-varied information. But a JBoss DNA repository doesn't have to be large and complex: it could just manage configuration information for an application, or it could just provide a JCR interface on top of a couple of non-JCR systems.

JBoss DNA 0.5 is now available!

JBoss DNA supports most of the JCR Level 1 and Level 2 features, plus has support for federated repositories. As a first step, check out our brand-new Getting Started document for a high-level overview and sample applications. Then, look at our Reference Guide for a more detailed explanation of JBoss DNA and its capabilities, features, architecture, components, extension points, security, configuration, and testing.

We're always looking for great help, so join us if you're interested in using or building JBoss DNA!

Features

  • Use the JCR API to access your repositories
  • Manage numerous types of software assets, artifacts, and components
  • Sequencers that automatically help you unlock information buried within files
  • Connectors to access and integrate information from file systems, repositories, databases, and services
  • Federate content from multiple connectors into a single, unified JCR repository
  • REST server for use by other services and client applications

What we're building

  • Tools to visualize and understand the relationships between components
  • Reports to show dependencies and similarities, or create custom reports
  • WebDAV support for access by operating systems and WebDAV clients
  • Content and information accessible to WebDAV clients, including Microsoft and Apple operating systems
  • Web application to easily access, edit, search and tag information

Why Choose DNA?

Federate and integrate While you can use JBoss DNA like any JCR repository, JBoss DNA can actually integrate information from multiple systems to present a unified repository. Integrate multiple JCR repositories. Use relational databases. Access applications and services. JBoss DNA can federate and integration information from multiple systems, external databases, applications and services - all in real time without having to make copies.
Better ingredients JBoss DNA can use the best enterprise-class ingredients. Clustering with JBoss Cache and JGroups. JBoss Microcontainer for a POJO container. JAAS integration with JBoss Security and Identity Management. Distributed transactions with JBoss Transactions. And the list goes on. Plus, JBoss DNA benefits from the expertise of MetaMatrix and other JBoss groups.
Throw stuff in, get much more out Add, organize and manage virtually any kind of content, most easily by uploading files. JBoss DNA sequences those files and extracts the meaningful structured information, including relationships and interdependencies. Then take advantage of all this extra information that JBoss DNA discovered.
Speak your language Information is most useful when it's presented in the terminology and structure that's meaningful and familiar to users. The challenge is that different users have different expectations. This is why JBoss DNA will tailor how it exchanges information with client applications and web applications, using templates to define the views for different kinds of information and users. We're planning EST services, Eclipse plugins, and web application components to help deliver this customized information to users. And all this process will be data-driven, so it'll be easy to change how the information is presented.
Open Source The JBoss DNA is an open source project with a business friendly open source license (LGPL). Visit our JIRA pages to get a glimpse of the status or project tasks. Get involved. Visit the forums to see what's being discussed. Better yet, get involved. JBoss core developers are guided by a meritocracy, and we hire talent anywhere in the world it may be.

How to get started:

One of the best things to try first is to follow the Getting Started tutorial and use JBoss DNA for yourself. Or, find out more about the details of the JBoss DNA architecture by reading our Reference Guide. Feature requests and bugs are tracked in the JIRA issue tracking system (its quick to create your own account).