Java2 Enterprise Editionの基礎知識

J2EEの3つの“C”とは何ですか?

テンアートニ 中越智哉
2000/12/7

 アプリケーションモデルや、Blueprintによるサンプルを理解する上で欠かせない、J2EEを特徴づけるキャッチコピーとして「3つの"C"」というものがあります。これは、

  • Component(コンポーネント)
  • Container(コンテナ)
  • Connector(コネクタ)

の3つを指しており、J2EEを構成する要素のことを意味しています。では、それぞれについて説明していきましょう。

■Component(コンポーネント)
 コンポーネントは、アプリケーションを構成している「部品」のことであり、J2EEにおいては、ServletやJSP、EJBなどがこれにあたります。これらはもちろんJavaのクラス(JSPも最終的にはそうです)なのですが、Java VM単独で動作させることはできません。

■Container(コンテナ)
 コンテナは、文字どおり「部品」を入れておく「入れ物」のことです。コンポーネントは、必ずこの「コンテナ」の中で動作します。J2EEが、Java VM単独では動作しないのは、コンテナにあたるソフトを動作させなければならないからです(もちろん、コンテナ自体もJavaで書かれていれば、Java VM上で動くことになります)。

 もちろん、「入れ物」とはいっても単にコンポーネントを格納しておくだけではありません。この「入れ物」には、コンポーネントの動作に必要なシステム・レベルのサービスが実装されています。

 これによりコンポーネントの開発者はシステム・レベルのサービスを実装する必要がなくなる上、これらの実装をコンポーネントから切り離せることによって、コンポーネント自体のポータビリティが高まります。つまり、「部品」としての価値が高まるわけです。

■Connector(コネクタ)
 コネクタは、既存のシステムやデータベースなど、いわゆるバックエンド層(J2EEでは、これをEIS層と呼ぶ)との接続を実現するものです。これまで、Javaではこういった接続方法についての規定がなかったため、開発者は各ベンダが独自に作成したミドルウェアを使用する以外にありませんでした。J2EEでは、そのようなベンダ依存性を解消するため、EIS層との接続についても規定しています。

 ただし、現在のJ2EE 1.2 にはまだコネクタ関連のAPIは含まれていません。次期バージョン(J2EE1.3)では、これらも含められる予定です。

 これら3つの"C"を掲げることによって、J2EEはエンタープライズアプリケーションにおいても"Write Once, Run Anywhere"を実現しようとしているのです。

「Java Solution FAQ」




Java Agile フォーラム 新着記事
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

注目のテーマ

Java Agile 記事ランキング

本日 月間