- - PR -
コンテナって?
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2006-10-27 00:14
技術的に「コンテナ」というと、先にメモリに「データ+処理」をキャッシュしておいて 高速に処理を行う技術をさすと思ってます。 あらかじめ「固定データ」はもちろん、処理内容(*.class)をハードディスクから、 メモリに読み込んでおいて かつ、サービス依存の処理(特定のファイルを読み込む等)を 行っておけば、「サービス」の「コンテナ」、たいていの場合サーブレット に関しては「サービス」をいち早く受け付けることが出来るわけです。 と私の場合は説明しますが。 いい感じですね。質問が来るというのは。今の人は質問すらしない。。。 | ||||
|
投稿日時: 2006-10-27 09:30
「キャッシュ」とか「高速に」とかは本質ではないように思うのですがどうでしょうか。 私の捉え方ですと、 「規定の形でプログラムを記述することで、面倒ごとをなにかやってくれる」 ぐらいの意味合いで考えています。 もちろん、「高速に」動けばそれに越したことはありませんし、 そのためにキャッシュなど行ったりするでしょうね。 しかし、こうなると「フレームワーク」と「コンテナ」の違いはなんだ? という話になると思うのですが、私なりの答えは 開発時のライブラリとしてみたものがフレームワーク、 実行時の環境としてみたものがコンテナ、 という分け方なのかなと。 このあたりはどうもはっきりした定義がなさそうなので、 異論のある方はがんがん突っ込んで欲しいところですね。 Java側の業界でよく用いられるのは ・DIコンテナ(231,000 件) ・EJBコンテナ(116,000 件) ・サーブレットコンテナ(39,100 件) ・IoCコンテナ(23,800 件) -> 今ではDIコンテナと呼ばれる といった類でしょうか。括弧内はgoogleでの件数です。 やはり今はDIコンテナがホットな話題なのでしょうかね。 なお、O/Rマッピングのフレームワークもコンテナと呼ばれることが それなりにあるようです。 | ||||
|
投稿日時: 2006-10-27 10:27
フレームワークは文字通りアプリケーションの「骨組み」です。 骨組みに肉付け(部品を足す)ことで、アプリケーションを完成させることができます。 O/Rマッピングフレームワークのように、アプリケーションの特定のレイヤのみの 「骨組み」である場合もありますが。 一方コンテナは、コンポーネントの動作環境を提供するものです。コンポーネントは 単独では実行できず、コンテナに放り込むことで動作することができます。ただし、 コンテナにコンポーネントを入れてもそれでアプリケーションができるわけではなく、 あくまで部品としてのコンポーネント(サーブレット、EJBなど)が動作できるように なるだけです。 | ||||
|
投稿日時: 2006-10-27 11:36
るぱんです。
個人的に・・・ですが、ドライバーとスタブと言う概念のドライバーに当たるものではないかと考えているのですが、自分自身でコレ!って説明できないのがつらいですね。 | ||||
|
投稿日時: 2006-10-28 01:22
一番簡単に表現すると、ファミコンかな
カートリッジ----コネクタでのIF----本体 サーブレット----サーブレットAPI---Tomcat等 MSXでも良いが、世代的に無理と思われる。 まぁ、本体の種類を考えるとゲームボーイの方が良いかなw | ||||
|
投稿日時: 2006-10-28 01:41
サーブレットは、サーバアプリケーション用のフレームワークでもあり、
そのフレームワークで作られたコンポーネントを実行するコンテナでもありますが、 Servlet API/JSPがフレームワークに該当し、 サーブレットのAPIを実装したクラスを HTTP経由で実行させるのが、コンテナになります。 一言でサーブレットといっても見方によって、 フレームワークにもなりますし、コンテナにもなるので、 少々混乱するかもしれませんね。 |