Gedankenaustausch zum Thema Software-Deployment

RLott

Grünschnabel
Moin Kollegens',

ich versuche gerade ein Java-Projekt mit "Mobilen Endgeräten (Tablet PC's)" und Datenaustausch (FTP über WLAN) umzusetzen, welche von einem ERP System bereitgestellt werden.

Dabei stellt sich mir die Frage nach der Thematik "Software-Deployment" - wie kann ich am besten ein mit Eclipse entwickeltes Projekt auf Mobile Endgeräte deployen, auch in Hinsicht auf Programmversionierung.

Folgendes wäre denkbar:

- JNLP (über Java Webstart)
-> alles muss irgendwie in Jar Files gepackt werden
-> diese müssen wiederum signiert werden - Signatur ist nur 6 Monate gültig

- MSI Installpackage erstellen und Software initial auf allen Clients installieren
alle nachfolgenden Updates könnten rein theoretisch mit Patches auf den Client
gebracht werden
-> für MSI - Erstellung muss eine Software gekauft werden, die diese Funktionalität
bereitstellt

- immer das ganze Softwarepaket bereitstellen und an die Clients verteilen
-> braucht nicht zu diskutiert werden

- Software initial bereitstellen und Updates in einer WInzipdatei bereitstellen,
welche vom Client per FTP abgeholt und installiert wird
-> Änderungen von Stand x zu Stand y müssen in einem Delta festgehalten werden
-> wie stellt man hier sicher, ob Updates wirklich zur Verfügung (Versionsstand
Software) stehen und alle Clients sich dieses Paket geholt haben ?
-> wie stelle ich bei größeren Versionssprüngen sicher, dass der Client alle
Updates von Version x zu Version y erhalten hat und die Software noch lauffähig
ist ?

- ...

Wie würdet Ihr sowas bewältigen ?

Über einen regen Gedankenaustausch würde ich mich freuen,

So long
Gruß
Reiner
 
Ich habe bisher nur mit JNLP (Java-Web-Start) Erfahrung gemacht.
Die Signatur für die Bibliotheken braucht man nicht notwendigerweise von dem sogenannten Dritten zertifiziert bekommen. Das ist nur dafür da um unbekannten Interessenten für Deine Software Deine Vertrauenswürdigkeit zu demonstieren.
Wenn es sich also um Kunden handelt, die diesen Anspruch nicht haben/benötigen, dann kannst Du auch mit einem selbst erstellten Schlüssel Deine Bibliotheken signieren, sparst damit Geld und ich glaube dass diese selbst erstellten "Spielschlüssel" auch unbegrenzt halten können, so ich mich recht erinnere.
 
Sind alle deine Clients immer in einem Netzwerk? Wir legen unsere Software auf Netzlaufwerken ab und der Client startet diese von dort und hat so immer automatisch die aktuelle Version, ohne das was auf dem Client geupdated werden muss.

Wenn deine Clients nicht immer in einem Netzwerk sind, aber immer Internet, dann sollte eigentlich Java Webstart das sein, was du brauchst. Damit habe ich aber nur theoretische Erfahrung.

Was auch noch sehr gut läuft, ist es die feritge Software in einem Repository (z.B. Subversion) zu verwalten und vor jedem start z.B. ein "svn update" durchzuführen. Dann können sich die Clients auch selber updaten und alle Tools sind kostenlos. ;) Das läuft besser als man denkt. ;)

Ich hoffe ich konnte dir ein paar Anregungen geben.

Gruß
Flo
 
Zurück