Review and edit the Abstract, Getting Started, Introduction and Using Spring Boot chapters.

This commit is contained in:
John Blum
2018-06-25 12:04:59 -07:00
parent 15e6baf649
commit b94fb64200

View File

@@ -46,72 +46,75 @@ toc::[]
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.
approach using _auto-configuration_ with the Spring Framework's powerful abstractions and highly consistent programming
model to truly simplify the development of Apache Geode or Pivotal GemFire applications in a Spring 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).
Secondarily, Spring Boot for Apache Geode & Pivotal GemFire aims to give developers a consistent experience whether
building and running Spring Boot, Apache Geode/Pivotal GemFire applications locally or in a managed environment,
such as with 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 {spring-data-geode-docs-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
{spring-data-geode-docs-html}/#bootstrap-annotation-config[foundation]
built into Spring Data for Apache Geode/Pivotal GemFire (SDG) as of the Spring Data *Kay* _Release Train_.
This project is a continuation and logical extension to Spring Data for Apache Geode/Pivotal GemFire's
{spring-data-geode-docs-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 this very
{spring-data-geode-docs-html}/#bootstrap-annotation-config[foundation] cemented in
Spring Data for Apache Geode/Pivotal GemFire
(SDG footnoteref:[SDG, Spring Data for Apache Geode and Spring Data for Pivotal GemFire are commonly known as SDG.])
since the Spring Data *Kay* Release Train.
[[introduction]]
== Introduction
Spring Boot for Apache Geode & Pivotal GemFire automatically applies _auto-configuration_ for several key
application concerns, or _Use Cases_, including, but not limited to:
Spring Boot for Apache Geode & Pivotal GemFire automatically applies _auto-configuration_ to several key
application concerns (_Use Cases_) including, but not limited to:
* _Look-Aside Caching_, using either Apache Geode or Pivotal GemFire as the caching provider in
{spring-framework-docs}/integration.html#cache[Spring's Cache Abstraction].
* {wikipedia-docs}/System_of_record[_System of Record_ (SOR)], persisting application state in Apache Geode
or Pivotal GemFire consistently and reliably using {spring-data-commons-docs-html}/#repositories[Spring Data Repositories].
* _Distributed Computations_, run with Apache Geode/Pivotal GemFire's
{apache-geode-docs}/developing/function_exec/chapter_overview.html[Function framework],
conveniently implemented and executed with Spring Data for Apache Geode/Pivotal GemFire
{spring-data-geode-docs-html}/#function-annotations[POJO, annotation-based Function Executions & Implementations].
* _Continuous Queries_, expressing interests in a stream of events, where applications are able to react to and process
changes to data in near real-time using Apache Geode/Pivotal GemFire {apache-geode-docs}/developing/continuous_querying/chapter_overview.html[Continuous Query (CQ)].
Process handlers can be defined as simple Message-Driven POJOs (MDP) using Spring's {spring-framework-docs}/integration.html#jms-mdp[Message Listener Container],
which is {spring-data-geode-docs-html}/#bootstrap-annotation-config-continuous-queries[configurable] and {spring-data-geode-docs-html}/#apis:continuous-query[implemented]
in Spring Data for Apache Geode/Pivotal GemFire CQ support.
* _Data Serialization_ with Apache Geode/Pivotal GemFire {apache-geode-docs}/developing/data_serialization/gemfire_pdx_serialization.html[PDX]
for which Spring Data for Apache Geode/Pivotal GemFire provides first-class {spring-data-geode-docs-html}/#bootstrap-annotation-config-pdx[configuration]
and {spring-data-geode-docs-html}/#mapping.pdx-serializer[support].
* _Security_, encompassing all aspects of the term, including
{apache-geode-docs}/managing/security/authentication_overview.html[Authentication] / {apache-geode-docs}/managing/security/authorization_overview.html[Authorization]
as well as Transport Layer Security (TLS) using Apache Geode/Pivotal GemFire's {apache-geode-docs}/managing/security/ssl_overview.html[Secure Socket Layer (SSL)].
And, once again, Spring Data for Apache Geode/Pivotal GemFire has you covered with both
{spring-data-geode-docs-html}/#bootstrap-annotation-config-security[Auth] and {spring-data-geode-docs-html}/#bootstrap-annotation-config-ssl[SSL].
* {wikipedia-docs}/System_of_record[_System of Record_ (SOR)], persisting application state reliably in Apache Geode
or Pivotal GemFire using {spring-data-commons-docs-html}/#repositories[Spring Data Repositories].
* _Transactions_, managing application state consistently with {spring-framework-docs}/data-access.html#transaction[Spring Transaction Management]
and SDGfootnoteref:[SDG, Spring Data for Apache Geode and Spring Data for Pivotal GemFire are commonly known as SDG.]
support for both {spring-data-geode-docs-html}/#apis:transaction-management[Local Cache]
and {spring-data-geode-docs-html}/#apis:global-transaction-management[Global JTA] Transactions.
* _Distributed Computations_, run with Apache Geode/Pivotal GemFire's {apache-geode-docs}/developing/function_exec/chapter_overview.html[Function Executions] framework
and conveniently implemented and executed with SDGfootnoteref:[SDG] {spring-data-geode-docs-html}/#function-annotations[POJO-based, annotation support for Functions].
* _Continuous Queries_, expressing interests in a stream of events, where applications are able to react to and process changes to data in near real-time
using Apache Geode/Pivotal GemFire {apache-geode-docs}/developing/continuous_querying/chapter_overview.html[Continuous Query (CQ)].
Handlers are defined in simple Message-Driven POJOs (MDP) using Spring's {spring-framework-docs}/integration.html#jms-mdp[Message Listener Container],
which has been {spring-data-geode-docs-html}/#apis:continuous-query[extended] in, and is {spring-data-geode-docs-html}/#bootstrap-annotation-config-continuous-queries[configurable]
using SDGfootnoteref:[SDG] CQ support.
* _Data Serialization_ with Apache Geode/Pivotal GemFire {apache-geode-docs}/developing/data_serialization/gemfire_pdx_serialization.html[PDX],
including first-class {spring-data-geode-docs-html}/#bootstrap-annotation-config-pdx[configuration]
and {spring-data-geode-docs-html}/#mapping.pdx-serializer[support] in SDGfootnoteref:[SDG].
* _Security_, including {apache-geode-docs}/managing/security/authentication_overview.html[Authentication]
& {apache-geode-docs}/managing/security/authorization_overview.html[Authorization] as well as Transport Layer Security (TLS)
using Apache Geode/Pivotal GemFire's {apache-geode-docs}/managing/security/ssl_overview.html[Secure Socket Layer (SSL)].
Once again, SDGfootnoteref:[SDG] includes first-class support for configuring {spring-data-geode-docs-html}/#bootstrap-annotation-config-security[Auth]
and {spring-data-geode-docs-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
While Spring Data for Apache Geode & Pivotal GemFire offers a simple, very convenient and declarative approach
to configure all these extremely 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 as effective as possible and productive with Spring Boot for Apache Geode/Pivotal GemFire, it is helpful
to understand the foundation on which this project was built.
In order to be immediately productive and as effective as possible 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 and specifically the foundation laid down by
the Spring container's {spring-framework-docs}/core.html#spring-core[core technologies and concepts].
Of course, our story begins with the Spring Framework and the {spring-framework-docs}/core.html#spring-core[core technologies and concepts]
built into the Spring container.
Then, our journey continues with the extensions built into Spring Data for Apache Geode & Pivotal GemFire (SDG) to truly
simplify the development of Apache Geode & Pivotal GemFire 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
{spring-data-geode-docs-html}/#bootstrap-annotation-config[annotation-based configuration model].
Then, our journey continues with the extensions built into Spring Data for Apache Geode & Pivotal GemFire
(SDGfootnoteref:[SDG, Spring Data for Apache Geode and Spring Data for Pivotal GemFire are commonly known as SDG.])
to truly simplify the development of Apache Geode & Pivotal GemFire applications in a Spring context, using Spring's
powerful abstractions and highly consistent programming model. This part of the story was greatly enhanced in
Spring Data *Kay*, with SDGfootnoteref:[SDG] new {spring-data-geode-docs-html}/#bootstrap-annotation-config[annotation-based configuration model].
Though this new configuration approach using annotations provides sensible defaults out-of-the-box, its use
is also very explicit and it assumes nothing. That is, you still must tell SDG what you want.
is also very explicit and assumes nothing. That is, you still must tell SDGfootnoteref:[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, Apache Geode or Pivotal GemFire based applications in the quickest/easiest way
approach for getting the most out of your Spring, Apache Geode/Pivotal GemFire based applications in the quickest/easiest way
possible. We accomplish this by combining Spring Data for Apache Geode/Pivotal GemFire's
{spring-data-geode-docs-html}/#bootstrap-annotation-config[annotation-based configuration] with Spring Boot's
{spring-boot-docs-html}/#using-boot-auto-configuration[auto-configuration] to get you up and running even faster
@@ -150,7 +153,7 @@ TIP: To use Pivotal GemFire in place of Apache Geode, simply change the `artifac
to `spring-gemfire-starter`.
ifeval::["{version-snapshot}" == "true"]
Since we are using a SNAPSHOT version, we need to add the _Spring_ Snapshot Maven Repository.
Since you are using a SNAPSHOT version, you need to add the _Spring_ Snapshot Maven Repository.
If you are using _Maven_, include the following `repository` declaration in your `pom.xml`:
.Maven
@@ -176,7 +179,7 @@ repositories {
endif::[]
ifeval::["{version-milestone}" == "true"]
Since we are using a Milestone version, we need to add the _Spring_ Milestone Maven Repository.
Since you are using a Milestone version, you need to add the _Spring_ Milestone Maven Repository.
If you are using _Maven_, include the following `repository` declaration in your `pom.xml`:
.Maven