Skip to content

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

Repository files navigation

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

  • Latest version of Chrome
  • OS/LINUX command line
  • Basic database and messaging system knowledge
  • Java 17 or higher and Java development experience
  • Container/Kubernetes skills

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

  • Spring Boot Web App real-time access from GemFire
  • Spring Boot App sink application to populate data from RabbitMQ
  • Spring App for data analytics using (Postgres, MySQL or Greenplum) and RabbitMQ to pushes data to GemFire Spring Boot App source to provide API integration interfaces to send to RabbitMQ

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

About

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

Topics

Resources

License

Code of conduct

Stars

Watchers

Forks

Packages

No packages published