• 検索結果がありません。

J2EE 開発モデルによるアプリケーション開発

ドキュメント内 チュートリアルガイド (ページ 63-67)

OSやWebアプリケーションサーバに依 存 しない共 有 プラットフォームとして、J2EEによるWebシステム開 発 が普 及 してきました。しかし、J2EEによる開 発 はJavaをベースにしているため、オブジェクト指 向 など の高 度 な知 識 と経 験 が要 求 される点 や、J2EEでの前 提 知 識 が必 要 になる点 など、敷 居 の高 さが問 題 になってきています。さらに、J2EE開 発 の規 約 にさえ準 拠 させれば、あとはいかようにでも組 める自 由 さが、初 心 者 にとってはかえって負 担 となり、SEによってバラバラな開 発 スタイルとなってしまう原 因 とも なります。

intra-mart WebPlatform や intra-mart AppFramework で は 、 こ れ ら の 問 題 を J2EE フ レ ー ム ワ ー ク

(im-J2EE Framework)の利 用 により解 決 し、J2EE開 発 モデルの生 産 性 を大 幅 に向 上 させています。

4.2.1 J2EE 開 発のフレームワーク

J2EEでのWebシステム開 発 には、構 造 的 に共 通 な部 分 が多 く、その事 実 を利 用 すると、開 発 生 産 性 をさらに大 きく向 上 させることができます。intra-mart WebPlatformやintra-mart AppFrameworkでは、

J2EE開 発 で必 要 になる共 通 的 な処 理 は、すべてJ2EEフレームワークとして用 意 し、開 発 者 に委 ねられ る箇 所 はコンポーネントを作 成 してもらう形 態 となっています。

<intra-martフレームワークの利 用 概 念 >

前 図 のフレームワーク部 分 にあるように、大 きくは「Java業 務 コンポーネント群 (im-BizAPI)」と「J2EEフ レームワーク(im-J2EE Framework)」に分 かれています。Javaコンポーネントモジュール群 (ワークフロ ー ・ モ ジ ュ ー ル や ア ク セ ス セ キ ュ リ テ ィ ・ モ ジ ュ ー ル な ど ) は す べ て 「 Java 業 務 コ ン ポ ー ネ ン ト 群

(im-BizAPI)」に配 置 されます。そしてJ2EE開 発 で必 要 になる共 通 的 な処 理 はすべて「J2EEフレームワ ーク(im-J2EE Framework)」に配 置 されます。

特 に、このフレームワークを利 用 するコンポーネントについては、雛 型 となる「スケルトン」が用 意 されてお り、さらに生 産 性 を高 めることが可 能 となります(共 通 部 分 はあらかじめ実 装 されているので、開 発 者 は 独 自 のコンポーネントを作 成 する場 合 、スケルトンをコピーし、実 装 されていない箇 所 を埋 めてコンポー ネントを作 成 することになります)。作 成 されたコンポーネントはプロパティ設 定 によりフレームワークにあ てはめていくことで動 作 します。

フレームワークもJ2EEで定 義 されている4層 (Client層 、Web層 、EJB層 、EIS層 )を使 用 する共 通 的 な機 構 となります(SunのBluePrintに準 拠 )が、開 発 者 はそのことを一 切 意 識 する必 要 はありません(システ ム規 模 に合 わせてあとから構 成 変 更 することも、設 定 ファイルの変 更 のみで可 能 です)。

intra-martのフレームワーク機 能 は、以 下 のフレームワークから構 成 されています。

① サービスフレームワーク Client層 のブラウザからの要 求 受 付 の画 面 遷 移 (Web層 )

(下 記 注 を参 照 してください)

② イベントフレームワーク 主 にデータアクセスなどの処 理 の実 行 (EJB層 )

③ データフレームワーク データストア(EIS層 )へのアクセス

④ DI コンテナ コンポーネント依 存 性 排 除 とAOPの実 現 (Seasar2を組 み込 み)

これらのフレームワークが、プロパティに設 定 された内 容 に従 い、該 当 するコンポーネントを呼 び出 します。

これにより、Webシステムに最 適 なJ2EEのMVCモデルで処 理 が実 行 されることになります。

これらのフレームワーク機 能 を適 用 することで、開 発 するシステムを、コンポーネント群 とプロパティファイ ルの設 定 をベースとした構 造 に分 けることができます。その結 果 、システムは柔 軟 にカスタマイズや機 能 追 加 できるようになります。

DI コンテナとは

DI コンテナは,コンポーネント間 の依 存 性 を内 部 から排 除 し、DIコンテナ側 で依 存 関 係 を構 成 します。

作 成 したコンポーネント群 に対 して「後 付 け」で機 能 や処 理 を挿 入 できるアスペクト指 向 プログラミン グ(AOP)が可 能 です。

4.2.2 J2EE 開 発モデルにおいてフレームワークを活用した際のメリット

J2EE開 発 時 にJ2EEフレームワークを利 用 することで以 下 のメリットがでてきます。

J2EEベースの開 発 基 盤 高 度 な知 識 が必 要 となる部 分 は隠 蔽 し、開 発 者 はアプリケーションロ ジックをスケルトンの中 に埋 め込 む。前 提 知 識 がなくても完 成 したシス テムはJ2EEモデルの推 奨 型 となり、MVCモデルの実 現 が容 易 (プログ ラム構 造 が統 一 できメンテナンス性 向 上 )。

生 産 性 の向 上 共 通 的 なものはすべてフレームワーク中 に用 意 されているので、コンポ ーネントの再 利 用 性 が高 まりチーム全 体 の生 産 性 が向 上 (コンポーネ ントのチーム共 有 と並 行 分 散 開 発 による期 間 短 縮 )。

保 守 性 の向 上 コンポーネントの新 規 追 加 時 にも元 のアプリケーションにはまったく変 更 が入 らない仕 組 み。また機 能 変 更 時 も該 当 コンポーネントのみの修 正 とし、他 の箇 所 への影 響 がない機 構 となる。

テスト工 程 期 間 の短 縮 と品 質 向 上

テス ト 工 程 で フレ ーム ワ ーク 部 分 の確 認 が 不 要 、ま た問 題 発 生 時 の 切 り分 けが容 易 。またDIコンテナにより、テスト用 のモック (模 型 , 仮 実 装 ) と正 式 コンポーネントの入 れ替 えが簡 単 になるため,楽 にモックを 使 えるようになる。

5 intra-mart のシステムアーキテクチャー

intra-mart WebPlatformあるいはintra-mart AppFrameworkのシステムアーキテクチャは以 下 のよう になります。

ドキュメント内 チュートリアルガイド (ページ 63-67)