Avantages / inconvénients des guerres éclatées

Une réponse à une question que j’ai lue aujourd’hui suggère de déployer une application en tant que WAR éclaté. Ça m’a fait réfléchir.

Chaque déploiement que j’ai effectué sur un JBoss / Tomcat a été réalisé avec un fichier WAR / EAR. Au moins autant que je m’en souvienne.

Ai-je fait une erreur toutes ces années?

Y a-t-il des avantages à déployer une application dans sa forme étendue plutôt que de la mettre en forme?

Je pense que c’était ma réponse en mentionnant la guerre explosée dans l’autre question. Les fichiers WAR explosés sont plus faciles à naviguer et vous pouvez déployer des «parties» de votre application beaucoup plus rapidement (en fonction de la façon dont notre serveur Web / App gère cela), par exemple, remplacer une seule ressource comme une page JSP. Cependant, il peut présenter certains inconvénients:

1.) Quelle version utilisez-vous vraiment? “Hmmm, je ne suis pas vraiment sûr maintenant”

2.) Sécurité – Avez-vous la bonne autorisation pour le format éclaté?

3.) Désordre – Des fichiers à foison répartis sur votre belle application / serveur Web (certaines personnes détestent vraiment cela).

J’ai tendance à exploser pour les travaux de développement de prototypes, puis à passer à un emballage approprié au plus près de PRD.

Le seul avantage réel que vous tirez du déploiement d’une oreille / guerre éclatée est la possibilité de remplacer à chaud des fichiers sur le serveur, ainsi que le temps gagné sur l’emballage (dont IMHO est négligeable).

Fondamentalement, cette fonctionnalité est utile pour les phases de développement. Je ne choisirais pas cette méthode de déploiement pour un environnement de production.

Il existe également des serveurs d’applications Web qui nécessitent des guerres explosives pour certaines fonctionnalités ésotériques, mais ce n’est rien que j’ai rencontré lors de l’utilisation normale.

Au stade du développement, il est plus confortable de le déployer, a explosé. De cette façon, vous pouvez mettre à jour à chaud certaines ressources déployées (comme cela peut être le cas avec les pages JSP).

Pour les environnements de test et de production, je préfère plutôt le déploiement intégré: plus facile et plus facile à gérer pour les déploieurs.

Ne pas exploser un fichier WAR / EAR lors du déploiement ne fait aucune différence pour le serveur d’applications. C’est parce qu’en dessous, ils ont tous explosé.

Par exemple, si vous placez un fichier WAR sous Webapp de tomcat, vous verrez que sous votre répertoire de travail, votre fichier WAR sera éclaté.

Fondamentalement, WAR / EAR ne fait qu’archiver vos fichiers pour faciliter leur déplacement et leur déploiement.

Con: si vous êtes sur Windows, vous constaterez souvent que le système d’exploitation verrouille de manière aléatoire un fichier dans le fichier .war, et il vous sera difficile de supprimer l’intégralité de la guerre et de le redéployer.

AFAIK, le déploiement à chaud est possible uniquement avec les guerres éclatées. Et aussi pendant le développement, il est plus facile de parcourir l’arborescence du projet sur le serveur. Bien sûr, il peut y avoir d’autres avantages et inconvénients que je serai heureux d’entendre.