[dna-commits] DNA SVN: r114 - in trunk/docs/getting_started/en: images and 1 other directory.

dna-commits at lists.jboss.org dna-commits at lists.jboss.org
Wed Apr 30 15:30:18 EDT 2008


Author: rhauch
Date: 2008-04-30 15:30:18 -0400 (Wed, 30 Apr 2008)
New Revision: 114

Added:
   trunk/docs/getting_started/en/images/dna-architecture.png
Removed:
   trunk/docs/getting_started/en/images/build.png
   trunk/docs/getting_started/en/images/docbook-dir.png
Modified:
   trunk/docs/getting_started/en/master.xml
Log:
Added overview and architecture sections.

Deleted: trunk/docs/getting_started/en/images/build.png
===================================================================
(Binary files differ)

Added: trunk/docs/getting_started/en/images/dna-architecture.png
===================================================================
(Binary files differ)


Property changes on: trunk/docs/getting_started/en/images/dna-architecture.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Deleted: trunk/docs/getting_started/en/images/docbook-dir.png
===================================================================
(Binary files differ)

Modified: trunk/docs/getting_started/en/master.xml
===================================================================
--- trunk/docs/getting_started/en/master.xml	2008-04-30 17:52:22 UTC (rev 113)
+++ trunk/docs/getting_started/en/master.xml	2008-04-30 19:30:18 UTC (rev 114)
@@ -8,19 +8,18 @@
     <subtitle>Getting Started Guide</subtitle>
     <issuenum>0.1</issuenum>
     <productnumber>1</productnumber>
-    <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"/>
+    <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>What this book covers</title>
     <para>The goal of this book is to help you learn about JBoss DNA and how you can use it in your own applications to get the
       most out of your JCR repositories.</para>
-    <para>The part of the book starts out with an introduction to content repositories and an overview of the JCR API, both of which are an
-    important aspect of JBoss DNA.  This is followed by an overview of the the JBoss DNA project, it's architecture, and a basic
-    roadmap for what's coming next.</para>
-    <para>The next part of the book covers how to download and build the examples, how to use JBoss DNA with
-    existing repositories, and how to build and use custom sequencers.
-    </para>
+    <para>The part of the book starts out with an introduction to content repositories and an overview of the JCR API, both of
+      which are an important aspect of JBoss DNA. This is followed by an overview of the the JBoss DNA project, it's architecture,
+      and a basic roadmap for what's coming next.</para>
+    <para>The next part of the book covers how to download and build the examples, how to use JBoss DNA with existing
+      repositories, and how to build and use custom sequencers.</para>
     <para>
       If you have any questions or comments, please feel free to contact JBoss DNA's
       <ulink url="mailto:dna-users at jboss.org">user mailing list</ulink>
@@ -132,6 +131,137 @@
   <chapter id="jboss_dna">
     <title>JBoss DNA</title>
     <sect1>
+      <title>Overview</title>
+      <para>JBoss DNA is a repository and set of tools that make it easy to capture, version, analyze, and understand the
+        fundamental building blocks of information. As models, service and process definitions, schemas, source code, and other
+        artifacts are added to the repository, JBoss DNA "sequences" the makeup of these components and extracts their structure
+        and interdependencies. The JBoss DNA web application allows end users to access, visualize, and edit this information in
+        the terminology and structure they are familiar with. Such domain-specific solutions can be easily created with little or
+        no programming.</para>
+      <para> JBoss DNA supports the Java Content Repository (JCR) standard and is able to provide a single integrated view of
+        multiple repositories, external databases, services, and applications, ensuring that JBoss DNA has access to the latest
+        and most reliable master data. For instance, DNA could provide in a single view valuable insight into the business
+        processes and process-level services impacted by a change to in an intermediary web server operation defined via WSDL.
+        Similarly, a user could quickly view and navigate the dependencies between the data source models and transformation
+        information stored within a content repository, the code base stored within a version control system, and the database
+        schemas used by an application.</para>
+    </sect1>
+    <sect1 id="architecture">
+      <title>Architecture</title>
+      <para>The architecture for JBoss DNA consists of several major components that will be built on top of standard APIs,
+        including JCR, JDBC, JNDI and HTTP. The goal is to allow these components to be assembled as needed and add value on top
+        of other DNA components or third-party systems that support the standard APIs.</para>
+      <!-- mediaobject>
+        <imageobject>
+          <imagedata align="center" fileref="images/dna-architecture.png"/>
+        </imageobject>
+      </mediaobject -->
+      <figure id="dna-architecture">
+        <title>JBoss DNA Architecture</title>
+        <graphic align="center" scale="60" fileref="images/dna-architecture.png" />
+      </figure>
+      <para>
+        As shown in the diagram above, the major components are (starting at the top):
+        <itemizedlist>
+          <listitem>
+            <para>
+              <emphasis role="strong">DNA Eclipse Plugins</emphasis>
+              enable Eclipse users to access the contents of a JBoss DNA repository.
+            </para>
+          </listitem>
+          <listitem>
+            <para>
+              <emphasis role="strong">DNA JDBC Driver</emphasis>
+              provides a driver implementation, allowing JDBC-aware applications to connect to and use a JBoss DNA repository.
+            </para>
+          </listitem>
+          <listitem>
+            <para>
+              <emphasis role="strong">DNA Remote JCR</emphasis>
+              is a client-side component for accessing remote JCR repositories.
+            </para>
+          </listitem>
+          <listitem>
+            <para>
+              <emphasis role="strong">DNA Web Application</emphasis>
+              is used by end users and domain experts to visualize, search, edit, change and tag the repository content. The web
+              application uses views to define how different types of information are to be presented and edited in
+              domain-specific ways. The goal is that this web application is easily customized and branded for inclusion into
+              other solutions and application systems. The DNA Web Application operate upon any JCR-compliant repository, although
+              it does rely upon the DNA analysis and templating services.
+            </para>
+          </listitem>
+          <listitem>
+            <para>
+              <emphasis role="strong">DNA Publishing Server</emphasis>
+              allows content to be downloaded, uploaded and edited using the Atom Publishing Protocol. With the DNA Publishing
+              Server, the content of the repository can easily be created, read, edited and deleted using the standard HTTP
+              operations of POST, GET, PUT and DELETE (respectively). More and more tools are being created that support working
+              with Atom Publishing servers. The DNA Publishing Server operates upon any JCR-compliant repository.
+            </para>
+          </listitem>
+          <listitem>
+            <para>
+              <emphasis role="strong">DNA WebDAV Server</emphasis>
+              allows clients such as Microsoft Windows and Apple OS X to connect to, read and edit the content in the repository
+              using the WebDAV standard. Since WebDAV is an extension of HTTP, web browsers are able to read (but not modify) the
+              content served by a WebDAV compliant server. The DNA WebDAV Server operates upon any JCR-compliant repository.
+            </para>
+          </listitem>
+          <listitem>
+            <para>
+              <emphasis role="strong">DNA Sequencers</emphasis>
+              are pluggable components that make it possible for content to be uploaded to the repository and automatically
+              processed to extract meaningful structure and place that structure in the repository. Once this information is in
+              the repository, it can be viewed, edited, analyzed, searched, and related to other content. DNA defines a Java
+              interface that sequencers must implement. DNA sequencers operate upon any JCR-compliant repository.
+            </para>
+          </listitem>
+          <listitem>
+            <para>
+              <emphasis role="strong">DNA Analyses</emphasis>
+              are pluggable components that analyze the content and the relationships between the content to generate reports or
+              to answer queries. DNA will include some standard analyzers, like dependency analysis and similarity analysis, that
+              are commonly needed by many different solutions. DNA analyzers operate upon any JCR-compliant repository.
+            </para>
+          </listitem>
+          <listitem>
+            <para>
+              <emphasis role="strong">DNA Views</emphasis>
+              are definitions of how types of information are to be presented in a user interface to allow for creation, reading,
+              editing, and deletion of information. DNA view definitions consist of data stored in a JCR repository, and as such
+              views can be easily added, changed or removed entirely by using the DNA Web Application, requiring no programming.
+            </para>
+          </listitem>
+          <listitem>
+            <para>
+              <emphasis role="strong">DNA Federation</emphasis>
+              is an implementation of the JCR API that builds the content within the repository by accessing and integrating
+              information from multiple sources. DNA Federation allows the integration of external system, like other JCR
+              repositories, databases, applications, and services.
+            </para>
+          </listitem>
+          <listitem>
+            <para>
+              <emphasis role="strong">DNA Connectors</emphasis>
+              are used to communicate with these external sources of information. In the federation engine, each source is able to
+              contribute node structure and node properties to any part of the federated graph, although typically many connectors
+              will contribute most of their information to isolated subgraphs. The result is that integration from a wide range of
+              systems can be integrated and accessed through the DNA Web Application, DNA Publishing Server, and DNA WebDAV
+              Server. Connectors also may optionally participate in distributed transactions by exposing an XAResource.
+            </para>
+          </listitem>
+          <listitem>
+            <para>
+              <emphasis role="strong">DNA Maven</emphasis>
+              is a classloader library compatible with Maven 2 project dependencies. This allows the creation of Java ClassLoader
+              instances using Maven 2 style paths, and all dependencies are transitively managed and included.
+            </para>
+          </listitem>
+        </itemizedlist>
+      </para>
+    </sect1>
+    <sect1>
       <title>Sequencers</title>
       <para> The current JBoss DNA release contains a sequencing framework that is designed to sequence data (typically files)
         stored in a JCR repository to automatically extract meaningful and useful information. This additional information is then
@@ -150,11 +280,11 @@
         <itemizedlist>
           <listitem>
             <para>
-              Image sequencer - A sequencer that processes the binary content of an image file, extracts the metadata for the
-              image, and then writes that image metadata to the repository. Gets the file format, image resolution, number of bits
-              per pixel and optionally number of images, comments and physical resolution from JPEG, GIF, BMP, PCX, PNG, IFF, RAS,
-              PBM, PGM, PPM and PSD files. (This sequencer may be improved in the future to also extract EXIF metadata from JPEG
-              files; see
+              <emphasis role="strong">Image sequencer</emphasis>
+              - A sequencer that processes the binary content of an image file, extracts the metadata for the image, and then
+              writes that image metadata to the repository. Gets the file format, image resolution, number of bits per pixel and
+              optionally number of images, comments and physical resolution from JPEG, GIF, BMP, PCX, PNG, IFF, RAS, PBM, PGM, PPM
+              and PSD files. (This sequencer may be improved in the future to also extract EXIF metadata from JPEG files; see
               <ulink url="http://jira.jboss.org/jira/browse/DNA-26">DNA-26</ulink>
               .)
             </para>
@@ -167,94 +297,103 @@
         <itemizedlist>
           <listitem>
             <para>
-              XML Schema Document (XSD) Sequencer - Process XSD files and extract the various elements, attributes, complex types,
-              simple types, and groups. (See
+              <emphasis role="strong">XML Schema Document (XSD) Sequencer</emphasis>
+              - Process XSD files and extract the various elements, attributes, complex types, simple types, and groups. (See
               <ulink url="http://jira.jboss.org/jira/browse/DNA-32">DNA-32</ulink>
               )
             </para>
           </listitem>
           <listitem>
             <para>
-              Web Service Definition Language (WSDL) Sequencer - Process WSDL files and extract the services, bindings, ports,
-              operations, parameters, and other information. (See
+              <emphasis role="strong">Web Service Definition Language (WSDL) Sequencer</emphasis>
+              - Process WSDL files and extract the services, bindings, ports, operations, parameters, and other information. (See
               <ulink url="http://jira.jboss.org/jira/browse/DNA-33">DNA-33</ulink>
               )
             </para>
           </listitem>
           <listitem>
             <para>
-              Hibernate File Sequencer - Process Hibernate configuration (cfg.xml) and mapping (hbm.xml) files to extract the
-              configuration and mapping information. (See
+              <emphasis role="strong">Hibernate File Sequencer</emphasis>
+              - Process Hibernate configuration (cfg.xml) and mapping (hbm.xml) files to extract the configuration and mapping
+              information. (See
               <ulink url="http://jira.jboss.org/jira/browse/DNA-61">DNA-61</ulink>
               )
             </para>
           </listitem>
           <listitem>
             <para>
-              XML Metadata Interchange (XMI) Sequencer - Process XMI documents that contain UML models or models using another
-              metamodel, extracting the model structure into the repository. (See
+              <emphasis role="strong">XML Metadata Interchange (XMI) Sequencer</emphasis>
+              - Process XMI documents that contain UML models or models using another metamodel, extracting the model structure
+              into the repository. (See
               <ulink url="http://jira.jboss.org/jira/browse/DNA-31">DNA-31</ulink>
               )
             </para>
           </listitem>
           <listitem>
             <para>
-              ZIP Archive Sequencer - Process ZIP archive files to extract (explode) the contents into the repository. (See
+              <emphasis role="strong">ZIP Archive Sequencer</emphasis>
+              - Process ZIP archive files to extract (explode) the contents into the repository. (See
               <ulink url="http://jira.jboss.org/jira/browse/DNA-63">DNA-63</ulink>
               )
             </para>
           </listitem>
           <listitem>
             <para>
-              Java Archive (JAR) Sequencer - Process JAR files to extract (explode) the contents into the classes and file
-              resources. (See
+              <emphasis role="strong">Java Archive (JAR) Sequencer</emphasis>
+              - Process JAR files to extract (explode) the contents into the classes and file resources. (See
               <ulink url="http://jira.jboss.org/jira/browse/DNA-64">DNA-64</ulink>
               )
             </para>
           </listitem>
           <listitem>
             <para>
-              Java Class File Sequencer - Process Java class files (bytecode) to extract the class structure (including
-              annotations) into the repository. (See
+              <emphasis role="strong">Java Class File Sequencer</emphasis>
+              - Process Java class files (bytecode) to extract the class structure (including annotations) into the repository.
+              (See
               <ulink url="http://jira.jboss.org/jira/browse/DNA-62">DNA-62</ulink>
               )
             </para>
           </listitem>
           <listitem>
             <para>
-              Java Source File Sequencer - Process Java source files (bytecode) to extract the class structure (including
-              annotations) into the repository. (See
+              <emphasis role="strong">Java Source File Sequencer</emphasis>
+              - Process Java source files (bytecode) to extract the class structure (including annotations) into the repository.
+              (See
               <ulink url="http://jira.jboss.org/jira/browse/DNA-51">DNA-51</ulink>
               )
             </para>
           </listitem>
           <listitem>
             <para>
-              PDF Sequencer - Process PDF files to extract the document metadata, including table of contents. (See
+              <emphasis role="strong">PDF Sequencer</emphasis>
+              - Process PDF files to extract the document metadata, including table of contents. (See
               <ulink url="http://jira.jboss.org/jira/browse/DNA-50">DNA-50</ulink>
               )
             </para>
           </listitem>
           <listitem>
             <para>
-              Maven 2 POM Sequencer - Process Maven 2 Project Object Model (POM) files to extract the project information,
-              dependencies, plugins, and other content. (See
+              <emphasis role="strong">Maven 2 POM Sequencer</emphasis>
+              - Process Maven 2 Project Object Model (POM) files to extract the project information, dependencies, plugins, and
+              other content. (See
               <ulink url="http://jira.jboss.org/jira/browse/DNA-24">DNA-24</ulink>
               )
             </para>
           </listitem>
           <listitem>
             <para>
-              Data Definition Language (DDL) Sequencer - Process various dialects of DDL, including that from Oracle, SQL Server,
-              MySQL, PostgreSQL, and others. May need to be split up into a different sequencer for each dialect. (See
+              <emphasis role="strong">Data Definition Language (DDL) Sequencer</emphasis>
+              - Process various dialects of DDL, including that from Oracle, SQL Server, MySQL, PostgreSQL, and others. May need
+              to be split up into a different sequencer for each dialect. (See
               <ulink url="http://jira.jboss.org/jira/browse/DNA-26">DNA-26</ulink>
               )
             </para>
           </listitem>
           <listitem>
             <para>
-              MP3 and MP4 Sequencer - Process MP3 and MP4 audio files to extract the name of the song, artist, album, track
-              number, and other metadata. (See
+              <emphasis role="strong">MP3 and MP4 Sequencer</emphasis>
+              - Process MP3 and MP4 audio files to extract the name of the song, artist, album, track number, and other metadata.
+              (See
               <ulink url="http://jira.jboss.org/jira/browse/DNA-30">DNA-30</ulink>
               )
             </para>
@@ -265,8 +404,8 @@
         The
         <link linkend="using_dna">examples</link>
         in this book go into more detail about how sequencers are managed and used, and
-<link linkend="custom_sequencers">Chapter 5</link> goes into detail about how to
-        write custom sequencers.
+        <link linkend="custom_sequencers">Chapter 5</link>
+        goes into detail about how to write custom sequencers.
       </para>
     </sect1>
     <sect1>
@@ -299,41 +438,63 @@
           in those systems. Some ideas for connectors include:
           <itemizedlist>
             <listitem>
-              <para>JCR Repository Connector - Connect to and interact with other JCR repositories.</para>
+              <para>
+                <emphasis role="strong">JCR Repository Connector</emphasis>
+                - Connect to and interact with other JCR repositories.
+              </para>
             </listitem>
             <listitem>
-              <para>File System Connector - Expose the files and directories on a file system through JCR.</para>
+              <para>
+                <emphasis role="strong">File System Connector</emphasis>
+                - Expose the files and directories on a file system through JCR.
+              </para>
             </listitem>
             <listitem>
-              <para>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.</para>
+              <para>
+                <emphasis role="strong">Maven 2 Repository Connector</emphasis>
+                - Access and expose the contents of a Maven 2 repository (either on the local file system or via HTTP) through
+                JCR.
+              </para>
             </listitem>
             <listitem>
-              <para>JDBC Metadata Connector - Connect to relational databases via JDBC and expose their schema as content in a
-                repository.</para>
+              <para>
+                <emphasis role="strong">JDBC Metadata Connector</emphasis>
+                - Connect to relational databases via JDBC and expose their schema as content in a repository.
+              </para>
             </listitem>
             <listitem>
-              <para>UDDI Connector - Interact with UDDI registries to integrate their content into a repository.</para>
+              <para>
+                <emphasis role="strong">UDDI Connector</emphasis>
+                - Interact with UDDI registries to integrate their content into a repository.
+              </para>
             </listitem>
             <listitem>
               <para>
-                SVN Connector - Interact with Subversion software configuration management (SCM) repositories to expose the
-                managed resources through JCR. Consider using
+                <emphasis role="strong">SVN Connector</emphasis>
+                - Interact with Subversion software configuration management (SCM) repositories to expose the managed resources
+                through JCR. Consider using
                 <ulink url="http://svnkit.com/">SVNkit</ulink>
                 (dual license) library for API into Subversion.
               </para>
             </listitem>
             <listitem>
-              <para>CVS Connector - Interact with CVS software configuration management (SCM) repositories, to expose the
-                managed resources through JCR.</para>
+              <para>
+                <emphasis role="strong">CVS Connector</emphasis>
+                - Interact with CVS software configuration management (SCM) repositories, to expose the managed resources through
+                JCR.
+              </para>
             </listitem>
             <listitem>
-              <para>JDBC Storage Connector - Store and access information in a relational database. Also useful for persisting
-                information in the federated repository not stored elsewhere.</para>
+              <para>
+                <emphasis role="strong">JDBC Storage Connector</emphasis>
+                - Store and access information in a relational database. Also useful for persisting information in the federated
+                repository not stored elsewhere.
+              </para>
             </listitem>
             <listitem>
               <para>
-                Distributed Database Connector - Store and access information in a
+                <emphasis role="strong">Distributed Database Connector</emphasis>
+                - Store and access information in a
                 <ulink url="http://www.hypertable.org/">Hypertable</ulink>
                 or
                 <ulink url="http://hadoop.apache.org/hbase/">HBase</ulink>
@@ -535,7 +696,7 @@
 <chapter id="future_directions">
   <title>Future directions</title>
   <para>What's next for JBoss DNA?  Well, sequencers are just the beginning.  
-  Remember our <link linkend="jboss_dna">architecture</link>?
+  Remember our <link linkend="architecture">architecture</link>?
   There are a lot of components on our roadmap, including federating
   
   </para>




More information about the dna-commits mailing list