Ein Überblick
Nachdem wir bereits die Motivation und die Anforderungen unseres „Behind The Meter“-Bilanzkreismanagements vorgestellt haben, möchten wir heute einen Blick auf die technischen Grundlagen werfen. Jede der verwendeten Komponenten spielt eine zentrale Rolle und wurde mit Blick auf Flexibilität, Skalierbarkeit und Integration gewählt. Hier sind die Haupttechnologien und ihre jeweilige Aufgabe im System:
1. Node.js – Das Fundament der Anwendung
Node.js bildet die zentrale Plattform für unsere Anwendung. Als serverseitige JavaScript-Laufzeitumgebung erlaubt Node.js eine asynchrone und ereignisgesteuerte Architektur, die optimal für den Betrieb von Microservices geeignet ist. Das bedeutet, dass unser System auch bei vielen parallelen Anfragen stabil und effizient arbeiten kann – ein entscheidender Vorteil, wenn verschiedene Mandanten zeitgleich Bilanzen verwalten und Buchungen durchführen.
Rolle in unserem System:
- Node.js führt den gesamten Code unserer Microservices aus, die die Logik und Funktionalität unseres Bilanzkreismanagements abbilden.
- Die plattformübergreifende Anwendbarkeit macht es ideal für zukünftige Erweiterungen und das Einbinden in andere Energiemanagement-Systeme.
2. Moleculer – Die Microservice-Architektur
Unsere Anwendung basiert auf einer Microservice-Architektur, und Moleculer ist das zentrale Framework dafür. Moleculer ist ein leistungsstarkes, leichtgewichtiges Framework zur Entwicklung verteilter Anwendungen, das uns ermöglicht, jede Funktionalität als unabhängigen Service zu strukturieren. Jeder Service kann somit spezifische Aufgaben übernehmen und kommuniziert über einen Dienstbus mit anderen Services. Dadurch lassen sich einzelne Systembestandteile isoliert skalieren und verwalten.
Rolle in unserem System:
- Moleculer ermöglicht uns die modulare Entwicklung der Bilanzkreismanagement-Funktionen, z. B. das Anlegen von Bilanzen, das Ausgleichen von Energiemengen oder das Verwalten von Mandantendaten.
- Es bietet eine klare Trennung der Dienste und sorgt für eine einfache Wartbarkeit und Erweiterbarkeit des Systems.
- Über den Moleculer Service-Bus können die Microservices einfach untereinander kommunizieren und auf die REST API zugreifen.
3. MongoDB – Das Herzstück der Datenspeicherung
Als NoSQL-Datenbank ist MongoDB bestens geeignet, um die flexibel strukturierte Datenhaltung unseres Systems zu unterstützen. In MongoDB lassen sich Daten in Form von Dokumenten speichern, die sich dynamisch erweitern und anpassen lassen. Damit ist es einfach, die verschiedenen Objekte des Systems wie Bilanzen, Buchungen und Regeln in einer stabilen, aber flexiblen Struktur abzubilden.
Rolle in unserem System:
- MongoDB speichert sämtliche Bilanzdaten, Buchungen, Regeln und Mandanteninformationen, jeweils versehen mit eindeutigen IDs und sprechenden Namen für eine klare Identifikation.
- Die mandantenfähige Struktur stellt sicher, dass die Daten eines Mandanten für andere Mandanten nicht sichtbar sind.
- Durch die hohe Skalierbarkeit von MongoDB ist das System auf wachsende Datenmengen vorbereitet und kann bei Bedarf erweitert werden.
4. REST API – Die Schnittstelle zum System
Die REST API stellt das Frontend unseres Backends dar. Über diese Schnittstelle können Benutzer und externe Systeme mit dem Bilanzkreismanagement-System kommunizieren, sei es zum Anlegen neuer Bilanzen, Abrufen von Buchungen oder Abfragen von Salden. Die API ist so konzipiert, dass sie leicht zu bedienen und gut dokumentiert ist, sodass sie sich optimal in bestehende Systeme integrieren lässt.
Rolle in unserem System:
- Die REST API ermöglicht eine klare Trennung zwischen Backend und Benutzeroberfläche, sodass Benutzeraktionen effizient an die jeweiligen Microservices weitergeleitet werden.
- Sie stellt sicher, dass alle Interaktionen mit dem System über sichere und definierte Endpunkte erfolgen, und gewährleistet dabei eine einfache Integration.
- Über die REST API können Administratoren und Entwickler direkt mit den Microservices interagieren und sämtliche Funktionen nutzen.
Architektur im Überblick
Zusammen bilden diese vier Komponenten eine robuste und skalierbare Architektur für unser Bilanzkreismanagement-System. Node.js fungiert als die Basis, auf der alle Services und Prozesse laufen, während Moleculer die einzelnen Funktionen als Microservices strukturiert und orchestriert. MongoDB stellt die flexible und effiziente Datenhaltung sicher, und die REST API bietet den Zugang zum System für alle Nutzer und externen Integrationen.
Diese Architektur macht es möglich, dass unser System flexibel und unabhängig skalierbar ist und dabei die Anforderung der Multimandantenfähigkeit erfüllt. Jede Technologie wurde speziell ausgewählt, um das Bilanzkreismanagement hinter dem Stromzähler auf ein neues Niveau zu heben und die Effizienz und Interoperabilität des Systems zu maximieren.