Tanzu-Solutions-Engineering / spring-modern-data-architecture

Spring reference project for building solutions using Spring Boot, Spring Data, Spring Cloud Stream using technologies along with using technologies such as VMware Data Services and Tanzu
Apache License 2.0
13 stars 8 forks source link
database gemfire message postgresql rabbitmq redis spring tanzu vmware

Modern Data Architecture with Spring

Most applications are not useful without data. Come and see how easy it is to integrate, analyze and consume data using Spring.

This project provides a reference implement on how to use spring projects such as Spring Cloud Stream to build data pipelines for data movement. Learn how easy it is to consume data services in your Spring Boot applications using Spring Data . We will demonstrate running realtime data analytics on Kubernetes, powered by [Spring](https://spring.io/.

Spring Data is the de-facto standard for data access within the Spring ecosystem, and Spring Cloud provides multi-cloud data integration for a large number of real-life use cases, including data analytics. Spring makes it easy to work with VMware products such as VMware Data Solutions (VMware SQL, VMware GemFire for Redis Apps, VMware RabbitMQ and or VMware Greenplum)) .

Instructors: miverson@vmware.com, demetriousr@vmware.com , gregoryg@vmware.com

Pre-requisites

GemFire for Redis Applications - Build Dependency

Note: This repository uses GemFire for Redis. GemFire for Redis is free to use for local development.

In order to build Please following the instruction here to setup your credentials in your .m2/settings.xml file to access the dependencies in the GemFire maven repository.

Demo/Records/Webinars

Spring Modern Data Architecture Project - Outcomes

web-app-img.png

Project Overview

Path Note
retail-web-app Customer portal web application to view product favorites and real-time promotions
retail-analytics-app Calculates real-time customer favorites/promotions analytics and saves customer order/product into the database.
retail-cache-sink-app Saves customer favorites and performs pub/sub of promotions using GemFire for Redis Apps
retail-source-app Exposes an HTTP API interface to receive product catalog in JSON and customer orders in CSV
jdbc-sql-console-app Generic application to perform SQL query in a configured database
spring-gf-locator Spring Boot with Embedded GemFire locator
spring-gf-redis-server Spring Boot Redis Server with Embedded GemFire cache server

Building Applications

Note this projects requires Java version 17. Set the JAVA_HOME environment prior to building the application.

Building the application

./mvnw package