[トライアル版連動企画]
Webアプリケーションの作成が一通り理解できる基礎講座
初めてJavaを使ってWebアプリケーションを構築するプログラマのために、アプリケーションサーバの環境構築からServlet、JSP、さらに踏み込んだところでEJBによるプログラミング、デバッグの方法などを計5回の連載で解説します。 一通り学び終わると、Webアプリケーションプログラミングの全体がすっきり見渡せるようになります。 |
第3回 EJBの作成手順を覚えよう
|
第3回は、いよいよEJBを開発する。季節柄(?)、賽銭箱Beanを作成し、ブラウザクライアントからアクセスしてみよう。開発には、JBuilder 4 Entepriseを用いる。製品をお持ちでない方もトライアル版で実際に試すことができるので、是非、前回の記事を参考にして入手してほしい。
なお、今回の学習に使用するプログラムファイルはmyfirstejb.zipである。ファイル名をクリックしてダウンロードしてほしい。
EJB開発のためのJBuilder 4 Enterpriseの設定 |
JBuilder 4 EnterpriseでEJBの開発を行うには、Inprise Application Server(IAS)の統合設定が必要である。JBuilderを起動したら、[ツール|エンタープライズの設定]メニューを実行する。[CORBA]ページの[設定の選択]項目で、VisiBrokerを選択し[編集]ボタンを押す。ここで、以下の項目を設定する。
項目
|
設定 |
ORBツールへのパス | IAS 4.1インストールディレクトリ下の bin/ |
必要なライブラリ | […]ボタンを押して、IAS 4.1インストールディレクトリ下のlib/にあるファイルを選択する。名称は、IAS 4.1などと設定する |
画面1 新規ライブラリの定義 (クリックすると拡大します) |
次に、[アプリケーションサーバー]ページを表示し、[IASインストールディレクトリ]を指定して、[統合]をチェックする。
画面2 アプリケーションサーバの設定 (クリックすると拡大します) |
[OK]ボタンを押してダイアログを閉じ、JBuilderを再起動する。
セッションBeanの開発 |
■ウィザードの実行
[ファイル|新規プロジェクト]メニューを実行して、新規プロジェクトを作成する。プロジェクト名などを指定して次のステップへ進み、[必須ライブラリ]にInprise
Application Server 4.1ライブラリを追加する。最後のステップでプロジェクトの情報を入力したら、[終了]ボタンを押す。
次に、EJBグループを作成する。EJBグループは、EJBを配布単位で管理する。配布ディスクリプタを管理し、EJBの配布に用いるJARファイルを自動生成する。
[ファイル|新規]メニューを実行し、「オブジェクトギャラリー」の[エンタープライズ]ページから、[EJBグループ]を選択する。
画面3 EJBグループウィザード (クリックすると拡大します) |
[名前]を設定すると、同名のJARファイルの生成が設定される。ウィザードを終了すると、プロジェクトペインにEJBグループが追加され、内容ペインに配布ディスクリプタエディタが表示される。
次に、[ファイル|新規]メニューを選択し、[Enterprise JavaBean]ウィザードを実行する。最初のステップでは、作成したEJBグループを選択する。次に、クラス情報を入力する。
項目
|
値 |
パッケージ | myfirstejb |
クラス名 | SaisenbakoBean |
親クラス | java.lang.Object |
オプション | STATELESSセッションBean |
画面4 Enterprise JavaBeanウィザード (クリックすると拡大します) |
最後のステップでは、ホームインターフェイス、リモートインターフェイスなどの名前を設定する。ここでは、すべてデフォルトの設定を適用する。
■Beanデザイナーによる設計
このSaisenbakoBeanには、賽銭の合計金額を保持するプロパティを定義する。内容ペインの[Bean]タブをクリックして、Beanデザイナーを起動する。[プロパティ]ページを表示して、[プロパティの追加]ボタンを押す。
画面5 プロパティの追加 (クリックすると拡大します) |
ここでは、次のように項目を設定する。
項目
|
値 |
プロパティ名 | amount |
型 | double |
Getter | (チェックする) |
Setter | (チェックしない) |
次に、[ソース]タブをクリックして、メソッドを追加する。追加するメソッドは、賽銭をするpay()メソッドである。
public void pay(double fee) { |
定義したメソッドは、リモートクライアントからアクセスできるように、リモートインターフェイスで公開しなければならない。これを行うには、Beanデザイナーを用いる。[Bean] - [メソッド]タブをクリックして、定義したメソッドのチェックボックスにチェックを入れる。ここでは、void pay(double) と double getAmount() にチェックを入れる。
画面6 リモートインターフェイスの定義 (クリックすると拡大します) |
この結果、リモートインターフェイスのSaisenbako.javaが以下のように更新される。
package myfirstejb;
|
以上でBeanの作成は完了である。続いて、Inprise Application Server用のスタブの生成を設定する。プロジェクトペインで、ホームインターフェイスSaisenbakoHome.javaを選択して、マウスの右ボタンを押し、[プロパティ]メニューを選択する。
画面7 スタブの生成 (クリックすると拡大します) |
[ビルド]-[VisiBroker]ページを表示し、[IIOP]の生成をチェックする。これによって、メイク時にスタブが生成される。
■配布ディスクリプタの定義
作成したEJBに対する、配布ディスクリプタの定義を行う。プロジェクトペインで、EJBグループを選択し、配布ディスクリプタエディタを表示する。
構造ペインで、[SaisenbakoBean]項目下を表示し、[Container Transactions]を選択する。内容ペインで、[Add]ボタンを押し、新しいトランザクション属性定義を追加する。
項目
|
値 |
Interfafe | * |
Method | * |
Transaction attribute | Required |
画面8 配布ディスクリプタの設定 (クリックすると拡大します) |
この設定によって、SaisenbakoBeanのホームインターフェイス、リモートインターフェイス双方のすべてのメソッドで、すでにトランザクションコンテキストがあればそれを利用し、なければ新規に作成するというモードによるトランザクション処理が行われる。
配布ディスクリプタエディタは、次のようなXMLファイルを自動生成し、JARファイルに追加する。
<?xml version="1.0"
encoding="MS932"?>
|
クライアントの開発 |
|
連載記事一覧 |
- 実運用の障害対応時間比較に見る、ログ管理基盤の効果 (2017/5/9)
ログ基盤の構築方法や利用方法、実際の案件で使ったときの事例などを紹介する連載。今回は、実案件を事例とし、ログ管理基盤の有用性を、障害対応時間比較も交えて紹介 - Chatwork、LINE、Netflixが進めるリアクティブシステムとは何か (2017/4/27)
「リアクティブ」に関連する幾つかの用語について解説し、リアクティブシステムを実現するためのライブラリを紹介します - Fluentd+Elasticsearch+Kibanaで作るログ基盤の概要と構築方法 (2017/4/6)
ログ基盤を実現するFluentd+Elasticsearch+Kibanaについて、構築方法や利用方法、実際の案件で使ったときの事例などを紹介する連載。初回は、ログ基盤の構築、利用方法について - プログラミングとビルド、Androidアプリ開発、Javaの基礎知識 (2017/4/3)
初心者が、Java言語を使ったAndroidのスマホアプリ開発を通じてプログラミングとは何かを学ぶ連載。初回は、プログラミングとビルド、Androidアプリ開発、Javaに関する基礎知識を解説する。
|
|