特集:Apache Beehiveとは何か――BEAがOSSで築くSOA基盤dev Java(2/7 ページ)

» 2004年11月08日 13時00分 公開
[阿島哲夫(カサレアル),ITmedia]

アクセス方法を容易にするコントロール

 コントロールは、EJB、JMSなど、さまざまなJ2EEリソースへのアクセス方法を隠蔽し、通常のJavaBeansと同様に簡単に扱える仕組みを提供するコンポーネントだ。

 通常、EJBに記述されたビジネスロジックを呼び出す処理を記述するには、次のような項目を学習し、習得する必要がある。

  • デプロイメントディスクリプタの記述方法
  • JNDIサービスにアクセスし、JNDIリソースを取得する手順
  • ホームオブジェクト、リモートオブジェクトを取得し、ビジネスメソッドを呼び出す手順
  • Stateless Session Bean とStateful Session Bean の違い

 これらの手順は技術的な実装上の問題でしかなく、ビジネス要件を満たすというシステム開発最大の目的に付随するものでしかない。

 開発プロジェクトによってはこのような手順を隠蔽するための仕組みを構築する場合もあるが、設計、実装、テスト、デバッグに相応のコストがかかってしまい、各所の品質によってシステムパフォーマンスに影響を与えてしまうこともある。

 Beehiveのコントロールは、EJBやJMSの呼び出しにかかるような複雑な手順を隠蔽するコンポーネントだ。EJBクライアントも、JMSクライアントも、クライアント側から見るとインスタンス化可能な、単純なJavaBeansとして一貫した操作を行うことができる。

コントロールの作成方法

 コントロールひとつにつき、3つのコンポーネントで構成される。

コントロールクラスの関係

 コントロールパブリックインタフェース、コントロール実装クラス、コントロールBeanクラスだ。このうち、コントロールパブリックインタフェースとコントロール実装クラスを開発者が作成する。

 コントロールBeanクラスは、Beehiveから提供されるコントロールコンパイラによって自動生成される。ここでは、呼び出すと"Hello, World!"という文字列を返すhello() というメソッドを実装したコントロールの作成手順を例に、コントロールの実装方法を解説しよう。

コントロールパブリックインタフェースの作成

 コントロールパブリックインタフェースは、操作(メソッド)、属性(プロパティ)などクライアントからの見た目を定義するインタフェースだ。

 作成の唯一のルールとして、インタフェース宣言部に@org.apache.beehive.controls.api.bean.ControlInterface とアノテーションしなければならない決まりがある。

リスト1■Hello.java
package hellocontrol;

import org.apache.beehive.controls.api.bean.ControlInterface;

@ControlInterface
public interface Hello
{
public String hello();
}

Copyright © ITmedia, Inc. All Rights Reserved.

注目のテーマ