Skip to content

Reference implementation for modern for Data/AI architecture for spring projects such as Spring Data, Spring Cloud Stream, AMQP and more

License

Notifications You must be signed in to change notification settings

ggreen/spring-modern-data-architecture

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)) .

Authors: Morgan Iverson, Demetrious Robinson and Gregory Green

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 - Build Dependency

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

-In order to build, please follow the instruction here to setup your credentials in your .m2/settings.xml file to access the -dependencies in the GemFire maven repository.

Publications

Demo/Records/Webinars

Spring Modern Data Architecture Project - Outcomes

web-app-img.png

  • Spring Boot Web App real-time access from ValKey or 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

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

Reference implementation for modern for Data/AI architecture for spring projects such as Spring Data, Spring Cloud Stream, AMQP and more

Topics

Resources

License

Code of conduct

Contributing

Stars

Watchers

Forks

Packages

No packages published

Contributors 2

  •  
  •