Hi Apache Geode Community-

Now that SDG 2.0 is fairly stable (entering its 3rd service release already
now) and I have resolved all known issues, particularly with the new SDG
Annotation configuration, I figured I would take this opportunity to let
you all know about some of the features I have planned for the next SD
Release Train, Lovelace [1], after Ada Lovelace [2].

First, let me clarify that I am not planning any new significant
enhancements or additions in the 2.0 line going forward; it will mostly
consist of bug fixes and minor enhancements, i.e. be in full maintenance
mode.

However, I will just add that I am particularly proud of the new SDG
Annotation config, largely introduced in 2.0, but technically started in
Spring Data GemFire 1.9.  It has paid dividends not only in developing new
(compound) features in SDG quickly, building on a solid, highly reusable
foundation, but it is greatly simplified my testing efforts.  Expect this
only to improve with time your feedback.



So, in SD Lovelace, I plan to...

1. Repository Query Projections - SGF-523. [3]
2. Repository Paging Support - SGF-524. [4] (NOTE: Sorting is already
supported)
3. Support for Function Executions on Repositories (i.e. *@OnRegion*) -
SGF-452. [5]
4. Reactive Repository Support, think Repository query invocations
returning a CQ wrapped with a Flux - SGF-377. [6]
5. POJO Annotated Cache Callbacks - SGF-453. [7]

In addition, some other notables include...

6. AEQ + Listener Annotation configuration support - SGF-551. [8]
7. Gateway Sender/Receiver Annotation configuration support - SGF-521 &
SGF-550. [9] & [10]
8. Integration with Spring Security - SGF-684. [11]
9. Integration with Micrometer (which Spring Boot 2.0's new Actuator is
based on) - SGF-671. [12]
10. (Possible) Integration with Pivotal Cloud Foundry's New Function
Service (Serverless with PFS) [13]

You can see more highlights and a summary of what came to be in Spring Data
Kay as well as the plan for Spring Data Lovelace in my ~30 min *SpringOne
Platform 2017* talk, "*Simplifying Apache Geode with Spring Data*". [14]



Along with SDG, I also have 2 new projects I am simultaneously launching...

1. *Spring Boot for Apache Geode* (or *Spring Boot Data Geode*) - building
on SDG's Annotation configuration model, but without need to explicitly
declare the Annotations, using auto-configuration and CLASSPATH dependency
detection/enablement.  [15]

This work is particularly important for PCF/PCC (Pivotal Cloud Cache)
integration making moving between PCF and your local dev environment
seamless, the goal being, 0 to very little configuration changes, i.e. it
should just work!  PCC on PCF really is the best way to manage Apache
Geode/Pivotal GemFire.

2. *Spring Data Tests 4 Pivotal GemFire/Apache Geode* - I have started
development/work on a test framework to simplify both Unit and Integration
Testing of Apache Geode applications in *Spring* context, using *Spring's*
TestContext framework [16] along with JUnit 5, Mockito and a few other
things.  Technically, this development began long ago (in a galaxy far far
away ;-) in SDG and I am just uplifting, refactoring and polishing this
code into a proper test framework that all Spring/Apache Geode users can
leverage.

Many people have asked me about this; I (eventually) plan to deliver, ;-).

You can follow this project here [17].

3. I am exploring enhancements to *Spring Session for Apache Geode* as
well, things such as fixed-length expiration along with TTL.  See here [18]
for more details.

4. Finally, I am also planning on an major overhaul of the examples [19]
along with making further improvements to the documentation [20] & [21],
adding more Guides on spring.io/guides [22], etc.

I do keep the *Contacts Application* Reference Implementation (RI) [23]
up-to-date and it is a very good reference for the latest developments in
SDG.


Clearly, there is no shortage of things to do.  All feedback and
contributions are welcomed.

Regards,
-- 
-John


[1]
https://github.com/spring-projects/spring-data-commons/wiki/Release-Train-Lovelace
[2] https://en.wikipedia.org/wiki/Ada_Lovelace
[3] https://jira.spring.io/browse/SGF-523
[4] https://jira.spring.io/browse/SGF-524
[5] https://jira.spring.io/browse/SGF-452
[6] https://jira.spring.io/browse/SGF-377
[7] https://jira.spring.io/browse/SGF-453
[8] https://jira.spring.io/browse/SGF-551
[9] https://jira.spring.io/browse/SGF-521
[10] https://jira.spring.io/browse/SGF-5510
[11] https://jira.spring.io/browse/SGF-684
[12] https://jira.spring.io/browse/SGF-671
[13] https://pivotal.io/platform/pivotal-function-service
[14] https://www.youtube.com/watch?v=OvY5wzCtOV0
[15]
https://github.com/spring-projects/spring-boot-data-geode#spring-boot-for-apache-geode
[16]
https://docs.spring.io/spring/docs/5.0.2.RELEASE/spring-framework-reference/testing.html#testing
[17] https://github.com/jxblum/spring-data-tests-4-gemfire
[18] https://github.com/spring-projects/spring-session-data-geode/issues
[19] https://github.com/spring-projects/spring-gemfire-examples
[20] https://docs.spring.io/spring-data/geode/docs/current/reference/html/
[21] https://docs.spring.io/spring-data/geode/docs/current/api/
[22] https://spring.io/guides
[23] https://github.com/jxblum/contacts-application

Reply via email to