第6章
この章では、ワークフロープロセスで使用するJavaアクティビティの作成方法について説明します。この章は、次の節から構成されています。
Javaアクティビティは、exteNd Directorワークフローアプリケーションのコンテキスト内で実行するJavaクラスです。 Javaアクティビティを使用することによって、ユーザの操作なしに自動的に実行されるカスタムビジネスロジックを作成できます。
Javaアクティビティウィザードを使用してJavaアクティビティを作成し、Javaクラステンプレートをコード化してワークフローモデラーにアクティビティを追加することができます。 ワークフローエンジンは、Javaアクティビティが処理されると、自動的に作業を転送します。
生成されたクラスは、EbiJavaActivityインタフェースを実装して、invoke()メソッドに対してメソッドスタブを生成します。 このメソッドは、ワークフローコンテキストを提供し、ワークフロープロセスで作業がJavaアクティビティに転送されると、呼び出されます。
次の例では、ランタイム時にJavaアクティビティのスコープパスにアクセスする方法を示します。 この例では、セッションスコープを使用します。 一般的に、ワークフローのワークアイテムはFlowスコープに保存されます。
import com.sssw.wf.api.*;
public void invoke(EbiContext context) {
try {
// how to get a value from a scopedPath. ( assuming a request var of fname )
com.sssw.fw.api.EbiScopedPath fname =
com.sssw.fw.factory.EboScopedPathFactory.createScopedPath(
"/Request/param/fname");
String theFirstName = (String)fname.getValue( context );
// how to set a value on a scopedPath.
com.sssw.fw.api.EbiScopedPath sessionDoc =
com.sssw.fw.factory.EboScopedPathFactory.createScopedPath(
"/Session/DOC");
sessionDoc.setValue( context, "mySessionDocValue" );
// how to copy the request Referer into a session variable
com.sssw.fw.api.EbiScopedPath from =
com.sssw.fw.factory.EboScopedPathFactory.createScopedPath(
"/Request/prop/Referer");
com.sssw.fw.api.EbiScopedPath to =
com.sssw.fw.factory.EboScopedPathFactory.createScopedPath(
"/Session/Referer");
com.sssw.fw.core.EboScopedPathUtil.copy( context, from, to );
}
catch( Exception e ) {
System.out.println(e);
}
}
Copyright © 2004 Novell, Inc. All rights reserved. Copyright © 1997, 1998, 1999, 2000, 2001, 2002, 2003 SilverStream Software, LLC. All rights reserved. more ...