Skip to content

sample project for my planned article series about reactive applications together with Manfred Steyer

Notifications You must be signed in to change notification settings

hpgrahsl/reactive-dashboard-api

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Reactive Dashboard API

Dieses Repository beinhaltet das beispielhafte WebAPI-Projekt für meinen gemeinsamen Jaxenter.de Artikel 11/2017 mit Manfred Steyer und zeigt, wie mittels Spring 5 bzw. Spring Boot 2.0 ein simples reaktives Backend implementiert werden kann, welches ereignisbasierte Daten mittels SSE an eine Browser-Anwendung sendet, um ein Dashboard in Echtzeit zu aktualisieren.

Teil 1

Der Einfachheit halber wird im 1. Teil dieses Artikels auf eine vollständige Persistenzschicht verzichtet. Stattdessen werden die benötigten Entitäten lediglich mit Maps im Hauptspeicher verwaltet. Weiters beschränkt sich die erste Version des WebAPI auf einen traditionellen @RestController, der mit gewöhnlichen Annotationen versehen ist. Die vollständige Implementierung steht unter dem git tag article-part-1 bereit.

Teil 2

Im zweiten Teil der Artikelserie wird die Implementierung um eine reaktive Persistenzschicht erweitert. Diese verwendet Spring Data MongoDB und erlaubt auf Basis von MongoDB sowie dem reaktiven Datenbanktreiber einen nicht-blockierenden sowie asynchronen Datenbankzugriff. Ebenso wird in Teil zwei der @RestController durch geeignete Router- sowie Handler-Funktionen ersetzt, welche sich mittels DSL und funktionalen Sprachkonstrukten beschreiben lassen. Die vollständige Implementierung steht unter dem git tag article-part-2 bereit.

Angular SPA als Client

Eine dazugehörige Client Implementierung, welche dieses WebAPI konsumiert, findet sich in Form einer Angular SPA in folgendem GitHub Repository.

Cloud VM für Demozwecke

Zum Experimentieren steht eine in Microsoft Azure gehostete Version der Dashboard API bereit, welche testweise statt einer lokalen Instanz verwendet werden kann. Diese VM läuft von 01.11.-31.12.2017. Die Dashboard API BASE URL lautet http://hpgrahsl.northeurope.cloudapp.azure.com:8080/dashboard/api/