Multi-Application Configについて

struts-userメーリングリストより、multi-module applicationについての質問[nagoya.apache.org]があったので、メモです*1
Q. Strutsを使って、複数のアプリケーションを含んだ会社のイントラネットを作る。フィルターを使って認証して、ユーザを特定のアプリケーションにおくる。 この場合、シングルコンテキストでStrutsのmulti module機能を使って複数のアプリケーションを作るか、Tomcatをmulti contextsでconfigureして、一つのコンテキストに一つのStrutsアプリケーションをつくるか、どっちが良いでしょう?
この質問にCraigが答えたのが下の。
A. いくつか考慮する点があるわけで"絶対の答え"はないけど、どの方法がいいか決めるカギをリストしてみよう

  • ユーザは一度サインオンすれば全てのアプリケーションにアクセスできるのか、それともそれぞれのアプリケーションでログインが必要なのか? コンテイナー管理のセキュリティを使うのであれば、Tomcatを含むほとんどのコンテイナーに"シングル・サインオン"機能がついている。独自のセキュリティを使っているのであれば、そう簡単にいくかどうかはわからない。
  • 全てのアプリケーションでHttpSession stateを共有するのか? そうであれば一つのアプリケーションにまとめた方が良い。 複数のアプリケーションだと、ユーザはアプリケーションごとに別のセッションをもつことになる。
  • アプリケーションをアップグレードする時、全てのアプリケーションが一斉に停止しても良いのか、それともアップデートされるアプリケーションだけに影響する方が良いのか? 大抵の会社のイントラネットだと一定の休止時間があるから気にすることはないだろうが、24/7のオンラインショップなどだと問題になるだろう。
  • 全体のアプリケーションが巨大で多くのデベロッパがアプリケーション構築に取り組んでいて、一つのconfiguration(webapp, struts)ファイルだと管理が大変か? 小さめのStrutsアプリケーションにわけるとやりやすくなるが、Struts modulesを使って同じようにすることもできる。

で、最後に、"考えてみたら多分、それぞれのアプリケーションを独立したモジュールとしてつくるのがいいんじゃない?"ってな感じで終わってます。
そ、何でもかんでも機能があるからって使えば良いってわけじゃないですね。 臨機応変に対応していくことが肝心、と。

*1:訳はizuによるものなので、日本語がおかしくても、原文の直訳じゃなくても文句を言わないこと。だいたいの意味は同じやから…。