Frage

Status Quo

Für unsere Kunden sind wir einige Bibliotheken und Anwendungen entwickeln, die als „Module“ in einer größeren Anwendung ausführen, die als interne Java Web Start Anwendung ausgeliefert wird. Der Kunde hält die Infrastruktur, dass diese Anwendung läuft. Der „Server-Seite“ wird von einigen Web-Services aus, basierend auf Axis2. Beiden Teile zu einer einzigen Tomcat-Instanz als zwei separate Web-Anwendungen eingesetzt werden.

Wenn wir neue Versionen unserer Artefakte veröffentlichen, produzieren wir nur die erforderlichen JAR-Dateien (zB ourapp-client.jar und ourapp-server.jar) und sie an unsere Kunden senden, die wiederum nur sie in die entsprechenden Stellen fällt und - wenn nötig -. startet den Tomcat-Server

Ziele

Wir sind derzeit Maven-llen alle unsere Projekte und in Zukunft unsere Releases in einem „Maven Weg“ wollen wir auch tun. Das Hauptziel ist es, den Release- und Deployment-Prozess auf unserer Seite zu automatisieren und es weniger fehleranfällig und zuverlässige und bequem auf der Client-Seite machen.

Hauptproblem

Der schwierige Teil ist, dass unsere Kunden die gleichen Tomcat Web-Anwendungen (Axis2 für die „Server-Seite“ und der Web Start app) verwendet, um ihre selbst entwickelten Module in die Anwendung aufzunehmen. Also haben wir die offensichtliche Lösung nicht verwenden können und nur einen neuen Web-App (IST) liefern, die einfach in den Server bereitgestellt werden. Deshalb sind wir derzeit einzige JAR-Dateien liefern, die „von Hand“ in die richtige Position gebracht werden.

Welche Strategien haben Sie in den allgemeinen Gebrauch für Ihre Produkte an den Kunden zu liefern? Hat jemand hatte keine Erfahrungen mit einer ähnlichen Situation (das heißt gemeinsamen Laufzeitumgebung für 3rd-Party und selbst entwickelte Anwendungen)?

War es hilfreich?

Lösung

  

Das Hauptziel ist es, den Release- und Deployment-Prozess auf unserer Seite zu automatisieren und es weniger fehleranfällig und zuverlässige und bequem auf der Client-Seite machen.

Nicht sicher, was Sie meinen genau von „Release- und Deployment-Prozess“ (im Maven lingua, ist dies über SCM Aufgaben Automatisierung und den Einsatz von Artefakten zu einem Remote-Repository). Wenn dies über Bereitstellung Produktionsmaschinen , ich persönlich glaube nicht, dass dies wirklich ein Job für Maven (und wir nicht Maven verwenden für diese). Vielleicht haben Sie einen Blick auf spezielle Lösungen wie Control , SmartFrog , Puppet , Chef , etc.

  

Welche Strategien haben Sie in den allgemeinen Gebrauch für Ihre Produkte an den Kunden zu liefern? Hat jemand hatte keine Erfahrungen mit einer ähnlichen Situation (das heißt gemeinsamen Laufzeitumgebung für 3rd-Party und selbst entwickelte Anwendungen)?

Wir liefern die Dinge, die wir kontrollieren können. Will ein Kunde seine eigenen Bits in einer bestimmten Anwendung schließen, würden wir die erforderlichen Subparts zur Verfügung stellen, aber die Verpackung würde wahrscheinlich seine Verantwortung.

Verwandte Fragen

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top