Verschiedene Versionen mit Datenbanken

cyb0rg

Aktives Mitglied
Hey there,

Ich arbeite an einer Anwendung die dafür eingesetzt wird Virtuelle Maschinen auf der GCP (Google Cloud Platform) zu deployen und einzusetzen.

Der Front End ist aktuell eine JavaFX Desktop App die beim Starten auf eine Datenbank zugreift, die jeweils die Informationen speichert bzgl der Virtuellen Maschinen unter anderem.

Sobald man eine Virtuelle Maschine “bestellt” hat in der App, wird ein Eintrag in der Datenbank erstellt mit dem Status “bestellt”.

Es gibt dann noch ein Backend Service, was nichts anderes ist als eine java jar.. Die über einen cronjob alle paar Minuten ausgeführt wird und in der Datenbank prüft ob es neue Einträge gibt usw.. Falls es etwas neues gibt wird von diesem Service dann bei der GCP API eine entsprechende Maschine “Deployed”.

Eine entsprechend Übersicht wie es aktuell läuft liefert folgende Abbildung:

overview.png

Es kamen nun einige Wünsche zur Erweiterung auf und ich würde gerne diese entsprechend “lösen” aber auch die “alten” Versionen nach wie vor supporten.

Ich habe mich entsprechend einiges an gedanken gemacht und aktuell habe ich 2 mögliche Ansätze.. So wie die folgenden Abbildungen zeigen:

Variante 1:

overview - ToBe-v1.png

Variante 2:

overview - ToBe-v2.png

Ich denke die Abbildungen sprechen für sich..

Ich tendiere aktuell zu der Variante 2, aus dem Grund dass ich bei der Variante 1 in die Gefahr laufe.. Uralten Code irgendwann zu haben wenn ich bestimmte Versionen “abschalte”.
Bei der Variante 2, habe ich das gefühl dass es zwar nach mehr Aufwand aussieht, jedoch wenn ich eine Version mal “abschalte” dann habe ich keinen “uralten” code mehr den ich mitschleife…
Hier sehe ich jedoch bei der Variante 2 das “problem”, dass wenn ich etwas bugfixen muss, es je nachdem an zu vielen Stellen “maybe” fixen muss….

Was denkt ihr?
 
G

Gelöschtes Mitglied 65838

Gast
warum zum fich lässt du den Client direkt auf ne DB rein ?
... die db verbindung auszulesen ist nicht schwer da jeder client unendlich zeit hat das raus zu finden... wenn ers raus gefunden hat DELETE * FROM... und dann is alles futsch

ich red nicht von "hacker cracky IT Guys" ... du kopierst die jar in einen decompiler und dann hab ichs (und nein .. ein obfuscator machts nicht sicherer!)
zusätzlich sind diagramme für verständnis da und für gemeinsames verständnis um was es geht ... bei jedem User: User1 hizuschreibne und Status: TERMINATED hat einen mehrwert von kartoffel...glossar wäre vllt gut ... was ist "TERMINATED" ... was ist "User1" ... das hilft für verständnis (GLossar = definierung von fachbegriffen im proijekt dass sich jeder auskennt )
 

cyb0rg

Aktives Mitglied
Danke Joreyk für dein Feedback.
Die Anwendung wird aktuell auf Vertrauensbasis eingesetzt, ein User Management usw.. wie auch Security steht nun auch auf der ToDo liste.. Noch wird es auf Vertrauensbasis eingesetzt, das heisst es gibt eine Begrenzte anzahl an User die die App haben und im Zweifel kann ich aufgrund der Logs wissen wer was war. Aber ja wie gesagt da noch mehr Firmen Interne das nutzen wollen / sollen, ist Security ein grosses nächstes Thema, aber bevor ich das angehe möchte ich einen Ansatz wissen wie ich eben verschiedene Versionen Managen soll.

Dazu kommt es gibt kein direkter DB zugriff... es ist jeweils ein JEE API dazwischen und das liegt im Backend... im Frontend wird lediglich über REST ein json object über eine Request gesendet.., aber ja.. auch. das wäre theoretisch manipulierbar, deswegen ja der nächste schritt aber dafür muss ich eben erst wissen wie ich verschiedene Versionen managen soll.

Hätte ich vielleicht noch ergänzen sollen in der Abblldung... vor jeder Datenbank hängt ein JEE API.
 
G

Gelöschtes Mitglied 65838

Gast
Hätte ich vielleicht noch ergänzen sollen in der Abblldung... vor jeder Datenbank hängt ein JEE API.
das ist gut... und wäre wichtiger gewesen als das blöde "User: user1" im diagramm.. deswegen
Diagramm = verständnis teilen für das problem


Zu dienem problem
dann könntest du es mit injection versuchen, die je nach dem welche verison es hat dementsprechend diejenigen objekte nutzt also Injection Pattern



da zb das message beispiel mit dependency injection => je nach version entscheidest du welche klasse benutzt werden


weiter kann ich dir aber nicht helfen da ich kein JEE hab
 
Zuletzt bearbeitet von einem Moderator:
Ähnliche Java Themen
  Titel Forum Antworten Datum
J Verschiedene Runtime Versionen gleichzeitig? Allgemeine Java-Themen 12
C -Verschiedene Versionen eines Programms verwalten Allgemeine Java-Themen 7
L Verschiedene Versionen eines Interfaces Allgemeine Java-Themen 12
H verschiedene Java Versionen Allgemeine Java-Themen 3
P Verschiedene Aspekte einer idempotent API verstehen? Allgemeine Java-Themen 16
Thallius Verschiedene entities für gleichen Code…. Allgemeine Java-Themen 8
OnDemand Zentrale "Drehscheibe" für verschiedene APIs Allgemeine Java-Themen 14
M verschiedene Dokumente auslesen Allgemeine Java-Themen 1
MiMa Logging mit log4j2 in verschiedene Dateien? Allgemeine Java-Themen 22
H Klassen LibGDX - Verschiedene Klassen als Value in einer Map Allgemeine Java-Themen 8
P mehrer Verschiedene Objekte in einer Klasse erstellen. Allgemeine Java-Themen 4
K Verschiedene Sprachen Allgemeine Java-Themen 1
M Verschiedene Pilzartenerkennung Allgemeine Java-Themen 0
I Verschiedene Arrays auslesen Allgemeine Java-Themen 6
nrg Verschiedene JREs im Browser konfigurieren Allgemeine Java-Themen 6
S Best Practice verschiedene Exceptions fangen und neue Exception erzeugen Allgemeine Java-Themen 11
G DesignPattern Verschiedene Services Allgemeine Java-Themen 4
B Verschiedene Objekte in Abhängigkeit eines Typs instanziieren. Allgemeine Java-Themen 17
M massenhaft verschiedene Date-Pattern Allgemeine Java-Themen 3
R Eclipse Verschiedene Ergebnisse bei Berechnung eines double-Werts Allgemeine Java-Themen 5
R Implementierung eines Interface durch 2 verschiedene Klassen Allgemeine Java-Themen 6
faetzminator verschiedene Beans, verschiedene Felder "koppeln" Allgemeine Java-Themen 3
J Verschiedene Klassen als "Object" in ArrayList und dann in for-Schleife erzeugen!? Allgemeine Java-Themen 2
S Welche Datenstruktur für verschiedene Sprachen sinnvoll? Allgemeine Java-Themen 2
H Zwei verschiedene Dateien mittels einem Binärstream übertragen? Allgemeine Java-Themen 13
M verschiedene Methonden innerhalb des gleichen Threads Allgemeine Java-Themen 7
N verschiedene Klasse laden (Designfrage) Allgemeine Java-Themen 2
S Package in verschiedene Projekten einbinden? Allgemeine Java-Themen 3
D Verschiedene Datein aus einer Zip Datei ins Programm laden Allgemeine Java-Themen 4
D Verschiedene Persistenz Strategien Allgemeine Java-Themen 7
S Konstruktoren, verschiedene Klassen, Methoden. Allgemeine Java-Themen 3
M Verschiedene Modi bei AbstractTableModel Allgemeine Java-Themen 10
J Verschiedene Klassen, verschiedene Ströme? Allgemeine Java-Themen 6
V 1 Methode für viele verschiedene Klassen? Allgemeine Java-Themen 9
J Verschiedene Starteinstellungen Allgemeine Java-Themen 7
J Programm für verschiedene Betriebssystem vertreiben? Allgemeine Java-Themen 10
M 2 verschiedene LookAndFeels in einem Fenster möglich? Allgemeine Java-Themen 6
D Gehts praktischer? Thema:Verschiedene Instanzen einer Klasse Allgemeine Java-Themen 3
C Verschiedene JDKs Allgemeine Java-Themen 6
M Regular Expression - verschiedene Ausdrücke testen (grep | ) Allgemeine Java-Themen 5
C verschiedene Klassenarten Allgemeine Java-Themen 3
G Verschiedene Auflösungen Allgemeine Java-Themen 6
A Textfeld soll verschiedene Datumseingaben akzeptieren Allgemeine Java-Themen 5
MiMa Grundsätzliche Frage zur Verwendung von Java Versionen?? Allgemeine Java-Themen 3
T ändern neue Java Versionen was an der Programmiersprache? Allgemeine Java-Themen 15
S Probleme mit unterschiedlichen Java-Versionen (Mac OS X 10.11) Allgemeine Java-Themen 0
P Mehrere Java Versionen auf dem Rechner Allgemeine Java-Themen 3
F Webstart zwei Java Versionen / aktivieren bzw deaktivieren Allgemeine Java-Themen 2
J Jars in unterschiedlichen Versionen Allgemeine Java-Themen 14
Shoox Java-Versionen Allgemeine Java-Themen 5
M Unterschiedliche Java-Versionen Allgemeine Java-Themen 5
R Testen von Applets - versch. Browser und Java Versionen? Allgemeine Java-Themen 4
G jar und Java-Versionen Allgemeine Java-Themen 4
G JDBC Programm und niedrige Java-Versionen Allgemeine Java-Themen 14
M Java Versionen über Skript aktivieren/deaktivieren? Allgemeine Java-Themen 2
ARadauer Java Versionen Übersicht Allgemeine Java-Themen 2
T JDBC: Unterschiede in Interfaces zwischen 2 Java-Versionen. Allgemeine Java-Themen 6
C Auswahl einer Version, bei mehreren installierten Versionen Allgemeine Java-Themen 3
T Installierte JRE Versionen Allgemeine Java-Themen 4
B Mehrere Versionen auf einem Rechner Allgemeine Java-Themen 2
M Erweiterungen in späteren Java-Versionen Allgemeine Java-Themen 26
S Probleme mit Java Versionen und Commapi Allgemeine Java-Themen 2
F Mehrere Versionen von Java auf einem W2K Desktop Allgemeine Java-Themen 3
U Transparent Buttons - unterschiedliche Java-Versionen Allgemeine Java-Themen 8
D Die Versionen Standard, Enterprise und Micro Allgemeine Java-Themen 3
D Windows-Versionen und Befehlsinterpreter Allgemeine Java-Themen 5
G was gibt es für mögliche datenbanken? Allgemeine Java-Themen 6

Ähnliche Java Themen


Oben