日経 BP の星さんが Blog をはじめた。早速 Linda DeMichiel とのインタビュー記事についての Entry があったが、実りがあったようでなによりだ。今回、Linda には取材の依頼が多く来ている。やはり Press の人たちは敏感だ。旬な話題と、誰がキーパーソンかよくわかっている。
ところで、最近、星さんをはじめ多くの方が DI について Entyr をされているので、私も一言。
DI のようにコンポーネント間の依存を減らし、Runtime まで変数を留保できる考えは、リーズナブルだし、開発者にとってもありがたい。ただ、その DI があたかも既存の EJB と相反するかのような文脈で語られると違和感を感じる。
そもそも、EJB の大きな特徴は、エンタープライズの世界に本格的なコンテナ/コンポーネントモデルを導入したことである。ビジネスロジックをコンポーネント単位にまとめ、エンタープライズシステム特有の処理は極力コンテナに任せてしまおうというものだ。
この時点で、コンポーネント間の依存関係は好ましくなく、あの Home インターフェースや、Remote インターフェースはまさに、そのコンポーネントの独立性、非依存性を確保するために導入された。今日的に言われている DI は、そのコンポーネント志向の延長上にある。EJB2 でいまだに残っていたコンポーネント間の依存関係をさらに減らすのが、DI の要点だと考えることもできる。
EJB に反する考えのように語られることの多い DI だが、それよりは、コンポーネント志向の途上であった EJB の考えをさらに純粋に突き詰めるアイデアと考えるほうが自然に思える。そして、そう考えれば、なぜ EJB3 で、いともあっさりと DI 的要素が取り込まれたか理解できる。
この考え方が私のオリジナルならばかっこいいのだが、残念ながらほとんど丸山先生の解釈をそのまま借用している。こういった逆転の発想的な見方をあっさりできるあたりはやはり先生の慧眼なのだろう。
Trackback URL: http://blogs.sun.com/chats/entry/ejb_and_di
Posted by yusuke on 3月月 10日, 2005年 at 07:47 午後 JST #
軽量コンテナを志向する動きのあることはむしろ好ましいことだと思っています。多くの選択肢があって悪いわけがない。むしろマーケットの需要を正確に測る上では選択肢が多いことは重要です。そして今、軽量コンテナへの志向が強いということはマーケットの需要が強いということです。EJB3 も、軽量コンテナを意識していると思える部分があります。
今後、EJBが軽量への傾倒をさらに強めるとすれば、それはまさしくyusukeさんの言われるコミュニティの成果だと捉えてよいかと思います。
つまり、EJB は、DI のみならず、軽量化についても別に矛盾しないのではないでしょうか。EJB および J2EE にとってのゴールは、高価格でも重量コンテナでもなく、エンタープライズ分野における最適な Java プラットフォームですので、軽量コンテナが better なのであれば、その方向に進化するでしょう。価格も、コンテナの重さもすでにその方向に進みつつあるように思えます。
コメントもらったのがうれしくて、大した意見ではないのについ長々と書いてしまいました。
Posted by chats on 3月月 11日, 2005年 at 12:53 午前 JST #
Posted by yusuke on 3月月 11日, 2005年 at 10:14 午前 JST #