目指せ! Webアプリケーションエンジニア

第8回 EJBを作るための手順

この記事を読むのに必要な時間:およそ 2 分

前回の連載では,サーブレットの具体的作成方法について学びました。今回は,業務ロジックすなわちEJBを作る方法について解説します。

これから作るEJB

Javaプログラムを部品化するための規約としてJavaBeansがあります。これを拡張して,トランザクション処理やデータベースアクセス処理などの機能をあらかじめ用意し,開発者が業務ロジックの記述に専念できるようにしたものがEJB(Enterprise JavaBeans)です。

EJBはインターフェースを介して呼び出すため独立性が高く,また永続化クラスを利用してデータをやりとりするのでリクエストをまたがったデータ活用が可能といった特徴があります。

今回も前回と同様,Bankアプリケーションの例を使ってEJBの作り方を説明していきます。Bankアプリケーションは口座間の送金業務を行うアプリケーションで,画面からユーザIDと送金額を入力すると,データベースに格納されている該当ユーザの口座データが更新され,結果が画面に表示されるというものです。このうち,データベースを更新して送金処理を行う部分をEJBで作ります。図1に処理の流れを示します。

図1 Bankアプリケーションの処理の流れ

図1 Bankアプリケーションの処理の流れ

サーブレットはリモートインターフェース経由でEJBの業務ロジックを呼び出します。EJBは処理を行い,データベースから取得したデータを永続化クラスに格納します。処理の完了通知を受け取ったサーブレットは,JSPに処理結果画面の作成を依頼します。JSPは永続化クラスに格納されているデータを取得し,処理結果画面を作成します。

パッケージの作成

まず,関連のあるクラスやインターフェースを管理するためのパッケージを作成します。MyEclipseの[新規]ダイアログのメニューで「パッケージ」を選択し,表示されたダイアログでパッケージ名称などを指定します。ここではパッケージ名をbank.ejbとします。

図2 パッケージの作成

図2 パッケージの作成

EJBの実装クラスの作成

作成したパッケージに,実際の業務を処理する部分となる実装クラス(BankEJB)を作成し,業務処理を記述していきます。まず,MyEclipseの[新規]ダイアログのメニューで「クラス」を選択し,実装クラスのひな形を作成します。

図3 実装クラスの作成

図3 実装クラスの作成

BankEJBはStateful Session Beanとして実装します。アノテーションを使って,次のように記述します。

@Stateful(name = "BankEJB")

次に,BankEJBを呼び出すリモートインターフェースを指定します。これもアノテーションを使います。リモートインターフェース名はBankIFですが,アノテーションではクラスファイル名を指定するため,次のように記述します。

@Remote(value = BankIF.class)

アノテーションは,記述したい場所に「@」を入力して[Ctrl]+[スペース]キーを押すと図4のように一覧表示されるので,その中から選択します。

図4 アノテーションの記述

図4 アノテーションの記述

次に,データベースの更新など,業務ロジックを記述していきます。

著者プロフィール

友成文隆(ともなりふみたか)

株式会社日立製作所

http://www.hitachi.co.jp/cosminexus/

コメント

コメントの記入