文書管理システムのアーキテクチャですが、SOA を実現するインフラとしては、オープンソースで構成されたSOA基盤を採用しました。これはオープンソースの ESB (エンタープライズサービスバス) 実装である ServiceMix を中心にしたミドルウェアスタックです。
ユーザインタフェース (UI) は通常の Web アプリケーションとして、Tomcat+Struts で構成することにしました。
次に検討しなくてはならないのは、UI、ESB、サービスの配置です。負荷の集中を避けるために、UI を受け持つアプリケーションサーバとサービスを実装するサーバを分けることにしたのですが、ESB をどこに持っていくかで2通り考えられます。
UI側にESBを配置する a. では、UI 側がインテグレーションポイントに、またサービス側に配置する b. ではサービス側がインテグレーションポイントになります。SOA を用いてポータルを作るような場合には UI 中心に各所のサービスを統合するような形になるので a. のような形の方がよいかもしれませんが、今回は UI が中心というわけではなく、将来SOA化をさらに進め、業務ロジック (=サービス) の連携や統合をすることを考えて b. の構成をとります。