特集
2004/01/30 18:55:00 更新
特集:第1回 EJBの仕組みを知ろう (1/6)
Javaによるアプリケーションサーバ構築の際、JSP/サーブレットに対し、より高機能分散化させる手段として「EJB」と呼ばれる仕組みがある。この特集では、このEJBによるアプリケーション構築をすべく基礎から解説していく。
「EJB」(Enterprise JavaBeans)とは、プログラムをコンポーネント化し、効率良く大規模なアプリケーションを構築するためのアーキテクチャのことだ。この特集「JBossで学ぶEJB入門」では、全3回でEJBのオープンソース実装であるアプリケーションサーバソフト「JBoss」を取り上げ、EJBを利用した具体的なアプリケーション構築方法を解説する。
EJBとは何なのか
まず最初に、「EJBとは何なのか?」という基礎的なところから解説していこう。
EJBとは、それほどかみ砕かず簡単に言えば「J2EEで定義されたエンタープライズ向けの機能を備えたBean管理のための仕組み」のことだ。J2EEでは、Fig.1のようにWebアプリケーション構築することを想定している。
Fig.1の詳細を見てほしい。J2EEのWebアプリケーションのアーキテクチャでは、全体が「プレゼンテーション層」、「ビジネスロジック層」、「データストア層」の3つに分かれる。このように3つの階層に分かれるアーキテクチャのことを「3階層モデル」と呼ぶ。この3階層モデルにおける、それぞれの意味は次の通りだ。
- プレゼンテーション層
ユーザーとの入出力を担当するユーザーインタフェース部のこと。Webアプリケーションの場合には、HTMLフォームを構成するJSPやサーブレットである。
- ビジネスロジック層
アプリケーション独自で処理を実行する部分のこと。たとえば、プレゼンテーション層(HTMLフォーム)から受け取ったデータを何らかの処理でデータベースに書き込む場合や、データベースから読み込んでプレゼンテーション層に引き渡すといった処理をする。J2EEでは、この部分をEJBが担う。
- データストア層
データを保存する部分を指す。多くの場合データベースだが、場合によってはファイル宛てということもあり得る。
|
|
この特集での話の中心となるのは、ほかでもなくビジネスロジック層となるEJBの部分だ。EJBを利用して開発する場合、開発者はあらかじめ構築したEnterprise BeanをEJBコンテナに登録しておく。すると、EJBコンテナに登録したEnterprise BeanをJSPやサーブレットから呼び出して利用できるようになるのだ。詳細は後述するが、「Enterprise BeanとはEJBの規約に則った特別なBean」だと覚えておいてほしい。
たとえば、データベースへデータを保存する掲示板のWebアプリケーションを構築する場合、掲示板のデータを保存するためのメソッドや掲示板のデータを読み取るためのメソッドを実装したEnterprise Beanを作り、それをEJBコンテナに登録し、JSPやサーブレットから呼び出して利用する形態となる(Fig.2)。
[大澤文孝,ITmedia]
Copyright © ITmedia, Inc. All Rights Reserved.