進化するJ2EE その真髄とは

<進化するJ2EE その真髄とは>3.J2EEの誕生

2003/04/21 16:18

週刊BCN 2003年04月21日vol.987掲載

 J2EEという仕様は、なぜ生まれたのだろうか。J2EE仕様が生まれた歴史を振り返り、分析し直してみよう。(日本アイ・ビー・エム ソフトウェア事業部 WebSphere営業企画推進 テクノロジー・エバンジェリスト 米持 幸寿)

 Javaがサーバー・サイドで使われ始めたのは1996年から97年頃で、最初に登場した仕様はJavaサーブレットである。そもそもJServeというJavaベースのHTTPサーバーに搭載されたウェブアプリケーション開発機能であったが、のちに分離した仕様として定義し直された。前回触れたように、Javaはサーバー上で使うのに適していると気づいた(私を含む)エンジニアは、この技術に飛びついた。非常にたくさんのウェブアプリケーションが、サーブレット技術を使って作られた。

 Javaサーブレットは、企業アプリケーションを作るために多く使われたため、比較的規模が大きい。そのため、チーム開発を行い、エンジニアのスキルごとに分業する必要が生じたが、サーブレットのみではそれができないことが発覚した。なぜなら、処理ロジックとプレゼンテーション(画面のデザインと、ユーザーとの会話ロジック)を1つのJavaソースコードに書かなければならないからだ。

 そのため、Javaサーブレットからプレゼンテーションを分離するための技術としてJSP(Java Server Pages)が登場した。JSPの登場により、Javaサーブレット技術を使ったウェブアプリケーションをMVCモデル(ロジック、表示部、制御部を分離して開発する)で開発することができる。大規模開発における分業や、効率良いメンテナンス(定期的な修正など)を可能にする重要な設計理論だ。

 さらに、企業アプリケーションを開発するためには「分散トランザクション制御」、「データベースとの連携」、「大規模システムに対応するスケーラビリティ」、「プログラムの再利用」などの要件が検討され、それらを実現するためにEJB(Enterpri se Java Beans)仕様が発表された。

 サーバー側の技術としてJavaサーブレット、JSP、EJBという3つの技術が揃ったわけだが、困ったことが起きた。ベンダーによってテクノロジーの組み合わせや仕様のバージョンが違う。どこでも動く(Write Once, Run Anywhere)はずが、「このアプリケーションはA社のミドルウェアのバージョンXXでのみ稼働します」ということが起きてしまった。これは、Javaコミュニティにとって幸せなことではないのは言うまでもない。

 J2EEは、このような背景により「ベンダーがミドルウェアに搭載すべきテクノロジーとバージョンの組み合わせ」の決まりを作ったものだ。この決まりを守ることで、アプリケーション・ベンダーが提供するソフトウェアが「J2EE 1.2が前提」と言えるようになり、多くのミドルウェアを一度に稼働対象にできる。

 こうして、J2EEは基幹業務を支えるウェブアプリケーションの開発プラットフォームとして、最適の環境をベンダーとユーザーの両方に提供できるようになったのである。
  • 1