J2EEシステムデザイン

(ASIN:4797322888)を最近、空き時間に少しずつ読んでます。ちと古い本かなと思って、しばらく無視して積ん読してたんですが、なかなかいいですね。まだ3章までしか読んでないですが。以下、あーそうだなーと思ったところ。


可搬性に対するつっこみ

DBを変更できるようにする、アプリケーションサーバを変更できるようにする。そういった可搬性はあった方がいいし、そのように設計すべきだが、それは「必ずしも必要」ではない。要は要件を満たすことで、サーバ変更のリスクは、複雑な設計をして保守性を下げるコストより少ないかもしれないと。


分散することへのつっこみ

機能を分散するより、一つのサーバインスタンスで機能を満たして、その数を分散した方がシンプルである。そう、HTMLのhiddenやDBにステートを持たせとけば、APサーバはクラスタ、セッションレプリケーションは不要なんですと。
ずーっとJavaのWebアプリをやってると、HttpSessionを使うことが「当たり前」になって、そのほかのことに気づかなかった。「クライアントやバックエンドでステートを持たせる設計も場合によってはアリ」ということに改めて気づいた。