1

今回は一種の理論的な質問があります。今日、かなり大きな会社で働いている SW 開発者の 1 人が、アプリケーションの展開に war ファイルを使用していないことを教えてくれました。彼らの SW アーキテクトは、war ファイルは悪であると信じています。なぜなら、war ファイルを使用していないクラスの展開は、運用グループの従業員がサーバーで遊んでいることが原因で発生する可能性がある損害に関して十分に安全ではないからです。私が理解している限り、彼らの解決策は、アプリケーションを jar にパックし、それを空の webapp スタイル ツリーの WEB-INF/lib フォルダーに追加することです。また、server.xml を編集してアプリのコンテキスト /docbase を追加し、使用するパスで有効にするためにも使用されます。私はこの説明に本当に戸惑いました。このようなものは今まで見たことがありません。個人的には、「運用担当者の問題」全体がパラノイアのように聞こえると思いますが、それでも、そのようなソリューションの長所と短所を判断するのは難しいです。どう思いますか?奇妙または素晴らしい?

ありがとう。

4

1 に答える 1

1

実際には、WAR を拡張して多くのファイルを維持する代わりに、これは直接制御できず、他のアプリケーションと共有される可能性がある環境ではマイナス面になる可能性があります。このような場合、アプリケーションのファイル システムのフットプリントを小さくし、単一の JAR (さらにアプリケーション サーバー内の構成エントリをいくつか加えたもの) を使用すると、はるかにうまく機能する可能性があります。

拡張された WAR は、「操作担当者」が誤ってファイルに対して行う可能性のあるさまざまなファイル システム アクションの影響を受けやすくなります。たとえば、特定の名前のファイルを再帰的に検索して削除するunix のワンライナー (findとの組み合わせ) を考えてみてください。rmBoom - クラス ファイルの一部が突然失われ、本番環境で謎を解かなければなりません。特に共有環境では、そのようなことが起こる可能性があります。

だから私はそのようなデザインを理解しています - 彼らの場合にはそれが最善かもしれません. 華麗ではないかもしれませんが、決して奇妙ではありません。

于 2012-09-06T14:17:06.180 に答える