2013-08-09 13 views

Antwort

4

A .war ist ein Web-Archiv, das Sie auf jedem Java EE-Anwendungsserver bereitstellen können.

Ein .aar-Objekt ist ein spezifisches axis2-Artefakt, das Sie auf einem Anwendungsserver bereitstellen können, auf dem bereits Axis2-Standard-Webanwendung implementiert ist.

Sie können eine Axis2-Anwendung, einschließlich mehrerer Dienste, weiterhin in einer Standard-Webanwendung im eingebetteten Modus bereitstellen, wie hier beschrieben: http://wso2.com/library/90. Beim Konvertieren vom .aar-Modus in den eingebetteten Modus werden alle Dateien extrahiert und sorgfältig für den eingebetteten Modus an die richtige Stelle gesetzt.

Pro für die .aar ist die heiße Bereitstellung als @ renat-gilmanov beantwortet.

Pro für die .war (embedded) ist

  1. einfacher zu implementieren und in einer Produktionsumgebung verwalten: nur entfalten eine .war auf jedem Anwendungsserver statt eines komplexen Bereitstellungsverfahren folgen zu müssen.
  2. können Sie weitere Servlets in dasselbe WAR wie z. die Client-Anwendung.
3

Achse Archiv (.aar)

Achse 2 Dienste werden als Achse Archive verpackt (.aar). Dies ist eine JAR Datei (erstellt mit Hilfe von jar oder zip Dienstprogrammen) mit der Datei services.xml , verpackt in META-INF Verzeichnis des Archivs.

Example, The StockQuoteService, wenn sie als StockQuoteService.aar verpackt werden die folgenden Strukturen aufweisen:

./stock/StockQuoteService.class 
./META-INF/services.xml 

Bereitstellung des Dienstes in Axis2 ist recht einfach; Kopieren Sie einfach die Datei .aar in das Verzeichnis axis2/WEB-INF/services in der Anwendung axis2 Web in Ihrem Servlet-Container. Im Fall von Tomcat ist es $ TOMCAT_HOME/webapps/axis2/WEB-INF/Dienste.

Rationale

Service ist ein ganz kleines Stück Software. Bitte denken Sie an dem folgenden:

  • Service-Lebenszyklus, da Sie/redeploy/undeploy einen Dienst bereitstellen müssen oder Dienstleistungen, die Sie
  • Container-Overhead zu jeder einzelnen bereitgestellten Anwendung
  • Aufwand verursacht werden entwickeln durch Axis2 mehrere Instanzen implementiert parallel
  • lose gekoppelte Architektur
  • ...

Ba Konkret schlägt Axis2 vor, * .aar als eine leichte Anwendung zu behandeln. Es teilt sich die gleiche Axis2-Instanz, kann einfach verwaltet und erneut eingesetzt werden, ohne das gesamte Unternehmen zu stoppen.

Stellen wir uns vor, Sie entwickeln ein komplexes System. Als ein guter Entwickler und Architekt haben Sie sich dazu entschlossen, ein lose gekoppeltes System zu erstellen, das Dienste als kleinste Funktionalität verwendet. Die Dekomposition ist gut verlaufen, Sie haben ~ 100 Dienste. Das ist, nebenbei gesagt, gut, weil Sie in der Lage sein wird:

  • die Entwicklung vereinfachen Tests
  • entwickeln einige Dienste parallel
  • vereinfachen
  • ...

Die Frage ist, werden Sie lieber alle diese Dienste als separate Anwendungen (Kriege) entwickeln? Ich hoffe, du wirst es nicht tun. Es wird viel einfacher und effizienter sein, einen so leichten Ansatz wie Axis Archives zu verwenden.

Bitte beachten Sie, dass Axis Ihnen ermöglicht, den Lebenszyklus so zu verwalten, wie es Tomcat für die Anwendung tut.

enter image description here

Verfügbarkeit ist ein großes Anliegen, wenn es um Unternehmensebene kommt Anwendungen. Selbst eine kurze Ausfallzeit kann sehr hoch sein schädlich, so dass ein Neustart eines Servers keine gute Option ist. Sie müssen Ihr System aktualisieren, ohne es herunterzufahren. Dies ist, wo heiße Bereitstellung und heiße Aktualisierung kommen.

Hot Deployment ist die Fähigkeit, neue Dienste bereitstellen, während das System in Betrieb ist. Nehmen wir als Beispiel an, dass Sie zwei Dienste - service1 und service2 - in Betrieb haben und einen neuen Dienst namens service3 bereitstellen, ohne das System herunterzufahren. Das Bereitstellen von service3 ist ein Bereitstellungsszenario.

Hot Update ist die Möglichkeit, Änderungen an einem vorhandenen Webdienst vorzunehmen, ohne das System herunterzufahren. Dies ist ein wichtiges Merkmal und wird in einer Testumgebung benötigt.

The Axis2 Deployment model, Part 1: Six ways the Axis2 deployment model is more user friendly