update introductory docs

This commit is contained in:
Mark Pollack
2011-04-05 14:04:29 -04:00
parent 1b5986f3ad
commit a3e67bd0a3
3 changed files with 133 additions and 152 deletions

View File

@@ -1,121 +1,37 @@
<?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>Additional Help Resources</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>
<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>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, we (the Spring Data team) tried to provide, what we think is, an
easy to follow guide for starting with Spring Data Document module. However,
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">
<title>Need Help?</title>
<title>Support</title>
<para>If you encounter issues or you are just looking for an advice, feel
free to use one of the links below:
</para>
<para>There are a few support options available:</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>
<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>
time, is available from <ulink
url="http://www.springsource.com">SpringSource</ulink>, the company
behind Spring Data and Spring.</para>
</section>
</section>
@@ -123,32 +39,24 @@
<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>
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>
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>
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>
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>
<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

@@ -1,20 +1,79 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE book 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">
<partintro>
<para>
<para>This document is the reference guide for Spring Data - Document Support.
It explains Document module concepts and semantics and the syntax for various
stores namespaces.
</para>
<para><para>This document is the reference guide for Spring Data - Document
Support. It explains Document module concepts and semantics and the syntax
for various stores namespaces. </para><para>This section provides some basic
introduction to Spring and Document database. The rest of the document
refers only to Spring Data Document features and assumes the user is
familiar with document databases such as MongoDB and CouchDB as well as
Spring concepts. </para><section id="get-started:first-steps:spring">
<title>Knowing Spring</title>
<para>For an introduction to document stores or Spring, or Spring Data examples, please refer to
<xref linkend="get-started"/>
- this documentation refers only to Spring Data Document Support and
assumes the user is familiar with the document stores and Spring concepts.
</para>
<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.</para>
</section><section id="get-started:first-steps:nosql">
<title>Knowing NoSQL and Document databases</title>
</para>
<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>
</partintro>
<para>The jumping off ground for learning about MongoDB is <ulink
url="http://www.mongodb.org/">www.mongodb.org</ulink>. Here is a list of
other useful resources.</para>
<itemizedlist>
<listitem>
<para>The <ulink url="http://www.mongodb.org/#">online shell</ulink>
provides a convenient way to interact with a MongoDB instance in
combination with the online <ulink type=""
url="http://www.mongodb.org/display/DOCS/Tutorial">tutorial.</ulink></para>
</listitem>
<listitem>
<para>MongoDB <ulink
url="http://www.mongodb.org/display/DOCS/Java+Language+Center">Java
Language Center</ulink></para>
</listitem>
<listitem>
<para>Several <ulink
url="http://www.mongodb.org/display/DOCS/Books">books</ulink>
available for purchase</para>
</listitem>
<listitem>
<para>Karl Seguin's online book: "<ulink
url="http://openmymind.net/mongodb.pdf">The Little MongoDB
Book</ulink>"</para>
</listitem>
</itemizedlist>
<para />
</section></para>
</partintro>

View File

@@ -1,25 +1,39 @@
<?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="why-Spring Data-Document">
<title>Why Spring Data - Document?</title>
<para>The Spring Framework is the leading full-stack Java/JEE
application framework. It provides a lightweight container and a
non-invasive programming model enabled by the use of dependency
injection, AOP, and portable service abstractions.
<para>The Spring Framework is the leading full-stack Java/JEE application
framework. It provides a lightweight container and a non-invasive
programming model enabled by the use of dependency injection, AOP, and
portable service abstractions.</para>
<para><ulink url="http://en.wikipedia.org/wiki/NoSQL">NoSQL</ulink> storages
provide an alternative to classical RDBMS for horizontal scalability and
speed. In terms of implementation, Document stores represent one of the most
popular types of stores in the NoSQL space. The document database supported
by Spring Data are MongoDB and CouchDB, though just MongoDB integration has
been released to date.</para>
<para>The goal of the Spring Data Document (or DATADOC) framework is to
provide an extension to the Spring programming model that supports writing
applications that use Document databases. The Spring framework has always
promoted a POJO programming model with a strong emphasis on portability and
productivity. These values are caried over into Spring Data Document.
</para>
<para>
<ulink url="http://en.wikipedia.org/wiki/NoSQL">NoSQL</ulink>
storages provide an alternative to classical RDBMS for horizontal scalability
and speed. In terms of implementation, Document stores represent one of the
most popular types of stores in the NoSQL space.
</para>
<para>The Spring Data Document (or DATADOC) framework makes it easy to
write Spring applications that use a Document store by eliminating the redundant
tasks and boiler place code required for interacting with the store through
Spring's excellent infrastructure support.
</para>
</chapter>
<para>Notable features that are used in Spring Data Document from the Spring
framework are the Features that particular, features from the Spring
framework that are used are the Conversion Service, JMX Exporters, portable
Data Access Exception hierarchy, Spring Expression Language, and Java based
IoC container configuration. The programming model follows the familiar
Spring 'template' style, so if you are familar with Spring template classes
such as JdbcTemplate, JmsTemplate, RestTemplate, you will feel right at
home. For example, MongoTemplate removes much of the boilerplate code you
would have to write when using the MongoDB driver to save POJOs as well as a
rich java based query interface to retrieve POJOs. The programming model
also offers a new Repository approach in which the Spring container will
provide an implementation of a Repository based soley off an interface
definition which can also include custom finder methods.</para>
</chapter>