Author: rhauch
Date: 2008-08-05 14:09:39 -0400 (Tue, 05 Aug 2008)
New Revision: 378
Added:
trunk/docs/reference/
trunk/docs/reference/.project
trunk/docs/reference/en/
trunk/docs/reference/en/Author_Group.xml
trunk/docs/reference/en/Legal_Notice.xml
trunk/docs/reference/en/images/
trunk/docs/reference/en/images/dna-logo.png
trunk/docs/reference/en/master.xml
trunk/docs/reference/pom.xml
Modified:
trunk/docs/pom.xml
Log:
Added Reference Guide project and initial content (i.e., outline) for the document
Modified: trunk/docs/pom.xml
===================================================================
--- trunk/docs/pom.xml 2008-08-04 19:59:20 UTC (rev 377)
+++ trunk/docs/pom.xml 2008-08-05 18:09:39 UTC (rev 378)
@@ -13,5 +13,6 @@
<description>JBoss DNA Documentation</description>
<modules>
<module>gettingstarted</module>
+ <module>reference</module>
</modules>
</project>
\ No newline at end of file
Property changes on: trunk/docs/reference
___________________________________________________________________
Name: svn:ignore
+ target
Added: trunk/docs/reference/.project
===================================================================
--- trunk/docs/reference/.project (rev 0)
+++ trunk/docs/reference/.project 2008-08-05 18:09:39 UTC (rev 378)
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>docs-reference-guide</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ </buildSpec>
+ <natures>
+ </natures>
+</projectDescription>
Added: trunk/docs/reference/en/Author_Group.xml
===================================================================
--- trunk/docs/reference/en/Author_Group.xml (rev 0)
+++ trunk/docs/reference/en/Author_Group.xml 2008-08-05 18:09:39 UTC (rev 378)
@@ -0,0 +1,28 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!--
+ ~ JBoss, Home of Professional Open Source.
+ ~
+ ~ Copyright (c) 2008, Red Hat Middleware LLC or third-party contributors as
+ ~ indicated by the @author tags or express copyright attribution
+ ~ statements applied by the authors. All third-party contributions are
+ ~ distributed under license by Red Hat Middleware LLC.
+ ~
+ ~ This copyrighted material is made available to anyone wishing to use, modify,
+ ~ copy, or redistribute it subject to the terms and conditions of the GNU
+ ~ Lesser General Public License, as published by the Free Software Foundation.
+ ~
+ ~ This program is distributed in the hope that it will be useful,
+ ~ but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+ ~ or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
+ ~ for more details.
+ ~
+ ~ You should have received a copy of the GNU Lesser General Public License
+ ~ along with this distribution; if not, write to:
+ ~ Free Software Foundation, Inc.
+ ~ 51 Franklin Street, Fifth Floor
+ ~ Boston, MA 02110-1301 USA
+ -->
+<!DOCTYPE authorgroup PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd">
+<authorgroup>
+ <corpauthor>Randall Hauch</corpauthor>
+</authorgroup>
\ No newline at end of file
Added: trunk/docs/reference/en/Legal_Notice.xml
===================================================================
--- trunk/docs/reference/en/Legal_Notice.xml (rev 0)
+++ trunk/docs/reference/en/Legal_Notice.xml 2008-08-05 18:09:39 UTC (rev 378)
@@ -0,0 +1,56 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!--
+ ~ JBoss, Home of Professional Open Source.
+ ~
+ ~ Copyright (c) 2008, Red Hat Middleware LLC or third-party contributors as
+ ~ indicated by the @author tags or express copyright attribution
+ ~ statements applied by the authors. All third-party contributions are
+ ~ distributed under license by Red Hat Middleware LLC.
+ ~
+ ~ This copyrighted material is made available to anyone wishing to use, modify,
+ ~ copy, or redistribute it subject to the terms and conditions of the GNU
+ ~ Lesser General Public License, as published by the Free Software Foundation.
+ ~
+ ~ This program is distributed in the hope that it will be useful,
+ ~ but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+ ~ or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
+ ~ for more details.
+ ~
+ ~ You should have received a copy of the GNU Lesser General Public License
+ ~ along with this distribution; if not, write to:
+ ~ Free Software Foundation, Inc.
+ ~ 51 Franklin Street, Fifth Floor
+ ~ Boston, MA 02110-1301 USA
+ -->
+<!DOCTYPE legalnotice PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd">
+<legalnotice id="Legal_Notice">
+ <title>Legal Notice</title>
+ <para>
+ <address>
+ <street>1801 Varsity Drive</street>
+ <city>Raleigh</city>,
<state>NC</state><postcode>27606-2072</postcode><country>USA</country>
+ <phone>Phone: +1 919 754 3700</phone>
+ <phone>Phone: 888 733 4281</phone>
+ <fax>Fax: +1 919 754 3701</fax>
+ <pob>PO Box 13588</pob><city>Research Triangle
Park</city>,
<state>NC</state><postcode>27709</postcode><country>USA</country>
+ </address>
+ </para>
+ <para>
+ Copyright <trademark class="copyright"/> 2008 by Red Hat, Inc.
This copyrighted material is made available to
+ anyone wishing to use, modify, copy, or redistribute it subject to the terms and
conditions of the
+ GNU <ulink
url="http://www.gnu.org/licenses/lgpl-2.1.html">Lesser
General Public License</ulink>, as published
+ by the Free Software Foundation.
+ </para>
+ <para>
+ Red Hat and the Red Hat "Shadow Man" logo are registered trademarks of
Red Hat, Inc. in the United States and other countries.
+ </para>
+ <para>
+ All other trademarks referenced herein are the property of their respective
owners.
+ </para>
+ <para>
+ The GPG fingerprint of the security(a)redhat.com key is:
+ </para>
+ <para>
+ CA 20 86 86 2B D6 9D FC 65 F6 EC C4 21 91 80 CD DB 42 A6 0E
+ </para>
+</legalnotice>
Added: trunk/docs/reference/en/images/dna-logo.png
===================================================================
(Binary files differ)
Property changes on: trunk/docs/reference/en/images/dna-logo.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/docs/reference/en/master.xml
===================================================================
--- trunk/docs/reference/en/master.xml (rev 0)
+++ trunk/docs/reference/en/master.xml 2008-08-05 18:09:39 UTC (rev 378)
@@ -0,0 +1,553 @@
+<!--
+ ~ JBoss, Home of Professional Open Source.
+ ~
+ ~ Copyright (c) 2008, Red Hat Middleware LLC or third-party contributors as
+ ~ indicated by the @author tags or express copyright attribution
+ ~ statements applied by the authors. All third-party contributions are
+ ~ distributed under license by Red Hat Middleware LLC.
+ ~
+ ~ This copyrighted material is made available to anyone wishing to use, modify,
+ ~ copy, or redistribute it subject to the terms and conditions of the GNU
+ ~ Lesser General Public License, as published by the Free Software Foundation.
+ ~
+ ~ This program is distributed in the hope that it will be useful,
+ ~ but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+ ~ or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
+ ~ for more details.
+ ~
+ ~ You should have received a copy of the GNU Lesser General Public License
+ ~ along with this distribution; if not, write to:
+ ~ Free Software Foundation, Inc.
+ ~ 51 Franklin Street, Fifth Floor
+ ~ Boston, MA 02110-1301 USA
+ -->
+<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
"http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [
+<!ENTITY % RH-ENTITIES SYSTEM "Common_Config/rh-entities.ent">
+<!ENTITY versionNumber "0.2">
+<!ENTITY copyrightYear "2008">
+<!ENTITY copyrightHolder "Red Hat Middleware, LLC.">]>
+<book>
+ <bookinfo>
+ <title>JBoss DNA</title>
+ <subtitle>Reference Guide</subtitle>
+ <releaseinfo>&versionNumber;
+ </releaseinfo>
+ <productnumber>&versionNumber;
+ </productnumber>
+ <issuenum>1</issuenum>
+ <mediaobject>
+ <imageobject role="fo">
+ <imagedata fileref="images/dna-logo.png" align="center"
/>
+ </imageobject>
+ <imageobject role="pdf">
+ <imagedata fileref="images/dna-logo.png" scale="75"
align="center" />
+ </imageobject>
+ <imageobject role="html">
+ <imagedata fileref="images/dna-logo.png" depth="3cm"
/>
+ </imageobject>
+ <imageobject role="xhtml">
+ <imagedata fileref="images/dna-logo.png" depth="3cm"
/>
+ </imageobject>
+ <imageobject role="xhtml_single">
+ <imagedata fileref="images/dna-logo.png" depth="3cm"
/>
+ </imageobject>
+ </mediaobject>
+ <xi:include
xmlns:xi="http://www.w3.org/2001/XInclude"
href="Author_Group.xml" />
+ <xi:include
xmlns:xi="http://www.w3.org/2001/XInclude"
href="Legal_Notice.xml" />
+ </bookinfo>
+ <preface id="preface" revision="1">
+ <title>Target audience</title>
+ <para>This guide is for the developers of JBoss DNA and those users that want
to have a better understanding of
+ how JBoss DNA works or how to extend the functionality. For a higher-level
introduction to JBoss DNA, see
+ the <ulink
url="http://www.jboss.org/file-access/default/members/dna/freezone/d...
Started</ulink> document.</para>
+ <para>
+ If you have any questions or comments, please feel free to contact JBoss DNA's
+ <ulink url="mailto:dna-users@jboss.org">user mailing
list</ulink>
+ or use the
+ <ulink
url="http://www.jboss.com/index.html?module=bb&op=viewforum&...
forums</ulink>
+ . If you'd like to get involved on the project, join the
+ <ulink
url="http://www.jboss.org/dna/lists.html">mailing
lists</ulink>
+ ,
+ <ulink
url="http://www.jboss.org/dna/subversion.html">download the
code</ulink>
+ and get it building, and visit our
+ <ulink
url="http://jira.jboss.org/jira/browse/DNA">JIRA issue
management system</ulink>
+ . If there's something in particular you're interested in, talk with the
community - there may be others interested in the
+ same thing.
+ </para>
+ </preface>
+ <!--
====================================================================================================
+ Chapter
+
====================================================================================================
-->
+ <chapter id="introduction">
+ <title>Introduction to JBoss DNA</title>
+ <para>There are a lot of choices for how applications can store information
persistently so that it can be accessed at a
+ later time and by other processes. The challenge developers face is how to use an
approach that most closely matches the
+ needs of their application. This choice becomes more important as developers choose
to focus their efforts on
+ application-specific logic, delegating much of the responsibilities for persistence
to libraries and frameworks.</para>
+ <para>
+ Perhaps one of the easiest techniques is to simply store information in
+ <emphasis>files</emphasis>
+ . The Java language makes working with files relatively easy, but Java really
doesn't provide many bells and whistles. So
+ using files is an easy choice when the information is either not complicated (for
example property files), or when users may
+ need to read or change the information outside of the application (for example log
files or configuration files). But using
+ files to persist information becomes more difficult as the information becomes more
complex, as the volume of it increases,
+ or if it needs to be accessed by multiple processes. For these situations, other
techniques often offer better choices.
+ </para>
+ <para>
+ Another technique built into the Java language is
+ <emphasis>Java serialization</emphasis>
+ , which is capable of persisting the state of an object graph so that it can be
read back in at a later time. However, Java
+ serialization can quickly become tricky if the classes are changed, and so it's
beneficial usually when the information is
+ persisted for a very short period of time. For example, serialization is sometimes
used to send an object graph from one
+ process to another.
+ </para>
+ <para>
+ One of the more popular persistence technologies is the
+ <emphasis>relational database</emphasis>
+ . Relational database management systems have been around for decades and are very
capable. The Java Database Connectivity
+ (JDBC) API provides a standard interface for connecting to and interacting with
relational databases. However, it is a
+ low-level API that requires a lot of code to use correctly, and it still
doesn't abstract away the DBMS-specific SQL
+ grammar. Also, working with relational data in an object-oriented language can feel
somewhat unnatural, so many developers
+ map this data to classes that fit much more cleanly into their application. The
problem is that manually creating this
+ mapping layer requires a lot of repetitive and non-trivial JDBC code.
+ </para>
+ <para>
+ <emphasis>Object-relational mapping</emphasis>
+ libraries automate the creation of this mapping layer and result in far less code
that is much more maintainable with
+ performance that is often as good as (if not better than) handwritten JDBC code.
The new
+ <ulink
url="http://java.sun.com/developer/technicalArticles/J2EE/jpa/"...
Persistence API (JPA)</ulink>
+ provide a standard mechanism for defining the mappings (through annotations) and
working with these entity objects. Several
+ commercial and open-source libraries implement JPA, and some even offer additional
capabilities and features that go beyond
+ JPA. For example,
+ <ulink url="http://www.hibernate.org">Hibernate</ulink>
+ is one of the most feature-rich JPA implementations and offers object caching,
statement caching, extra association
+ mappings, and other features that help to improve performance and usefulness.
+ </para>
+ <para>
+ While relational databases and JPA are solutions that work for many applications,
they become more limited in cases when the
+ information structure is highly flexible, is not known
+ <emphasis>a priori</emphasis>
+ , or is subject to frequent change and customization. In these situations,
+ <emphasis>content repositories</emphasis>
+ may offer a better choice for persistence. Content repositories are almost a hybrid
between relational databases and file
+ systems, and typically provide other capabilities as well, including versioning,
indexing, search, access control,
+ transactions, and observation. Because of this, content repositories are used by
content management systems (CMS), document
+ management systems (DMS), and other applications that manage electronic files
(e.g., documents, images, multi-media, web
+ content, etc.) and metadata associated with them (e.g., author, date, status,
security information, etc.). The
+ <ulink
url="http://www.jcp.org/en/jsr/detail?id=170">Content
Repository for Java technology API</ulink>
+ provides a standard Java API for working with content repositories. Abbreviated
"JCR", this API was developed as part of the
+ Java Community Process under
+ <ulink
url="http://www.jcp.org/en/jsr/detail?id=170">JSR-170</ul...
+ and is being revised under
+ <ulink
url="http://www.jcp.org/en/jsr/detail?id=283">JSR-283</ul...
+ .
+ </para>
+ <para>
+ The
+ <emphasis>JBoss DNA project</emphasis>
+ is building the tools and services that surround content repositories. Nearly all
of these capabilities are to be hidden
+ below the JCR API and involve automated processing of the information in the
repository. Thus, JBoss DNA can add value to
+ existing repository implementations. For example, JCR repositories offer the
ability to upload files into the repository and
+ have the file content indexed for search purposes. JBoss DNA also defines a library
for "sequencing" content - to extract
+ meaningful information from that content and store it in the repository, where it
can then be searched, accessed, and
+ analyzed using the JCR API.
+ </para>
+ <para> JBoss DNA is building other features as well. One goal of JBoss DNA is
to create federated repositories that
+ dynamically merge the information from multiple databases, services, applications,
and other JCR repositories. Another is to
+ create customized views based upon the type of data and the role of the user that
is accessing the data. And yet another is
+ to create a REST-ful API to allow the JCR content to be accessed easily by other
applications written in other languages.
+ </para>
+ <sect1 id="roadmap">
+ <title>Project roadmap</title>
+ <para>The roadmap for JBoss DNA is managed in the project's <ulink
url="https://jira.jboss.org/jira/browse/DNA">JIRA instance</ulink>.
+ The roadmap shows the different tasks, requirements, issues and other activities
that have been targeted to each of the upcoming releases.
+ (The <ulink
url="https://jira.jboss.org/jira/browse/DNA?report=com.atlassian.jir...
report</ulink>
+ always shows the next three releases.)</para>
+ <para>By convention, JIRA issues not immediately targeted to a release will be
reviewed periodically to determine the appropriate release
+ where they can be targeted. Any issue that is reviewed and that does not fit in a
known release will be targeted to the
+ <ulink
url="https://jira.jboss.org/jira/browse/DNA?report=com.atlassian.jir...
Releases</ulink>
+ bucket. This should be reviewed periodically and at least at the beginning of each
release cycle, with the goal of targeting most
+ of the issues to specific releases.</para>
+ </sect1>
+ <sect1 id="modules">
+ <title>JBoss DNA modules</title>
+ <para>JBoss DNA consists of the following modules:
+ <itemizedlist>
+ <listitem>
+ <para>
+ <emphasis role="strong">dna-common</emphasis>
+ is a low-level library of common utilities and frameworks, including
logging, progress monitoring, internationalization/localization,
+ text translators, component management, and class loader factories.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <emphasis role="strong">dna-spi</emphasis>
+ defines the Service Provider Interface (SPI) for DNA, including the
repository connectors, sequencers, graph interfaces, and MIME type detectors.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <emphasis role="strong">dna-repository</emphasis>
+ is the main module and provides the repository-oriented services, including
the Repository Service, Sequencing Service, Observation Service, and Rules Service.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <emphasis role="strong">dna-jcr</emphasis>
+ provides the JBoss DNA implementation of the JCR API, which relies upon a
repository connector, such as the Federation Connector
+ (see <code>dna-connector-federation</code>).
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <emphasis
role="strong">dna-integration-tests</emphasis>
+ provides a home for all of the integration tests that involve more
components that just unit tests. Integration tests
+ are often more complicated, take longer, and involve testing the integration and
functionality of many components
+ (whereas unit tests focus on testing a single class or component and may use stubs
or mock objects for other components).
+ </para>
+ </listitem>
+ </itemizedlist>
+ The following modules are optional extensions that may be used selectively and as
needed
+ (and are located in the source under the <code>extensions</code>
directory):
+ <itemizedlist>
+ <listitem>
+ <para>
+ <emphasis
role="strong">dna-maven-classloader</emphasis>
+ is a small library that provides a
<code>ClassLoaderFactory</code> implementation that can create
<code>java.lang.ClassLoader</code> instances capable of loading
+ classes given a Maven Repository and a list of Maven coordinates. The Maven
Repository can be managed within a JCR repository.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <emphasis
role="strong">dna-connector-federation</emphasis>
+ is a DNA repository connector that federates, integrates and caches
information from multiple sources (via other repository connectors).
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <emphasis
role="strong">dna-connector-inmemory</emphasis>
+ is a simple DNA repository connector that manages content within memory.
This can be used as a simple cache or as a transient
+ repository.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <emphasis
role="strong">dna-connector-jbosscache</emphasis>
+ is a DNA repository connector that manages content within a <ulink
url="http://www.jboss.org/jbosscache/">JBoss Cache</ulink> instance.
JBoss Cache is a powerful cache implementation
+ that can serve as a distributed cache and that can persist information. The cache
instance can be found via JNDI or created and managed
+ by the connector.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <emphasis role="strong">dna-sequencer-zip</emphasis>
+ is a DNA sequencer that extracts from ZIP archives the files (with content)
and folders.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <emphasis
role="strong">dna-sequencer-images</emphasis>
+ is a DNA sequencer that extracts the image metadata (e.g., size, date,
etc.) from PNG, JPEG, GIF, BMP, PCS, IFF, RAS, PBM, PGM, and PPM image files.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <emphasis role="strong">dna-sequencer-mp3</emphasis>
+ is a DNA sequencer that extracts metadata (e.g., author, album name, etc.)
from MP3 audio files.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <emphasis
role="strong">dna-sequencer-java</emphasis>
+ is a DNA sequencer that extracts the package, class/type, member,
documentation, annotations, and other information from
+ Java source files.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <emphasis
role="strong">dna-sequencer-msoffice</emphasis>
+ is a DNA sequencer that extracts metadata and summary information from
<ulink
url="http://office.microsoft.com/en-us/">Microsoft
Office</ulink> documents. For example, the sequencer
+ extracts from a PowerPoint presentation the outline as well as thumbnails of each
slide. Microsoft Word and Excel files are also supported.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <emphasis role="strong">dna-sequencer-cnd</emphasis>
+ is a DNA sequencer that extracts JCR node definitions from JCR Compact Node
Definition (CND) files.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <emphasis
role="strong">dna-mimetype-detector-aperture</emphasis>
+ is a DNA MIME type detector that uses the <ulink
url="http://aperture.sourceforge.net/">Aperture</ulink> library to
determine the best MIME type
+ from the filename and file contents.
+ </para>
+ </listitem>
+ </itemizedlist>
+ There are also documentation modules
+ (located in the source under the <code>docs</code> directory):
+ <itemizedlist>
+ <listitem>
+ <para>
+ <emphasis
role="strong">docs-getting-started</emphasis>
+ is the project with the <ulink
url="http://www.docbook.org/">DocBook</ulink> source for the JBoss DNA
Getting Started document.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <emphasis
role="strong">docs-getting-started-examples</emphasis>
+ is the project with the Java source for the example application used in the
JBoss DNA Getting Started document.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <emphasis
role="strong">docs-reference-guide</emphasis>
+ is the project with the <ulink
url="http://www.docbook.org/">DocBook</ulink> source for this document,
the JBoss DNA Reference Guide document.
+ </para>
+ </listitem>
+ </itemizedlist>
+ Finally, there is a module that represents the whole JBoss DNA project:
+ <itemizedlist>
+ <listitem>
+ <para>
+ <emphasis role="strong">dna</emphasis>
+ is the parent project that aggregates all of the other projects and that
contains some asset files to create the necessary Maven artifacts during a build.
+ </para>
+ </listitem>
+ </itemizedlist>
+ Each of these modules is a Maven project with a group ID of
<code>org.jboss.dna</code>. All of these projects correspond to artifacts in
the
+ <ulink
url="http://repository.jboss.com/maven2/">JBoss Maven 2
Repository</ulink>.</para>
+ </sect1>
+ </chapter>
+ <!--
====================================================================================================
+ Chapter
+
====================================================================================================
-->
+ <chapter id="classloaders">
+ <title>Class loaders</title>
+ <para></para>
+ <sect1 id="dna-maven-classloader">
+ <title>Maven Repository class loader</title>
+ <para></para>
+ </sect1>
+ </chapter>
+ <!--
====================================================================================================
+ Chapter
+
====================================================================================================
-->
+ <chapter id="security">
+ <title>Security</title>
+ <para>JBoss DNA uses the <ulink
url="http://java.sun.com/javase/technologies/security/">Java Authentication
and Authorization Service (JAAS)</ulink>
+ for its security mechanism. This offers the greatest flexibility and power for
integrating JBoss DNA into other applications.
+ </para>
+ <sect1 id="jboss-security">
+ <title>JBoss Security</title>
+ <para>The <ulink
url="http://www.jboss.org/jbosssecurity/">JBoss Security</ulink>
provides one of the best and most powerful
+ implementations of the JAAS specification - plus it's open source. JBoss
Security offers a number of login modules, including:
+ <itemizedlist>
+ <listitem>
+ <para>
+ <emphasis role="strong">User-Roles Login
Module</emphasis>
+ is a simple <code>javax.security.auth.login.LoginContext</code>
implementation that uses usernames and passwords stored
+ in a properties file.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <emphasis role="strong">Client Login
Module</emphasis>
+ prompts the user for their username and password.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <emphasis role="strong">Database Server Login
Module</emphasis>
+ uses a JDBC database to authenticate principals and associate them with
roles.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <emphasis role="strong">LDAP Login Module</emphasis>
+ uses an LDAP directory to authenticate principals. Two implementations are
available.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <emphasis role="strong">Certificate Login
Module</emphasis>
+ authenticates using X509 certificates, obtaining roles from either property
files or a JDBC database.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <emphasis role="strong">Operating System Login
Module</emphasis>
+ authenticates using the operating system's mechanism.
+ </para>
+ </listitem>
+ </itemizedlist>
+ and many others.
+ </para>
+ <para>JBoss Security also provides other capabilities, such as using XACML
policies or using federated single sign-on.
+ For more detail, see the <ulink
url="http://www.jboss.org/jbosssecurity/">JBoss Security</ulink>
project.
+ </para>
+ </sect1>
+ </chapter>
+ <!--
====================================================================================================
+ Chapter
+
====================================================================================================
-->
+ <chapter id="repositories">
+ <title>Repositories</title>
+ <para></para>
+ <sect1 id="repository-service">
+ <title>Repository Service</title>
+ <para></para>
+ </sect1>
+ <sect1 id="connectors">
+ <title>Repository connectors and sources</title>
+ <para></para>
+ <sect2 id="dna-connector-inmemory">
+ <title>In-memory connector</title>
+ <para></para>
+ </sect2>
+ <sect2 id="dna-connector-jbosscache">
+ <title>JBoss Cache connector</title>
+ <para></para>
+ </sect2>
+ <sect2 id="dna-connector-federation">
+ <title>Federating connector</title>
+ <para></para>
+ </sect2>
+ </sect1>
+ <sect1 id="custom-connectors">
+ <title>Writing custom connectors</title>
+ <para></para>
+ </sect1>
+ </chapter>
+ <!--
====================================================================================================
+ Chapter
+
====================================================================================================
-->
+ <chapter id="jcr">
+ <title>Content Repositories for Java (JCR)</title>
+ <para></para>
+ <sect1 id="jcr-repositories">
+ <title>Obtaining JCR repositories</title>
+ <para>Discuss how to obtain JCR repository instances (from the Repository
Service).
+ </para>
+ </sect1>
+ <sect1 id="jcr-sessions">
+ <title>Creating JCR sessions</title>
+ <para>Discuss how to obtain JCR sessions and how the credentials work.
+ Also discuss that sessions should be created, used, and closed.
+ </para>
+ </sect1>
+ </chapter>
+ <!--
====================================================================================================
+ Chapter
+
====================================================================================================
-->
+ <chapter id="sequencing">
+ <title>Sequencing content</title>
+ <para></para>
+ <sect1 id="sequencing-service">
+ <title>Sequencing Service</title>
+ <para></para>
+ </sect1>
+ <sect1 id="sequencers">
+ <title>JBoss DNA Sequencers</title>
+ <para></para>
+ <sect2 id="dna-sequencer-images">
+ <title>Image sequencer</title>
+ <para></para>
+ </sect2>
+ <sect2 id="dna-sequencer-msoffice">
+ <title>Microsoft Office document sequencer</title>
+ <para></para>
+ </sect2>
+ <sect2 id="dna-sequencer-zip">
+ <title>ZIP archive sequencer</title>
+ <para></para>
+ </sect2>
+ <sect2 id="dna-sequencer-java">
+ <title>Java source sequencer</title>
+ <para></para>
+ </sect2>
+ <sect2 id="dna-sequencer-mp3">
+ <title>MP3 audio file sequencer</title>
+ <para></para>
+ </sect2>
+ <sect2 id="dna-sequencer-cnd">
+ <title>JCR Compact Node Definition (CND) file sequencer</title>
+ <para></para>
+ </sect2>
+ </sect1>
+ <sect1 id="custom-sequencers">
+ <title>Writing custom sequencers</title>
+ <para></para>
+ </sect1>
+ </chapter>
+ <!--
====================================================================================================
+ Chapter
+
====================================================================================================
-->
+ <chapter id="mimetypes">
+ <title>MIME types</title>
+ <para></para>
+ <sect1 id="detectors">
+ <title>JBoss DNA MIME type detectors</title>
+ <para></para>
+ <sect2 id="dna-mimetype-detector-aperture">
+ <title>Aperture MIME type detector</title>
+ <para></para>
+ </sect2>
+ </sect1>
+ <sect1 id="custom-detectors">
+ <title>Writing custom detectors</title>
+ <para></para>
+ </sect1>
+ </chapter>
+ <!--
====================================================================================================
+ Chapter
+
====================================================================================================
-->
+ <chapter id="configuration">
+ <title>Configuration</title>
+ <para>Discuss how to configure JBoss DNA and how configuration repositories are
used to bootstrap the
+ various services and components. Describe how the next release will focus on making
this easier
+ and will detail configuration using the <ulink
url="http://www.jboss.org/jbossmc/">JBoss
Microcontainer</ulink>.</para>
+ </chapter>
+ <!--
====================================================================================================
+ Chapter
+
====================================================================================================
-->
+ <chapter id="testing">
+ <title>Testing</title>
+ <para></para>
+ <sect1 id="unit-tests">
+ <title>Unit tests</title>
+ <para></para>
+ </sect1>
+ <sect1 id="integration-tests">
+ <title>Integration tests</title>
+ <para></para>
+ </sect1>
+ </chapter>
+
+
+ <!--
====================================================================================================
+ Chapter
+
====================================================================================================
-->
+ <chapter id="future_directions">
+ <title>Looking to the future</title>
+ <para>What's next for JBoss DNA? Well, the sequencing system is just the
beginning. With this release, the sequencing system
+ is stable enough so that more <link
linkend="sequencers">sequencers</link> can be developed and used within
your own applications.
+ If you're interested in getting involved with the JBoss DNA project, consider
picking up one of the sequencers on our
+ <ulink
url="http://jira.jboss.org/jira/browse/DNA?report=com.atlassian.jira...;.
+ Or, check out <ulink
url="http://jira.jboss.org/jira/secure/IssueNavigator.jspa?reset=tru...
+ for the list of sequencers we've thought of. If you think of one that's not
there, please add it to JIRA!
+ </para>
+ <para>
+ The next release will focus on creating the <link
linkend="federation">federation engine</link> and connectors
+ for several popular and ubiquitous systems. The 0.2 release will likely only federate
information in a read-only manner,
+ but updates will soon follow. Also, during the early part of the next release, the
JBoss DNA project will switch to use JDK 6.
+ Java 5 is being end-of-lifed, so we want to move to a supported JDK. However, a number
of JBoss projects and products continue to
+ require Java 5, so our next release will most likely use JDK 6 with Java 5
compatibility.</para>
+ <para>
+ Other components on our roadmap include a web user interface, a REST-ful server, and a
view system that allows domain-specific
+ views of information in the repository. These components are farther out on our
roadmap, and at this time have not been
+ targeted to a particular release. If any of these are of interest to you, please
<link linkend="preface">get involved</link> in the community.
+ </para>
+ </chapter>
+</book>
\ No newline at end of file
Added: trunk/docs/reference/pom.xml
===================================================================
--- trunk/docs/reference/pom.xml (rev 0)
+++ trunk/docs/reference/pom.xml 2008-08-05 18:09:39 UTC (rev 378)
@@ -0,0 +1,17 @@
+<project
xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
http://maven.apache.org/xsd/maven-4.0.0.xsd">
+
+ <modelVersion>4.0.0</modelVersion>
+
+ <parent>
+ <groupId>org.jboss</groupId>
+ <artifactId>documentation</artifactId>
+ <version>1.0</version>
+ </parent>
+
+ <groupId>org.jboss.dna</groupId>
+ <artifactId>reference-guide-${translation}</artifactId>
+ <version>0.2-SNAPSHOT</version>
+ <packaging>jdocbook</packaging>
+ <name>JBoss DNA Reference Guide (${translation})</name>
+
+</project>
\ No newline at end of file