<?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">
<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>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>Spring Data uses Spring framework's <ulink
      url="http://docs.spring.io/spring/docs/3.2.x/spring-framework-reference/html/spring-core.html">core</ulink>
      functionality, such as the <ulink
      url="http://docs.spring.io/spring/docs/3.2.x/spring-framework-reference/html/beans.html">IoC</ulink>
      container, <ulink
      url="http://docs.spring.io/spring/docs/3.2.x/spring-framework-reference/html/validation.html#core-convert">type
      conversion system</ulink>, <ulink
      url="http://docs.spring.io/spring/docs/3.2.x/spring-framework-reference/html/expressions.html">expression
      language</ulink>, <ulink
      url="http://docs.spring.io/spring/docs/3.2.x/spring-framework-reference/html/jmx.html">JMX
      integration</ulink>, and portable <ulink
      url="http://docs.spring.io/spring/docs/3.2.x/spring-framework-reference/html/dao.html#dao-exceptions">DAO
      exception hierarchy</ulink>. 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 for whatever IoC container you
      choose to use.</para>

      <para>The core functionality of the MongoDB and CouchDB support can be
      used directly, with no need to invoke the IoC services of the Spring
      Container. This is much like <classname>JdbcTemplate</classname> which
      can be used 'standalone' without any other services of the Spring
      container. To leverage all the features of Spring Data document, such as
      the repository support, you will need to configure some parts of the
      library using Spring.</para>

      <para>To learn more about Spring, you can refer to the 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="https://spring.io/docs">home page </ulink> for
      more information.</para>
    </section><section id="get-started:first-steps:nosql">
      <title>Knowing NoSQL and Document databases</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>

      <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://docs.mongodb.org/manual/">manual</ulink> introduces MongoDB and contains links to
        	getting started guides, reference documentation and tutorials.</para>
        </listitem>
      
        <listitem>
          <para>The <ulink url="http://try.mongodb.org/">online shell</ulink>
          provides a convenient way to interact with a MongoDB instance in
          combination with the online <ulink type=""
          url="http://docs.mongodb.org/manual/tutorial/getting-started/">tutorial.</ulink></para>
        </listitem>

        <listitem>
          <para>MongoDB <ulink
          url="http://docs.mongodb.org/ecosystem/drivers/java/">Java
          Language Center</ulink></para>
        </listitem>

        <listitem>
          <para>Several <ulink
          url="http://www.mongodb.org/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>
    </section></para>
</partintro>
