Konzept eines Software-Rollout/Synchronisation via WebService

Status
Nicht offen für weitere Antworten.

raphaa

Mitglied
Hallo @ all,

ich versuche mich gerade an der Aufgabe, ein Update-Mechanismus in eine Java-Anwendung (Server und Client) zu integrieren/implementieren.

Fachliche Anforderungen dabei:
Ein Java-Client (mit Swing-Oberfläche), welcher aus mehreren Modulen (JARs) besteht, soll sich beim Start auf einen Server verbinden und eine Versionskontrolle der Module durchführen. Die aktuellsten Module der Client-Anwendung liegen auf dem Server. Erkennt die Update-Logik auf dem Server ein Versionskonflikt zwischen einem Modul auf dem Server und dem Client, soll der Update-Mechanismus das alte Modul auf dem Client mit dem neuen Modul, welches auf dem Server liegt, ersetzen/updaten.

Dieser Mechanismus soll über einen WebService passieren. Eine grobe Idee wäre einen Service mit 2 Methoden zu schreiben: 1.) synchronise, 2.) dateUp

Im Allgemeinen heißt das, es soll Software (in meinem Fall JARs) über einen WebService verteilt werden.

Ich habe natürlich schon Google danach gefragt, aber leider ist die Fülle an Informationen so groß, dass es mich noch mehr verwirrt.

Deswegen wollte ich hier nach möglichen Ideen bzw. Ansätzen zu diesem Problem nachfragen. Hat jemand schon mit einem JAVA-Software-Rollout Erfahrung gemacht? Wo bekomme ich 'richtige' Lektüre zu diesem Thema?

PS: Falls ich die Problemstellung zu ungenau formuliert habe, bitte ich dringenst nachzuhaken ;-)

Danke im Voraus!
 

jule37

Aktives Mitglied
falls du einen webservice schreiben möchtest, benutze doch SOAP, da ist diese funktionalität bereits integriert. da enthält der client nur methoden 'stubs' und compiliert sich die benötigten klassen dann selbst und man braucht bloß noch den server updaten.

edit: google doch mal "java soap"
 

raphaa

Mitglied
Hi,
ich würde nochmal gerne auf die Nachricht von jule37 eingehen.

Wie ist das gemeint, dass SOAP diese Funktionalität schon integiert hat? Ich habe mal danach gegoogelt, jedoch nichts dazu gefunden.
Es ist so, dass auf dem Server schon die Kompilierten JARs liegen. Das heißt, wenn das Programm ein Entwicklerupdate bekommt, werden diese Updates in Form eines JARs nur auf den Server geschoben. Wenn jetzt ein Benutzer den Client öffnet, sollen nur die entsprechenden JARs, wo ein Versionskonflikt vorliegt, vom Server auf den Client übertragen werden. Das verstehe ich unter Client-Update. Es ist nicht so, dass nur der Webservice upgedatet wird, sondern die einzelnen Komponenten der Clientanwendung (JARs).
Ich denke, dass so die einfachste Wartbarkeit des Programms erreicht wird. Falls es andere Ideen gibt, bitte ich um Rückmeldung.

@jule37: Wenn meine Anforderungen immer noch dazu passen, würde ich dich bitten noch 2-3 Stichworte an deine Anfrage "java soap" anzuhängen um mich vielleicht auf den richtigen Weg zu führen. Falls du noch Beispiele hast, wie diese Problematik realisiert werden kann, wäre ich dir sehr dankbar.

Danke im Voraus!
 
Zuletzt bearbeitet:

jule37

Aktives Mitglied
okay, ich fürchte, ich hab deine anforderung falsch verstanden. soap hält nur den webservice aktuell, aber nicht deine applikation. mit z.b. org.apache.axis.wsdl.WSDL2Java werden aus WSDL (web service description language - basiert auf xml) dateien automatisch die clientseitigen webservice klassen erzeugt. das kann dann halt automatisiert erfolgen.

insofern war meine aussage auch etwas ungenau, weil nicht SOAP sondern WSDL dieses feature ermöglicht, aber es gehört dennoch zusammen. der vorteil in dieser technologie ist eine einfach erreichte sprach und protokolunabhängigkeit der clients. so können z.b. gleichzeitig ohne weitere anpassung java und c++ clients zu dem server connecten. (auch für andere sprachen gibt es die automatische klassenerzeugung). für RPC basierte webservices DIE technologie schlechthin.

aber wie gesagt, das gilt nur für client klassen des webservices. ich habe mit dieser implementierung gearbeitet: WebServices - Axis

edit: die funktionalität, die du suchst könnte man zum beispiel mit einem solchen webservice lösen: vor dem start der anwendung läuft erst der webservice und checkt die files auf dem server und vergleicht die versionen. dann läd er die aktuelleren jars herunter und startet den eigentlichen client. könnte man z.b. mit einem launcher tool lösen (?). also wirkt jetzt auf den ersten blick nicht so dramatisch. man muss sich halt ein gutes system überlegen, in dem versionschaos nicht den überblick zu verlieren.
 
Zuletzt bearbeitet:

raphaa

Mitglied
Hi,

danke für die Antowort (sogar am Sonntag) ;-)

Genau das habe ich auch unter den Begriffen SOAP und WSDL gefunden. Leider passt das, so wie auch es erkannt hast, nicht zu meiner Anforderung.

OK. Ich sehe ein, dass es mit einer dafür entwickelten Architektur kein Problem wäre den Client vor dem Starten des eigentlichen Clients-Programms über einen WebService upzudaten.

Was ist mit der Idee bezüglich Java Web Start? Kann man das mit einer Art WebService vergleichen?

Gruß
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
W Timer Konzept-Frage Allgemeine Java-Themen 16
S Suche Konzept: Korrektheit des Aufrufers feststellen Allgemeine Java-Themen 7
J MVC Konzept Allgemeine Java-Themen 1
reibi log4j - Bestes Konzept Allgemeine Java-Themen 10
E Super erzwingen, konzept/pattern gesucht. Allgemeine Java-Themen 8
D GUI-Controller Konzept Allgemeine Java-Themen 6
G UML Konzept Allgemeine Java-Themen 3
M Backend Entwicklung - Konzept fragen Allgemeine Java-Themen 3
E Wie anfangen? Konzept / Designfrage Allgemeine Java-Themen 17
D Observer/Observable Pattern vs. Listener-Konzept Allgemeine Java-Themen 4
MQue Thread Konzept Allgemeine Java-Themen 8
G MVC-Konzept - effizienz beim "notify" Allgemeine Java-Themen 2
MQue Konzept- Frage zum Button-Aktualisieren Allgemeine Java-Themen 5
S Frage zum Java-Konzept Allgemeine Java-Themen 6
H GUI - Konzept Allgemeine Java-Themen 3
S Konzept: Innere Klasse, Anwendungsbeispiel? Allgemeine Java-Themen 4
O regulärer Ausdruck zum durchsuchen eines Strings verwenden Allgemeine Java-Themen 2
T Rotationswinkel eines Bildes bestimmen Allgemeine Java-Themen 4
C Probleme beim Erstellen eines runnable-jar files Allgemeine Java-Themen 1
J JavaScript innerhalb eines Java Projekts ausführen Allgemeine Java-Themen 2
Encera Größe eines Objektes in Byte berechnen Allgemeine Java-Themen 2
8u3631984 Prüfen ob min. ein Element eines Sets in einem anderen Set enh Allgemeine Java-Themen 4
M Array Rang eines Elements Allgemeine Java-Themen 4
OnDemand Teile eines Links entfernen Allgemeine Java-Themen 6
H Auslesen eines (LDAP-)Attributs in Active Directory Allgemeine Java-Themen 2
W JSON parsen eines ,mit JS.stringify erstellten Strings Allgemeine Java-Themen 27
H Textposition eines gedrehten Textes verschieben Allgemeine Java-Themen 8
berserkerdq2 run-methode eines Threads so programmieren, dass 30x die Sekunde etwas ausgeführt wird. Allgemeine Java-Themen 44
E Ersetzen eines Bildes in der Kopfzeile eines Word-Docx-Dokuments mit Apache POI XWPF Allgemeine Java-Themen 0
N Fahrtrichtung eines selbstfahrenden Auto ändern Allgemeine Java-Themen 3
T Letztes Zeichen eines Strings enfernen Allgemeine Java-Themen 14
S Übergabe eines Sortierkriteriums für ein Artikel Array mittels BiPredicate<Artikel, Artikel> Allgemeine Java-Themen 13
gotzi242 Schatzsuche mithilfe eines O(log n) Algorithmus Allgemeine Java-Themen 2
C Koordinaten LONG/LAT eines neuen Punktes in bestimmter Entfernen und Winkel berechnen Allgemeine Java-Themen 3
Tobero Meine Funktion für das beinhalten eines Punktes in einem Kreis funktioniert nicht Allgemeine Java-Themen 5
LimDul Direktes return eines Array geht nicht Allgemeine Java-Themen 20
S Mittelwert anhand eines Stream berechnen Allgemeine Java-Themen 5
kodela Breite eines erweiterten Monitors feststellen Allgemeine Java-Themen 5
R Zeilen eines 2d Arrays abwechselnd links und rechts mit Nullen auffüllen Allgemeine Java-Themen 14
Zrebna Alternative Darstellung eines Codesnippets Allgemeine Java-Themen 33
kodela Inhalt eines Arrays ändert sich mysteriös Allgemeine Java-Themen 2
bueseb84 Wget mit Wildcards - oder wie lädt man bei JFrog die letzte Version eines Artifacts herunter Allgemeine Java-Themen 3
N Erkennen eines Programs Allgemeine Java-Themen 2
N Pausieren eines Programmes Allgemeine Java-Themen 4
D Input/Output Implementierung eines CommandHandlers/Parsers für viele Eingaben Allgemeine Java-Themen 26
M Gibt es eine API die den aktuellen Wert eines Indikators beim Trading zurückgibt? Allgemeine Java-Themen 7
F Wie bekommt man alle Filenamen eines Webserver Verzeichnisses Allgemeine Java-Themen 6
A Fehler beim Öffnen eines Projekts Allgemeine Java-Themen 6
N Eigenschaften eines Buttons per Setter verändern Allgemeine Java-Themen 5
S Ausfuehrung eines Programms aufzeichnen..? Allgemeine Java-Themen 4
X Ermittlung eines doppelte Paars mit Streams Allgemeine Java-Themen 50
Stonie Prüfen von direkter Implementierung eines Interfaces Allgemeine Java-Themen 7
S Vorbereitung eines Praktikums Allgemeine Java-Themen 4
H Aufruf eines Web Service anhand übergebenen Parameter Allgemeine Java-Themen 2
M Weiterleiten von empfangenen Nachrichten eines StompSessionHandlers Allgemeine Java-Themen 1
J Programm zum Suchen eines Wortes im Dateisystem Allgemeine Java-Themen 4
H Rename eines Projekts Allgemeine Java-Themen 1
J Fenstergröße eines anderen Programmes auslesen Allgemeine Java-Themen 9
ReinerCoder auf Klassen innerhalb eines package zugreifen Allgemeine Java-Themen 22
Meeresgott Erste Schritte Sourcetree - Git | Suchen eines Commits Allgemeine Java-Themen 2
E Status eines USB Mikrofon abfragen Allgemeine Java-Themen 2
DaCrazyJavaExpert OOP Ansätze und Tipps zum Porgrammieren eines Taschenrechners Allgemeine Java-Themen 25
A OOP Problem beim Berechnen der größten Fläche eines Ringes Allgemeine Java-Themen 19
JavaNewbie2.0 Start eines Anderen Programm erkennen Allgemeine Java-Themen 6
I Verbindung eines Java-Plugins mit Webserver Allgemeine Java-Themen 3
L Auswertung eines Testes funktioniert nicht Allgemeine Java-Themen 37
G Iteratoren - Wie kann man mithilfe von Iteratoren nur jeden zweiten Wert eines TreeSets ausgeben? Allgemeine Java-Themen 4
GreenTeaYT Elemente eines 2Dim LinkedList von links nach rechts ausgeben? Allgemeine Java-Themen 0
B Spalten eines 2d-Arrays Allgemeine Java-Themen 2
M Rechenprogramm eines wissenschaftlichen Taschenrechners Allgemeine Java-Themen 4
S Eigenschaften (hier Verknüpfung) eines Files lesen Allgemeine Java-Themen 2
E Typüberprüfung eines chars Allgemeine Java-Themen 5
H Hilfe bei Erstellung eines Hilfe Fenster bei Tastendruck (F1 bei Win98) Allgemeine Java-Themen 5
T Teile eines Double-Wertes verändern Allgemeine Java-Themen 2
R Rückgabe eines Arrays durch Funktion Allgemeine Java-Themen 9
H Datentypen Typ eines Arrays überprüfen Allgemeine Java-Themen 9
RalleYTN DPI eines Bildes ändern Allgemeine Java-Themen 4
N Methoden Methoden einer Klasse auf Grundlage eines Strings aufrufen Allgemeine Java-Themen 6
K Bestimmten Bereich eines Strings lesen Allgemeine Java-Themen 6
C -Verschiedene Versionen eines Programms verwalten Allgemeine Java-Themen 7
O Datentypen Erstellung eines Containers, der verschachtelte Map-Strukturen beherbergen kann Allgemeine Java-Themen 0
A einmalige Ausführung eines Methodenabschnittes Allgemeine Java-Themen 3
F CPU Last eines Thread ausfindig machen Allgemeine Java-Themen 0
L Menge der Buchstaben eines Textes zählen Allgemeine Java-Themen 3
F Teil eines Bildes laden Allgemeine Java-Themen 1
Neumi5694 Operatoren regEx für das Erstellen eines Strings verwenden Allgemeine Java-Themen 3
P Löschen eines keys in einer SortedMap Allgemeine Java-Themen 5
RalleYTN Input/Output URL eines Zip Entry? Allgemeine Java-Themen 2
S Alle Methodenaufrufe eines Threads notieren..? Allgemeine Java-Themen 7
J NullPointerExeption bei Inizialisierung eines Arrays Allgemeine Java-Themen 3
I Setzen und Lesen eines Objektes (Enum?) Allgemeine Java-Themen 10
L Implementierung eines AVT-Baums Allgemeine Java-Themen 2
D Größe der Zahlenkombinationen eines Arrays begrenzen Allgemeine Java-Themen 3
D Objekt entlang eines Funktionsgraphens bewegen Allgemeine Java-Themen 6
B Existenz eines Files max 30 sec prüfen Allgemeine Java-Themen 5
U Koordinaten alle Pixel eines Dreiecks zeichnen ausgeben Allgemeine Java-Themen 5
P Wie funktioniert das Feedback eines Klicks auf eine Java GUI Allgemeine Java-Themen 10
thet1983 nach teilen eines Dateinamens suchen Allgemeine Java-Themen 6
T Bezeichnung eines Objektes mit String/int kombinieren Allgemeine Java-Themen 3
Z Auswerten eines eingegeben Termes Allgemeine Java-Themen 13

Ähnliche Java Themen

Neue Themen


Oben