付録A.1 サンプルプログラムの概要

ここでは,Developerが提供するサンプルプログラムの概要を説明します。

<この項の構成>
(1) サンプルプログラムの内容
(2) サンプルプログラムの前提環境
(3) サンプルプログラムのプロジェクトの構成
(4) サンプルプログラムの提供形態と格納先
(5) サンプルプログラムのディレクトリ構成

(1) サンプルプログラムの内容

Developerが提供しているサンプルプログラム(Bank)は,Webブラウザから入力されたユーザIDを持つユーザの資金を当座預金口座から普通預金口座へ移動させるプログラムです。資金はデータベースで管理され,資金移動時に当座預金口座テーブルと普通預金口座テーブルが更新されます。

このサンプルプログラムの構成を次に示します。

図A-1 サンプルプログラム(Bank)の概要

[図データ]

このサンプルプログラムでは,アノテーションを使用してデータベースに接続する方法を示します。

アノテーション対応EJBで@Resourceアノテーションを使用して,リソースを取得します。

@Resource(mappedName="DB_Connector_for_Cosminexus_Driver")
private DataSource ds;

サーブレット側からビジネスインタフェースを使用したStateful Session Beanをlookupするには,JNDIを使用します。

Context ic = new InitialContext();
Object objref = ic.lookup("java:comp/env/ejb/Bank");
BankHome home = (BankHome)PortableRemoteObject.narrow(objref, BankHome.class);

指定したユーザID,金額に対して処理を実行します。「Bank」で指定できるユーザIDは「001」,初期残高は「10000円」です。

(2) サンプルプログラムの前提環境

付録Aでは,次の環境を前提として,サンプルプログラムの使用手順を説明します。

(3) サンプルプログラムのプロジェクトの構成

サンプルプログラムでは,次のプロジェクトを提供しています。

表A-1 サンプルプログラムが提供するプロジェクト

プロジェクト名概要
Bankエンタープライズアプリケーションプロジェクトです。
Bank_EJBEJBプロジェクトです。Bankのモジュールプロジェクトに指定します。
Bank_WebWebプロジェクトです。Bankのモジュールプロジェクトに指定します。

サンプルプログラムが提供するプロジェクトの構成は,次のとおりです。

[図データ]

(4) サンプルプログラムの提供形態と格納先

Developerは,サンプルプログラムをzipフォーマットのアーカイブファイル「Bank.zip」として提供しています。Bank.zipは,次のディレクトリに格納されます。

<Cosminexusのインストールディレクトリ>¥ADP¥MyEclipse¥Samples

(5) サンプルプログラムのディレクトリ構成

Bank.zipを任意の場所に解凍すると,次のディレクトリ構成になります。

表A-2 サンプルプログラムのディレクトリ構成

ディレクトリー/ファイル説明
Bank¥エンタープライズアプリケーションプロジェクトのルート
┣META-INF¥管理情報を格納するディレクトリ
┃┣application.xml
┃┃
DDファイル
(J2EEアプリケーション(EAR)の配備記述子)
┃┗MANIFEST.MFマニフェストファイル
┣.mymetadata
MyEclipseプロジェクトファイル
(MyEclipseのプロジェクトの情報を保存)
┗.projectプロジェクト記述ファイル
(Eclipseのプロジェクトの情報を保存)
Bank_EJB¥EJBプロジェクトのルート
┣src¥ソースファイル格納用のディレクトリ
┃┣connectdb¥パッケージ・フォルダ
┃┃┣Bank.java
┃┃┃
Javaソースファイル
(EJBプロジェクト用のソースコード)
┃┃┣BankEJB.java
┃┃┃
Javaソースファイル
(EJBプロジェクト用のソースコード)
┃┃┣BankHome.java
┃┃┃
Javaソースファイル
(EJBプロジェクト用のソースコード)
┃┃┗InsufficientBalanceException.java
┃┃
Javaソースファイル
(EJBプロジェクト用のソースコード)
┃┗META-INF管理情報を格納するディレクトリ
┃ ┣ejb-jar.xmlDDファイル(EJBの配備記述子)
┃ ┗MANIFEST.MFマニフェストファイル
┣.classpath
クラスパスファイル
(プロジェクトのクラスパスを保存)
┣.mymetadata
MyEclipseプロジェクトファイル
(MyEclipseのプロジェクトの情報を保存)
┗.projectプロジェクト記述ファイル
(Eclipseのプロジェクトの情報を保存)
Bank_Web¥Webプロジェクトのルート
┣src¥ソースファイル格納用のディレクトリ
┃┗connectdb¥パッケージ・フォルダ
┃ ┣BankBean.javaJavaソースファイル
┃ ┗BankServlet.javaJavaソースファイル
┣WebRoot¥Webルートフォルダ
┃┣WEB-INF¥
┃┃┃
Webクライアントから直接アクセスできないファイルを格納するディレクトリ
┃┃┗web.xml
┃┃
DDファイル
(Webアプリケーションの配備記述子)
┃┣META-INF管理情報を格納するディレクトリ
┃┃┗MANIFEST.MFマニフェストファイル
┃┣bank.jspJSPファイル(IDと数値を入力する画面)
┃┗forward.jspJSPファイル(IDと数値をServletに送信)
┣.classpath
クラスパスファイル
(プロジェクトのクラスパスを保存)
┣.mymetadata
MyEclipseプロジェクトファイル
(MyEclipseのプロジェクトの情報を保存)
┗.projectプロジェクト記述ファイル
(Eclipseのプロジェクトの情報を保存)