2010-10-11 20 views
45

Eine Antwort auf eine Frage, die ich heute gelesen habe, schlug vor, eine Anwendung als explodierte WAR zu implementieren. Es hat mich zum Nachdenken gebracht.Vorteile/Nachteile von explodierten Kriegen

Jede Bereitstellung, die ich jemals an einem JBoss/Tomcat gemacht habe, war mit einer WAR/EAR-Datei. Zumindest soweit ich mich erinnern kann.

Habe ich all die Jahre einen Fehler gemacht?

Gibt es Vorteile bei der Bereitstellung einer App in ihrer erweiterten Form statt im Paket?

Antwort

49

Ich denke das war meine Antwort Erwähnung der explodierten WAR in der anderen Frage. Explodierte WARs sind einfacher zu navigieren und Sie können "Teile" Ihrer Anwendung viel schneller bereitstellen (je nachdem, wie unser Web-/Anwendungsserver damit umgeht), z. Ersetzen Sie eine einzelne Ressource wie eine JSP-Seite. Es kann jedoch einige Nachteile haben:

1.) Welche Version laufen Sie wirklich? "Hmmm, ich bin mir jetzt nicht wirklich sicher"

2.) Sicherheit - Haben Sie die richtigen Berechtigungen für das explodierte Format?

3.) Messiness - Dateien in Hülle und Fülle verteilt über Ihre ganze App/Web-Server (einige Leute hassen dies wirklich).

Ich neige dazu, für Prototyp-Dev-Arbeit explodieren zu gehen und dann zur richtigen Verpackung zu gehen, je näher ich PRD komme.

+0

Es war sehr wahrscheinlich, es war sicherlich in Bezug auf hotdepployment ... Permgen Probleme vielleicht. Ich habe keine Probleme, Dateien zu finden und zu ersetzen, wenn sie vom Server explodiert sind, aber ich bin schon oft in Szenario 1 gelandet :) –

+2

Können Sie erklären, warum Sie explodierte WARs für die Entwicklung und verpackte WARs für die Produktion bevorzugen? Ich bin nur neugierig, weil eine andere Antwort das Gegenteil empfiehlt. –

+3

Für die Sicherheit/Zuverlässigkeit, weiß ich, dass mit einem verpackten und signierten WAR, dass die App nicht verändert/manipuliert wurde. –

2

AFAIK, Hot-Deployment ist nur mit explodierten Kriegen möglich. Und auch während der Entwicklung ist es einfacher, den Projektbaum auf dem Server zu durchsuchen. Natürlich kann es andere Vor- und Nachteile geben, die ich gerne höre.

7

In der Entwicklungsphase ist es komfortabler, es explodiert zu entfalten. Auf diese Weise können Sie einige bereitgestellte Ressourcen aktualisieren (wie dies bei JSP-Seiten der Fall sein kann).

Für Test- und Produktionsumgebungen bevorzuge ich stattdessen die Paketbereitstellung: leichter und einfacher zu handhaben für die Deployer.

12

Der einzige wirkliche Vorteil, den Sie durch die Bereitstellung eines explodierten Ear/War erhalten, ist die Möglichkeit, Hot-Swap-Dateien auf dem Server sowie die auf der Verpackung gespeicherte Zeit (die IMHO ist vernachlässigbar).

Grundsätzlich - das ist eine nützliche Funktion für die Entwicklungsphasen. Ich würde diese Bereitstellungsmethode nicht für eine Produktionsumgebung auswählen.

Es gibt auch einige Webanwendungsserver, die explodierte Kriege für einige esoterische Funktionen erfordern, aber das ist nichts, das ich in der normalen Verwendung angetroffen habe.

+0

Funktioniert Hot-Swap-Arbeit für Listener und Servlets oder nur Jsp-Dateien? –

+0

@KorayTugay das hängt wirklich von Ihren Fähigkeiten svers –

4

Das Explodieren eines WAR/EAR beim Deployen hat für den Application Server keinen Unterschied. Dies liegt daran, dass sie alle explodiert sind.

Wenn Sie beispielsweise eine WAR-Datei unter webapp von tomcat platzieren, werden Sie sehen, dass Ihre WAR-Datei in Ihrem Arbeitsverzeichnis dort explodiert.

Grundsätzlich WAR/EAR sind die Archivierung nur Ihre Dateien, so dass es leichter sein wird, sich zu bewegen und

+0

Das ist ziemlich genau das, was ich Mezzie dachte. Immer offen für die Möglichkeit, dass ich mich geirrt habe. –

3

Con bereitstellen: Wenn Sie unter Windows sind, werden Sie oft feststellen, dass die OS zufällig eine Datei in den Schleusen explodierte .war, und es wird dir schwer fallen, den gesamten Krieg zu löschen und neu zu verteilen.

Verwandte Themen