Add index.adoc with Abstract, Introduction and Getting Started sections.

This commit is contained in:
John Blum
2018-06-21 11:25:29 -07:00
parent 209c1d88a3
commit c3171b65aa

View File

@@ -0,0 +1,94 @@
= Spring Boot for Apache Geode & Pivotal GemFire Reference Guide
John Blum
:doctype: book
:toc:
:toclevels: 4
:source-highlighter: prettify
:numbered:
:icons: font
[[abstract]]
Welcome to _Spring Boot for Apache Geode & Pivotal GemFire_.
Spring Boot for Apache Geode & Pivotal GemFire provides the convenience of Spring Boot's _convention over configuration_
approach using _auto-configuration_ with the Spring Framework's powerful abstractions and programming model to simplify
the development of Apache Geode or Pivotal GemFire applications in a Spring enabled context.
Secondarily, Spring Boot for Apache Geode/Pivotal GemFire strives to provide developers with a consistent experience
when building and running Spring-powered, Apache Geode/Pivotal GemFire applications, whether a developer's Spring Boot
applications are running locally, or in a managed environment, such as https://pivotal.io/platform[Pivotal CloudFoundry] (PCF).
This project is a continuation and logical extension of the work that began in Spring Data for Apache Geode & Pivotal GemFire
with the relatively new https://docs.spring.io/spring-data/geode/docs/current/reference/html/#bootstrap-annotation-config[Annotation-based Configuration Model]
and the goals set forth with that: _enable application developers to *get up and running* as *quickly* and as *easily*
as possible_. In fact, Spring Boot for Apache Geode/Pivotal GemFire builds on the very
https://docs.spring.io/spring-data/geode/docs/current/reference/html/#bootstrap-annotation-config[foundation]
built into Spring Data for Apache Geode/Pivotal GemFire (SDG) as of the Spring Data *Kay* _Release Train_.
[[introduction]]
== Introduction
Spring Boot for Apache Geode & Pivotal GemFire automatically applies auto-configuration support for several key
application concerns, or _Use Cases_, including, but not limited to:
* _Look-Aside Caching_, using either Apache Geode or Pivotal GemFire as the caching provider in
https://docs.spring.io/spring/docs/current/spring-framework-reference/integration.html#cache[Spring's Cache Abstraction].
* Using Apache Geode or Pivotal GemFire as a https://en.wikipedia.org/wiki/System_of_record[_System of Record_ (SOR)]
to persistent application state consistently and reliably with
https://docs.spring.io/spring-data/commons/docs/current/reference/html/#repositories[Spring Data Repositories].
* Running _distributed computations_ with Apache Geode/Pivotal GemFire's
http://geode.apache.org/docs/guide/16/developing/function_exec/chapter_overview.html[Function Execution API],
conveniently invoked with Spring Data for Apache Geode/Pivotal GemFire
https://docs.spring.io/spring-data/geode/docs/current/reference/html/#function-annotations[POJO-based, Annotation Support for Function Executions & Implementations].
* Registering interests in and reacting to a stream of events with Apache Geode/Pivotal GemFire
http://geode.apache.org/docs/guide/16/developing/continuous_querying/chapter_overview.html[Continuous Query (CQ)]
where process handlers can be defined as simple Message-Driven POJOs (MDP) using Spring's
https://docs.spring.io/spring/docs/current/spring-framework-reference/integration.html#jms-mdp[Message Listener Container],
which is https://docs.spring.io/spring-data/geode/docs/current/reference/html/#bootstrap-annotation-config-continuous-queries[configurable]
and https://docs.spring.io/spring-data/geode/docs/current/reference/html/#apis:continuous-query[implemented]
in Spring Data for Apache Geode/Pivotal GemFire CQ.
* Data Serialization with Apache Geode/Pivotal GemFire
http://geode.apache.org/docs/guide/16/developing/data_serialization/gemfire_pdx_serialization.html[PDX]
for which Spring Data for Apache Geode/Pivotal GemFire provides first-class
https://docs.spring.io/spring-data/geode/docs/current/reference/html/#bootstrap-annotation-config-pdx[configuration]
and https://docs.spring.io/spring-data/geode/docs/current/reference/html/#mapping.pdx-serializer[support].
* Security, encompassing all aspects of the term, including
http://geode.apache.org/docs/guide/16/managing/security/authentication_overview.html[Authentication] /
http://geode.apache.org/docs/guide/16/managing/security/authorization_overview.html[Authorization]
as well as Transport Layer Security (TLS) using Apache Geode/Pivotal GemFire's
http://geode.apache.org/docs/guide/16/managing/security/ssl_overview.html[Secure Socket Layer (SSL)]. And, once again,
Spring Data for Apache Gedoe/Pivotal GemFire has you covered with both
https://docs.spring.io/spring-data/geode/docs/current/reference/html/#bootstrap-annotation-config-security[Auth]
and https://docs.spring.io/spring-data/geode/docs/current/reference/html/#bootstrap-annotation-config-ssl[SSL].
While Spring Data for Apache Geode & Pivotal GemFire offers a simple, convenient and declarative approach for
configuring all these really powerful Apache Geode/Pivotal GemFire features, Spring Boot for Apache Geode
& Pivotal Gemfire makes this even easier to do as we will explore throughout this Reference Guide.
[[getting-started]]
== Getting Started
In order to be effective with and productive using Spring Boot for Apache Geode/Pivotal GemFire, it is helpful
to understand the foundation on which this project was built.
Of course, our story begins with the core Spring Framework itself, and specifically, the foundation laid down
by the Spring container's https://docs.spring.io/spring/docs/current/spring-framework-reference/core.html#spring-core[core technologies and concepts].
Then, our journey continues with the extensions built into Spring Data for Apache Geode & Pivotal GemFire (SDG) to truly
simplify the development of GemFire/Geode applications in a Spring context, using Spring's powerful and highly consistent
programming model. This part of the story was greatly enhanced in Spring Data Kay, with SDG's new
https://docs.spring.io/spring-data/geode/docs/current/reference/html/#bootstrap-annotation-config[configuration model using annotations].
Though this new annotation-based configuration approach provides sensible defaults out-of-the-box, its use
is very explicit and it assumes nothing. That is, you still must tell SDG what you want.
Next, we venture into Spring Boot and all of its wonderfully expressive and highly opinionated "_convention over configuration_"
approach for getting the most out of your Spring GemFire/Geode-based applications in the quickest/easiest way possible.
We do that by combining Spring Data for Apache Geode/Pivotal GemFire's Annotation-based Configuration with Spring Boot
using "_auto-configuration_" to get you going even faster and more reliably so that you are productive from the start.
As such, it would be pertinent to begin your Spring Boot education
https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/reference/htmlsingle/#getting-started[here].
Finally, we arrive at Spring Boot for Apache Geode & Pivotal GemFire.
include::clientcache-applications.adoc[]