BEA ホーム | 製品 | デベロッパ・センタ | support | askBEA
 ドキュメントのダウンロード   サイト マップ   用語集 
検索

BPM クライアント アプリケーション プログラミング

 前 次 目次 索引 PDFで表示  

アクティブなオーガニゼーションの管理

この章では、アクティブ オーガニゼーションの管理方法について説明します。内容は以下のとおりです。

WebLogic Integration Worklist を使用したアクティブ オーガニゼーションの管理については、『WebLogic Integration Worklist ユーザーズ ガイド』の「ワークフローを使った作業」を参照してください。

注意: Worklist クライアント アプリケーションは、このリリースの WebLogic Integration からは非推奨になります。Worklist クライアント アプリケーションに代わる機能については、『WebLogic Integration リリース ノート』を参照してください。

 


アクティブ オーガニゼーションについて

オーガニゼーションは、WebLogic Integration Studio またはカスタム構成クライアントを使用して、異なるビジネス エンティティ、地理的な位置、または会社の特定のビジネスに関連する他のクラスのエンティティを表すものとして定義されます。また、セキュリティのパーミッションを強化するために、オーガニゼーション内のユーザや役割も定義できます。

現在のアクティブ オーガニゼーションは、オーガニゼーションが指定されていないワークリストおよびカスタム実行時の管理クライアント要求の両方のデフォルト オーガニゼーションになっています。アクティブ オーガニゼーションは、まず実行時の管理クライアントを呼び出したユーザのデフォルト オーガニゼーションに設定されます。デフォルトのオーガニゼーションは、ユーザが定義クライアントで最初に作成する際に指定します。

アクティブ オーガニゼーションの取得と設定は、以下に説明するメソッドを使用して行います。

以下の節で説明するそれぞれのメソッドについては、『BEA WebLogic Integration Javadoc』を参照してください。Studio クライアント内でのオーガニゼーションの維持については、『WebLogic Integration Studio ユーザーズ ガイド』の「データの管理」の「オーガニゼーションの保守」を参照してください。

 


アクティブ オーガニゼーション名の取得

現在のアクティブ オーガニゼーションの名前を取得するには、次の com.bea.wlpi.server.worklist.Worklist メソッドを使用します。

public java.lang.String getActiveOrganization(
) throws java.rmi.RemoteException,
com.bea.wlpi.common.WorkflowException

このメソッドは、アクティブ オーガニゼーションの ID を戻します。

たとえば、次のコードでは、アクティブ オーガニゼーションの ID が取得され、またそれが activeOrgId 文字列の変数に格納されます。

String activeOrgId = worklist.getActiveOrganization();

このコード例では、worklistWorklist EJB への EJBObject 参照を表します。getActiveOrganization() メソッドの詳細については、Javadoc の com.bea.wlpi.server.worklist.Worklist を参照してください。

 


すべてのオーガニゼーション名の取得

アクティブ オーガニゼーションを設定するには、アクティブ化するオーガニゼーションの ID を知る必要があります。定義されたすべてのオーガニゼーションの ID のリストを取得するには、すべてのオーガニゼーション名を取得するを参照してください。

 


アクティブ オーガニゼーションの設定

アクティブ オーガニゼーションを設定するには、次の com.bea.wlpi.server.worklist.Worklist メソッドを使用します。

public void setActiveOrganization(
java.lang.String orgId
) throws java.rmi.RemoteException,
com.bea.wlpi.common.WorkflowException

setActiveOrganization() メソッドのパラメータを次の表に示します。パラメータには値を指定する必要があります。

表19-1 setActiveOrganization() メソッドのパラメータ

パラメータ

説明

有効な値

orgId

アクティブ化するオーガニゼーションの ID

有効なオーガニゼーション ID を指定する文字列。

すべてのオーガニゼーション ID のリストの取得方法については、すべてのオーガニゼーション名を取得するを参照。


 

たとえば、次のコードでは、ORG1 がアクティブ オーガニゼーションに設定されます。このコード例では、worklistWorklist EJB への EJBObject 参照を表します。

worklist.setActiveOrganization(“ORG1”);

setActiveOrganization() メソッドの詳細については、Javadoc の com.bea.wlpi.server.worklist.Worklist を参照してください。

 


アクティブ オーガニゼーションの管理例

この節では、コマンドライン Worklist サンプルから抜粋して、アクティブ オーガニゼーションの管理方法を示します。

注意: コマンドライン Worklist サンプルの詳細については、コマンドライン Worklist サンプルを参照してください。

このサンプルでは、ユーザと通信するための入力ストリームが定義されており、ユーザは以下のアクションのいずれかを指定するよう求められます。

重要なコード行は、太字で強調されています。このコード例では、worklistWorklist EJB への EJBObject 参照を表します。

/* ユーザとの通信のための入力ストリームを作成する */
stdIn = new BufferedReader( new InputStreamReader( System.in ) );

/* ツール タイトルを表示する */
System.out.print( "¥n--- Command Line Worklist v1.2 ---" );

/* メイン メニューを表示してユーザと交信する */
while( true ) {
/* メニューを表示する */
System.out.println( "¥n--- Main Menu ---" );
System.out.println( "¥nEnter choice:" );
System.out.println( "1) Organizations" );
System.out.println( "2) Workflows" );
System.out.println( "3) Tasks" );
System.out.println( "Q) Quit" );
System.out.print( ">> " );
.
.
.
public static void mngOrganization( ) {
String orgId;

/* ユーザとの通信のための入力ストリームを作成する */
BufferedReader stdIn = new BufferedReader(
new InputStreamReader( System.in ) );

try {
/* メイン メニューを表示してユーザと交信する */
while( true ) {
/* メニューを表示する */
System.out.println( "¥n¥n--- Organizations ---" );
System.out.println( "¥nEnter choice:" );
System.out.println( "1) List active organization" );
System.out.println( "2) List all organizations" );
System.out.println( "3) Set active organization" );
System.out.println( "B) Back to previous menu" );
System.out.println( "Q) Quit" );
System.out.print( ">> " );

/* ユーザの選択を取得する */
String line = stdIn.readLine( );

/* ユーザが選択を行わないで〔Enter〕を押したか ? */
if( line.equals( "" ) )
continue;
/* ユーザが複数の文字を入力したか ? */
else if( line.length( ) > 1 ) {
System.out.println( "*** Invalid choice" );
continue;
}

/* 大文字および文字へのコンバート*/
char choice = line.toUpperCase( ).charAt( 0 );

/* ユーザの選択を処理する */
switch( choice ) { ...

アクティブ オーガニゼーション名を取得する

アクティブ オーガニゼーションの名前を取得する方法を示します。

         /* アクティブ オーガニゼーションをリスト アップする */
case '1' :
/* WLPI 公開 API メソッド */
/* 注意 : 発生した例外を取り込むコードを
* 追加するとよい */
String activeOrgId = worklist.getActiveOrganization( );
System.out.println( "¥nActive organization is " + activeOrgId );
break; ...

すべてのオーガニゼーション名を取得する

すべてのオーガニゼーションの名前を取得する方法を示します。

         /* すべてのオーガニゼーションをリスト アップする */
case '2' :
/* WLPI 公開 API メソッド */
/* 注意 : 発生した例外を取り込むコードを追加するとよい */
List orgList = principal.getAllOrganizations( false );

/* 定義されているオーガニゼーションはあるか ? */
if( orgList.size( ) == 0 )
System.out.println( "¥nNo Organization defined" );
else
System.out.println( "¥nDefined organizations:" );

/* リストを処理してオーガニゼーションと属性を表示する */
for( int i = 0; i < orgList.size( ); i++ ) {
/* リストから要素を取り出す */
OrganizationInfo orgInfo = ( OrganizationInfo )orgList.get( i );
/* オーガニゼーション ID を取り出して表示する */
System.out.println( "- ID: " + orgInfo.getOrgId( ) );
}
break; ...

アクティブ オーガニゼーションを設定する

アクティブ オーガニゼーションの設定方法を示します。

         /* アクティブ オーガニゼーションを設定する */
case '3' :
/* アクティブ化するオーガニゼーションのオーガニゼーション ID を取得する */
if( ( orgId = askQuestion( "\nEnter Organization ID" ) ) == null ) {
/* ユーザによる操作の取り消し */
System.out.println( "*** Cancelled" );
break;
}

try {
/* WLPI 公開 API メソッド */
worklist.setActiveOrganization( orgId );

/* 正常終了(例外の発生なし) */
System.out.println( "- Success" );

/* WLPI 公開 API メソッド */
/* 操作が正常に終了したことを確認 */
activeOrgId = worklist.getActiveOrganization( );
System.out.println(
"- The active organization is now " + activeOrgId );
}
catch( Exception e ) {
System.out.println(
"*** Failed to set the Active Organization (ID: " +
orgId + ")" );
System.err.println( e );
}
break;
.
.
.

 

ページの先頭 前 次