ナビゲーションをスキップ

WebLogic Server 9.0 Beehive 統合ガイド

  前 次 前/次ボタンと目次ボタンとの区切り線 目次  

Beehive システム コントロール


 

WebLogic Server の Beehive システム コントロールは、Apache Beehive プロジェクトのシステム コントロールを実装したものです。以下の節では、WebLogic Server の実装によって提供される追加機能について説明します。

Beehive コントロールとその機能の詳細については、http://incubator.apache.org/beehive/docs/index.html にある Apache Beehive のドキュメントを参照してください。

注意 : Beehive システム コントロールは、BEA Products インストール プロセス中に自動的にコンピュータにインストールされます。システム コントロールがあらかじめインストールされているため、Apache Beehive のドキュメントにある、Beehive をダウンロードしてインストールする方法の説明は WebLogic Server ユーザには当てはまりません。

 


JDBC コントロール

JDBC コントロールを使用すると、Java コードから SQL コマンドを使用してリレーショナル データベースに簡単にアクセスできます。JDBC コントロールは、データベース クエリを Java オブジェクトに自動的に変換するので、クエリの結果に簡単にアクセスできます。

JDBC コントロールは、適切な JDBC ドライバが使用可能で、データ ソースがコンフィグレーションされていればどのデータベースに対しても処理を行えます。新しい JDBC コントロールをアプリケーションに追加するときに、そのコントロールのデータ ソースを指定します。データ ソースは、コントロールにバインドされるデータベースを示します。

Apache Beehive JDBC コントロールのすべての機能が WebLogic Server で使用できます。さらに WebLogic Server には、データの RowSet としての取得をサポートする特別な注釈、SQLRowset が用意されています。この注釈については、「SQLRowSet」を参照してください。

 


Web サービス コントロール

Web サービス コントロールを使用すると、Web サービスにアプリケーションから簡単にアクセスできます。Web サービス コントロールは、他の Beehive コントロールと同様にアプリケーションで使用します。(1) クラス メンバー フィールドで @Control 注釈を使用してコントロールを宣言し、(2) そのコントロールのメソッドを呼び出します。コード例については、「Beehive のチュートリアル」を参照してください。

Web サービス コントロールは、サービス単位で作成されます。WebLogic Server には、対象のサービスの WSDL ファイルに基づいたサービス コントロール生成ツールが用意されています。Web サービス コントロールを生成する方法の詳細については、「Web サービス コントロールのビルド」を参照してください。

注意 : WebLogic Server には、Web サービス コントロールの Beehive 実装は付属していません。代わりに、Web サービス コントロールの独自の実装が付属しています。つまり、生成されるサービス コントロールは、org.apache.beehive.controls.system.webservice.ServiceControl クラスではなく、com.bea.control.ServiceControl クラスを拡張したものです。

Web サービス コントロールのコンパイル プロセスは、複数の手順からなります。「Web サービス コントロールのビルド」を参照してください。

 


EJB コントロールと JMS コントロール

WebLogic Server 9.0 に付属の EJB コントロールと JMS コントロールは、Beehive バージョンと同じものです。これらのコントロールの詳細については、http://incubator.apache.org/beehive/system-controls/ejb/ejbDoc.html および http://incubator.apache.org/beehive/system-controls/jms/jmsDoc.html にある Apache Beehive のドキュメントを参照してください。

 


コントロールのセキュリティ

この節で登場する用語と概念の基本的な情報については、Sun の Web サイトにある Java Authentication and Authorization Service のドキュメントおよび「BEA WebLogic Server 9.0 セキュリティ」ページにあるドキュメントを参照してください。

WebLogic Server では、@Security 注釈を使用することで Beehive コントロールを保護できます。

com.bea.controls.Security 注釈は、コントロール メソッドの修飾に使用されます。@Security 注釈インタフェースには、以下の属性 (省略可能) があります。

@Security の属性

属性名

説明

rolesAllowed

String[]

省略可能。注釈付きのメソッドの実行が許可されているロール名の配列。メソッドを呼び出している現在のプリンシパルに、指定されたロールのいずれかが付与されていると、メソッド呼び出しが許可される。指定されたロールのいずれも付与されていない場合は、SecurityException が送出される。

runAs

String

省略可能。ロール名。runAsPrincipal が指定されていない場合は、指定されたロールが設定されている現在のプリンシパルでメソッドが実行される。

runAsPrincipal

String

省略可能。プリンシパル名。指定されたとおりの現在のプリンシパルでメソッドが実行される。runAs と一緒に使用しなければならない。

@Security 注釈は、コントロール インタフェースのメソッドに配置できます。@Control フィールドおよびコントロール クラス宣言には配置できません。

コントロール ファイルで @Security 注釈を使用するには、com.bea.control.annotations.Security クラスをインポートする必要があります。

import com.bea.control.annotations.Security;

また、(1) application.xml の <security-role> を使用して参照されるロールをアプリケーションレベルで定義し、(2) weblogic-application.xml の <security-role-assignment> を使用してロール マッピングを指定する必要があります。

たとえば、@Security 注釈で manager ロールを参照する場合は、次のようになります。

@Security( rolesAllowed={"manager"} ) 
public String getSalary();

その後、application.xml の <security-role> を使用して manager ロールを定義する必要があります。

application.xml

<security-role>
<role-name>manager</role-name>
</security-role>

さらに、weblogic-application.xml の <security-role-assignment> を使用してロール/プリンシパル マッピングを指定する必要があります。

weblogic-application.xml

<security>
<security-role-assignment>
<role-name>manager</role-name>
<principal-name>manager</principal-name>
</security-role-assignment>
</security>

サポートされるロールのスコープ

「アプリケーション」スコープのロールのみがサポートされています。グローバル スコープ、Web アプリケーション スコープ、および EJB スコープのロールはサポートされていません。アプリケーション スコープは、application.xml ファイルの <security-role> 要素および weblogic-application.xml ファイルの <security-role-assignment> 要素で定義されます。実装の詳細については、「コントロールのセキュリティ」を参照してください。

runAs の属性値 (ロール) は、次のようにプリンシパルにマップされます。

  1. id が指定されている <role-name> を持つ <security-role-assignment> 要素が weblogic-application.xml ファイルで定義されている場合に <principal-name> 要素の値が指定されていると、最初の <principal-name> 要素の値がプリンシパルとして使用されます。
  2. <principal-name> 要素の値が指定されていない場合は、id がプリンシパル名と見なされます。

 

フッタのナビゲーションのスキップ  ページの先頭 前 次