DATADOC-30 updated documenation

This commit is contained in:
Thomas Risberg
2011-02-12 10:51:37 -05:00
parent e9d3726531
commit 222b1507cd
4 changed files with 156 additions and 173 deletions

View File

@@ -1,112 +1,123 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE preface PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
"http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd">
"http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd">
<chapter id="get-started">
<title>Getting Started</title>
<title>Getting Started</title>
<para>Learning a new framework is not always straight forward. In this section, we (the Spring Data team)
tried to provide, what we think is, an easy to follow guide for starting with Spring Data Document module.
Of course, feel free to create your own learning 'path' as you see fit and, if possible, please report back
any improvements to the documentation that can help others.</para>
<para>Learning a new framework is not always straight forward. In this
section, we (the Spring Data team) tried to provide, what we think is, an
easy to follow guide for starting with Spring Data Document module. Of
course, feel free to create your own learning 'path' as you see fit and, if
possible, please report back any improvements to the documentation that can
help others.</para>
<section id="get-started:first-steps">
<title>First Steps</title>
<para>As explained in <xref linkend="why-Spring Data-Document"/>, Spring Data Document (DATADOC) provides integration
between Spring framework and document oriented data stores. Thus, it is important to become acquainted with both of these
frameworks (storages or environments depending on how you want to name them). Throughout the DATADOC documentation,
each section provides links to resources relevant however, it is best to become familiar with these topics beforehand.</para>
<section id="get-started:first-steps:spring">
<title>Knowing Spring</title>
<para>Spring Data uses heavily Spring framework's <ulink url="http://static.springframework.org/spring/docs/3.0.x/reference/spring-core.html">core</ulink> functionality,
such as the <ulink url="http://static.springframework.org/spring/docs/3.0.x/reference/beans.html">IoC</ulink> container,
<ulink url="http://static.springframework.org/spring/docs/3.0.x/reference/resources.html">resource</ulink> abstract or
<ulink url="http://static.springframework.org/spring/docs/3.0.x/reference/aop.html">AOP</ulink> infrastructure. While it is not important
to know the Spring APIs, understanding the concepts behind them is. At a minimum, the idea behind IoC should be familiar.
These being said, the more knowledge one has about the Spring, the faster she will pick up Spring Data Document.
Besides the very comprehensive (and sometimes disarming) documentation that explains in detail the Spring Framework,
there are a lot of articles, blog entries and books on the matter - take a look at the Spring framework
<ulink url="http://www.springsource.org/documentation">home page</ulink> for more information. In general, this should be the starting point for
developers wanting to try Spring Data Document.</para>
</section>
<section id="get-started:first-steps:nosql">
<title>Knowing NoSQL and Document stores</title>
<para>NoSQL stores have taken the storage world by storm. It is a vast domain with a plethora of solutions, terms and patterns (to make things worth even the
term itself has multiple <ulink url="http://www.google.com/search?q=nosoql+acronym">meanings</ulink>).
While some of the principles are common, it is crucial that the user is familiar to some degree with the stores supported by DATADOC.
The best way to get acquainted to this solutions is to read their documentation and follow their examples - it usually doesn't take more then 5-10 minutes
to go through them and if you are coming from an RDMBS-only background many times these exercises can be an eye opener.
</para>
</section>
<section id="get-started:first-steps:samples">
<title>Trying Out The Samples</title>
<para>Unfortunately the DATADOC project is very young and there are no samples available yet. However we are working on them and plan to make them available
as soon as possible. In the meantime however, one can use our test suite as a code example (assuming the documentation is not enough) - we provide extensive
integration tests for our code base.
</para>
<!--
<para>The current distribution contains:</para>
<itemizedlist>
<listitem>
<para>Simple Service Sample</para>
<para>A simple example that illustrates OSGi service publication and consumption through Spring DM. This is a good starting point
for users learning the basics.</para>
</listitem>
<listitem>
<para>Weather Sample</para>
<para>A demo that shows more advanced features of Spring DM and OSGi. The application creates a very simple weather information services
presenting some best practices in designing an application to take advantage of the modularity offered by OSGi.</para>
</listitem>
<listitem>
<para>Simple Web App Sample</para>
<para>As the name implies, this is a simple web application, containing Servlets, JSPs and JSP tags, that runs inside OSGi through Spring DM.</para>
</listitem>
<listitem>
<para>Web Console Sample</para>
<para>A more complicated sample that demos a Spring MVC annotation based, web application that runs inside OSGi through Spring DM, featuring
class path scanning and various Spring taglib. Additionally, the web application interacts with the OSGi environment through the web UI.</para>
</listitem>
</itemizedlist>
<para>Each project contains instructions regarding its content and startup procedure. Users are encouraged to experiment with the samples to get a better
understanding of the technologies used.</para>
-->
</section>
</section>
<section id="get-started:help">
<title>Need Help?</title>
<para>If you encounter issues or you are just looking for an advice, feel free to use one of the links below:</para>
<section id="get-started:help:community">
<title>Community Forum</title>
<para>The Spring Data <ulink url="http://forum.springframework.org/forumdisplay.php?f=80">forum</ulink> is a message board for all Spring Data (not just Document) users to
share information and help each other. Note that registration is needed <emphasis>only</emphasis> for posting.
</para>
</section>
<section id="get-started:help:professional">
<title>Professional Support</title>
<para>Professional, from-the-source support, with guaranteed response time, is available from <ulink url="http://www.springsource.com">SpringSource</ulink>,
the company behind Spring Data and Spring.
</para>
</section>
<section id="get-started:first-steps">
<title>First Steps</title>
<para>As explained in <xref linkend="why-Spring Data-Document" />, Spring
Data Document (DATADOC) provides integration between Spring framework and
document oriented data stores. Thus, it is important to become acquainted
with both of these frameworks (storages or environments depending on how
you want to name them). Throughout the DATADOC documentation, each section
provides links to resources relevant however, it is best to become
familiar with these topics beforehand.</para>
<section id="get-started:first-steps:spring">
<title>Knowing Spring</title>
<para>Spring Data uses heavily Spring framework's <ulink
url="http://static.springframework.org/spring/docs/3.0.x/reference/spring-core.html">core</ulink>
functionality, such as the <ulink
url="http://static.springframework.org/spring/docs/3.0.x/reference/beans.html">IoC</ulink>
container, <ulink
url="http://static.springframework.org/spring/docs/3.0.x/reference/resources.html">resource</ulink>
abstract or <ulink
url="http://static.springframework.org/spring/docs/3.0.x/reference/aop.html">AOP</ulink>
infrastructure. While it is not important to know the Spring APIs,
understanding the concepts behind them is. At a minimum, the idea behind
IoC should be familiar. These being said, the more knowledge one has
about the Spring, the faster she will pick up Spring Data Document.
Besides the very comprehensive (and sometimes disarming) documentation
that explains in detail the Spring Framework, there are a lot of
articles, blog entries and books on the matter - take a look at the
Spring framework <ulink
url="http://www.springsource.org/documentation">home page</ulink> for
more information. In general, this should be the starting point for
developers wanting to try Spring Data Document.</para>
</section>
<section id="get-started:up-to-date">
<title>Following Development</title>
<para>For information on the Spring Data source code repository, nightly builds and snapshot artifacts please see the Spring Data home
<ulink url="http://www.springsource.org/spring-data">page</ulink>.
</para>
<para>You can help make Spring Data best serve the needs of the Spring community by interacting with developers through the Spring Community
<ulink url="http://forum.springsource.org">forums</ulink>.</para>
<para>If you encounter a bug or want to suggest an improvement,
please create a ticket on the Spring Data issue <ulink url="https://jira.springframework.org/browse/DATAKV">tracker</ulink>.</para>
<para>To stay up to date with the latest news and announcements in the Spring eco system, subscribe to the
Spring Community <ulink url="http://www.springframework.org/">Portal</ulink>.</para>
<para>Lastly, you can follow the SpringSource Data <ulink url="http://blog.springsource.com/category/data-access/">blog</ulink> or the project team on Twitter
(<ulink url="http://twitter.com/SpringData">SpringData</ulink>)</para>
</section>
</chapter>
<section id="get-started:first-steps:nosql">
<title>Knowing NoSQL and Document stores</title>
<para>NoSQL stores have taken the storage world by storm. It is a vast
domain with a plethora of solutions, terms and patterns (to make things
worth even the term itself has multiple <ulink
url="http://www.google.com/search?q=nosoql+acronym">meanings</ulink>).
While some of the principles are common, it is crucial that the user is
familiar to some degree with the stores supported by DATADOC. The best
way to get acquainted to this solutions is to read their documentation
and follow their examples - it usually doesn't take more then 5-10
minutes to go through them and if you are coming from an RDMBS-only
background many times these exercises can be an eye opener.</para>
</section>
<section id="get-started:first-steps:samples">
<title>Trying Out The Samples</title>
<para>The DATADOC project is very young but there are some samples
available in the GitHub repository: <ulink
url="https://github.com/SpringSource/spring-data-document-examples">https://github.com/SpringSource/spring-data-document-examples</ulink>.</para>
</section>
</section>
<section id="get-started:help">
<title>Need Help?</title>
<para>If you encounter issues or you are just looking for an advice, feel
free to use one of the links below:</para>
<section id="get-started:help:community">
<title>Community Forum</title>
<para>The Spring Data <ulink
url="http://forum.springframework.org/forumdisplay.php?f=80">forum</ulink>
is a message board for all Spring Data (not just Document) users to
share information and help each other. Note that registration is needed
<emphasis>only</emphasis> for posting.</para>
</section>
<section id="get-started:help:professional">
<title>Professional Support</title>
<para>Professional, from-the-source support, with guaranteed response
time, is available from <ulink
url="http://www.springsource.com">SpringSource</ulink>, the company
behind Spring Data and Spring.</para>
</section>
</section>
<section id="get-started:up-to-date">
<title>Following Development</title>
<para>For information on the Spring Data source code repository, nightly
builds and snapshot artifacts please see the Spring Data home <ulink
url="http://www.springsource.org/spring-data">page</ulink>.</para>
<para>You can help make Spring Data best serve the needs of the Spring
community by interacting with developers through the Spring Community
<ulink url="http://forum.springsource.org">forums</ulink>.</para>
<para>If you encounter a bug or want to suggest an improvement, please
create a ticket on the Spring Data issue <ulink
url="https://jira.springframework.org/browse/DATAKV">tracker</ulink>.</para>
<para>To stay up to date with the latest news and announcements in the
Spring eco system, subscribe to the Spring Community <ulink
url="http://www.springframework.org/">Portal</ulink>.</para>
<para>Lastly, you can follow the SpringSource Data <ulink
url="http://blog.springsource.com/category/data-access/">blog</ulink> or
the project team on Twitter (<ulink
url="http://twitter.com/SpringData">SpringData</ulink>)</para>
</section>
</chapter>

View File

@@ -6,6 +6,6 @@
3.0.x and above.</para>
<para>
In terms of document stores, <ulink url="http://www.mongodb.org/">MongoDB</ulink> preferably version 1.6.5
and <ulink url="http://couchdb.apache.org/">CouchDB</ulink> 1.0.1 or later are required.
or later or <ulink url="http://couchdb.apache.org/">CouchDB</ulink> 1.0.1 or later are required.
</para>
</chapter>

View File

@@ -4,8 +4,9 @@
<preface id="preface">
<title>Preface</title>
<para>The Spring Datastore Document project applies core Spring concepts to the development of solutions using a document style data store.
We provide a "template" as a high-level abstraction for sending and receiving messages.
You will notice similarities to the JDBC support in the Spring Framework.
</para>
<para>The Spring Datastore Document project applies core Spring concepts to
the development of solutions using a document style data store. We provide a
"template" as a high-level abstraction for storing and querying documents.
You will notice similarities to the JDBC support in the Spring
Framework.</para>
</preface>

View File

@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
"http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd">
<chapter id="mongo.core" xmlns:xi="http://www.w3.org/2001/XInclude">
<chapter id="mongo.core">
<title>Core support</title>
<para>One of the document stores supported by DATADOC is <ulink
@@ -24,18 +24,27 @@
<para>The MongoDB support provides several components:</para>
<itemizedlist>
<listitem><emphasis>Configuration Factory</emphasis> - for configuring
and handling communication with MongoDB via its Java driver</listitem>
<listitem>
<emphasis>Configuration Factory</emphasis>
<listitem><emphasis>Template implemenattion</emphasis> - providing a
generified, user friendly template classes for interacting with MongoDB.
<xref linkend="mongodb:template" /> explains the abstraction builds on
top of the low-level MongoDB Java API to handle the storage and
retrieval of documents plus mapping between documents and domain
classes.</listitem>
- for configuring and handling communication with MongoDB via its Java driver
</listitem>
<listitem><emphasis>Support Classes</emphasis> - that offer reusable
components such as mapping support and exception translation.</listitem>
<listitem>
<emphasis>Template implemenattion</emphasis>
- providing a generified, user friendly template classes for interacting with MongoDB.
<xref linkend="mongodb:template" />
explains the abstraction builds on top of the low-level MongoDB Java API to handle the storage and retrieval of documents plus mapping between documents and domain classes.
</listitem>
<listitem>
<emphasis>Support Classes</emphasis>
- that offer reusable components such as mapping support and exception translation.
</listitem>
</itemizedlist>
<para>For most tasks, the higher-level abstractions and support services
@@ -122,7 +131,7 @@ public class AppConfig {
</section>
<section id="mongodb:template">
<title>Working with Objects through
<title>Working with objects through
<classname>MongoTemplate</classname></title>
<para>Most users are likely to use <classname>MongoTemplate</classname>
@@ -130,62 +139,24 @@ public class AppConfig {
<literal>org.springframework.data.document.mongodb</literal> - the
template is in fact the central class of the MongoDB module due to its
rich feature set. The template offers convenience methods and automatic
mapping between MongoDB JSON documents and your domain classes.</para>
mapping between MongoDB JSON documents and your domain classes. Out of the
box, <classname>MongoTemplate</classname> uses a Java-based default
converter but you can also write your own converter classes to be used for
reading and storing domain objects. Once configured, the template is
thread-safe and can be reused across multiple instances. </para>
<table id="MongoDB-template-operations-view" pgwide="1">
<title>Operational views</title>
<tgroup cols="2">
<colspec align="center" colname="c1" colwidth="1*" />
<colspec align="center" colname="c2" colwidth="1*" />
<spanspec align="center" colsep="0" nameend="c2" namest="c1"
spanname="both" />
<thead>
<row>
<entry>Interface</entry>
<entry>Description</entry>
</row>
</thead>
<tbody>
<row>
<entry>
<interfacename>Collection Operations</interfacename>
</entry>
<entry>MongoDB document operations</entry>
</row>
<row>
<entry>
<interfacename>Document Operations</interfacename>
</entry>
<entry>MongoDB collection operations</entry>
</row>
</tbody>
</tgroup>
</table>
<para>Once configured, the template is thread-safe and can be reused
across multiple instances.</para>
<para>Out of the box, <classname>MongoTemplate</classname> uses a
Java-based default converter for most of its operations...</para>
<para>Let's look at a couple of examples for how to interect with the
<classname>MongoTemplate</classname>.</para>
</section>
<section id="mongodb:future">
<title>Roadmap ahead</title>
<para>Spring Data MongoDB project is in its early stages. We are
interested in feedback, knowing what your use cases are, what are the
common patters you encounter so that the MongoDB module better serves your
needs. Do contact us using the channels <link
<para>The Spring Data Document projects MongoDB support is in its early
stages. We are interested in feedback, knowing what your use cases are,
what are the common patters you encounter so that the MongoDB module
better serves your needs. Do contact us using the channels <link
linkend="get-started:help:community">mentioned</link> above, we are
interested in hearing from you!</para>
</section>
</chapter>
</chapter>