第1章

exteNd Directorでのワークフローについて

この章では、exteNd Director Workflowサブシステムの概要を説明します。この章には、次のトピックが含まれています。

 
Top of page

ワークフローとは

ワークフロー」とは、手順ルールのセットに従って、ドキュメント、情報、またはタスクがアクションに対してある参加者から別の参加者に渡される、ビジネスプロセスの一部または全部の自動化です。 ワークフローは、企業と消費者とのやりとり、企業間のやりとり、または内部プロセスに適用することができます。

ワークフローの実装を決定する以前の段階において、組織では、作業を手動で(場合によっては、最小限の自動化を行いながら)実行していると考えられます。現在の作業を調査すると、ビジネスアナリストは、組織の目標を実現する1つまたは複数のステップを孤立させることができます。ワークフロー設計者は、このステップセットを「ビジネスプロセス」と呼んでいます。

次の図に、2つのビジネスプロセスを示します。 1つは電話による販売注文を組織が実行する方法をモデル化したもので、もう1つは出荷方法をモデル化したものです。

wfBusinessProcess

ビジネスプロセスの特徴は、次のとおりです。

ワークフローは、手順ルールに従って、アクティビティからアクティビティへの作業のルーティングを自動化します。 作業は、ドキュメントのセットを特徴付けるデータ(メタデータ)に関連付けられているドキュメントのダイナミックなセット(データ)として表されます。データとメタデータは、総合して「ワークアイテム」と呼ばれます。ユーザは、ワークアイテムの情報に基づいて実行したり、タスクを実現したり、ワークアイテム情報を更新したり、ワークフローでワークアイテムを続行したりすることができます。

exteNd Director Workflowサブシステムは、JavaおよびXML技術を使用してワークフローアプリケーションを作成して実行するためのフレームワークおよびリソースを提供します。

 
Top of page

ワークフローモデラーについて

ワークフローアプリケーションのコアは、ワークフローモデラーを使用して視覚的に作成したXMLファイルである「プロセス定義」です。 「ワークフロープロセス」とは、ワークフローモデラーにおけるプロセス記述子の視覚的な表現です。

ワークフローモデラー」は、ワークフロープロセスをすばやく視覚的に作成します。 ワークフローモデラーを使用すると、次のことができます。

ワークフロープロセスを保存すると、ワークフローモデラーでは、「プロセス定義」と呼ばれるXMLベースのファイルに変換します。 プロセス定義は、ワークフローのレイアウトおよび形式を保存し、ワークフローエンジンが読み込んで実行できるようにフローロジックをプログラムに変換します。

 
Top of section

ワークフロープロセスについて

ワークフローモデラーでプロセスは、次のように表示されます。

wfProcessExample

ワークフローの主要機能は次のとおりです。:

プロセスコンポーネント

説明

アクティビティ

各プロセスには、フローのランタイム実行を制御する「アクティビティ」のセットがあります。 ワークフローモデラーでは、ユーザに情報を表示してユーザ操作に応答するアクティビティ(上の例のユーザおよびページフローアクティビティ)およびユーザに表示されないバックグラウンドタスクを実行するシステムアクティビティ(例のJavaアクティビティ)を提供します。 各ワークフローには、2つのシステムアクティビティが必要です。

  • 開始アクティビティ: 新しいワークアイテムを作成したり、オプションで初期ドキュメントをワークアイテムに割り当てたりするのに必要なWorkflowサブシステム機能を表します。

  • 終了アクティビティ: ワークフロープロセスを通常終了するのに必要なWorkflowサブシステム機能を表します。

Link

リンクによって、ワークフローのアクティビティが結合されます(ワークフロープロセスでは、リンクは矢印で表されます)。 「リンク」は、2つのアクティビティ間の単一のロジカルパスです。 アクティビティでは、複数の送信元(受信)リンクおよび複数の宛先(発信)リンクを持つことができます。 ワークフローモデラーでは、2つの種類のリンクを提供します。

  • 単純なリンク: trueまたはfalseに評価されるように式を指定できます。 単純なリンクの式がtrueに評価された場合、リンクは次のアクティビティに従います。

  • 条件マクロのリンク: Rulesサブシステムによって評価される1つまたは複数の条件を指定できます。 条件のリンクがtrueに評価された場合、リンクは次のアクティビティに従います。

スコープパス

スコープパスは、コアexteNd Director機能で、アプリケーションデータにアクセスするための構文を提供します。exteNd Directorには、「フロー」と呼ばれるスコープパスが含まれていて、これによってワークフローモデラーからワークアイテムデータにアクセスすることができます。 上の例は、「スコープパスをコピーする」にアクセスするJavaアクティビティを示しています。

 
Top of page

Workflowサブシステムアーキテクチャ

Workflowサブシステムは、「ワークフローエンジン」および「ワークフローキュー」の2つの主要なアーキテクチャコンポーネントで構成されています。 これらのコンポーネントは、次の図に示すように、ほかのワークフローコンポーネントと通信します。

Wfarchitecture

ワークフローエンジン   ワークフローエンジンは、ワークフロープロセスを実行して管理します。 この図は、単一のプロセスインスタンスの実行を示しています。 ワークフローエンジンでは、ワークフローモデラーで作成されたプロセス記述子を使用すると、次のことができます。

ワークフローキュー   ワークフローキューは、キュー自体およびワークフローエンジンとワークアイテム間のトラフィックを調整するキューマネージャで構成されます。

キューは、ワークフローユーザが利用できるようにワークアイテムを保持します。 キューは、ワークアイテムインスタンスおよび宛先(ユーザ)や宛先タイプ(ユーザまたはセキュリティ役割)といったワークアイテムに関連付けられたデータを保存します。 アクティビティが完了すると、キューマネージャはエンジンにワークアイテムを次のアクティビティに転送するように通知します。 ユーザの操作を必要としないシステムタイプアクティビティ(Javaアクティビティなど)は、キューに登録されません。 システムタイプアクティビティは、ワークフローエンジンによってインラインで実行されます。

図には、単一のプロセスインスタンスが示されていますが、実際のアプリケーションでは、多数のプロセスインスタンスが実行される可能性があります。 キューには、アクティビティのアクティブプロセスインスタンスの数を含ませることができます(ワークアイテムが各プロセスのアクティビティに達したと想定して)。

ワークアイテムについて   ワークアイテムは、アプリケーションデータのコンテナです。 ワークアイテムは、プロセスインスタンスの任意の場所におけるデータの状態を表します。 一般的なワークフローのシナリオでは、ワークフローエンジンはリンクロジックに基づいて、ワークアイテムをアクティビティからアクティビティへと移動させます (ワークアイテムとデータを混同しないでください。一般的にデータは、各アクティビティによって変更されます)。

ワークフロークライアントについて   ワークフロークライアントは、ワークフローAPIを介してエンジン、キュー、およびワークアイテムへのアクセスを提供します。 ワークフローキュー委任(EbiQueueDelegateのインスタンス)が指定された宛先のキューにあるアイテムにアクセスする方法は、図のとおりです。

注記:   exteNd Directorには、ワークフローエンジンを起動させてキューにアクセスするコアポートレットが含まれています。詳細については、を参照してください。

 
Top of page

ワークフローおよびページフロー

ワークフローをexteNd Director「ページフロー」モデルと比較してみると、ワークフローの理解に役立ちます。 ワークフローおよびページフローは同じ方法でモデリングされていますが、この比較に示されているように、ワークフローアプリケーションにはいくつかの特徴的な機能があります。

ワークフロー

ページフロー

プロセスベース

ワークフローは線形ビジネスプロセスで、数日間、または何週間にもわたる場合があります。

セッションベース

ページフローには期限が設定されていないので、期間は単一のユーザによって制御されます。

一定の開始点

いくつかの特定のイベントまたは条件によって、プロセスインスタンスが起動します。 月次通知のようにシステムによって生成されるイベントと、ユーザによって生成されるイベントがあります。

設計済みエントリポイント

エントリポイントは、フロー自体が決定し、一般的に外部イベントではトリガされません。

複数のユーザ

ワークフローでは、複数のユーザが各アクティビティで独立したタスクを実行することを想定しています。

単一のユーザ

ページフローアプリケーションは、単一のユーザによって操作されます。

持続性データ

インスタンスデータは、ワークアイテムを後続のユーザに渡すことができるようにセッションの外部に保存する必要があります。

セッションデータ

ページフローは主に現在のセッションに保存されているインスタンスデータに依存しますが、アプリケーションは持続性データにアクセスすることができます。

一定の終了点

いくつかの特定のイベントまたは条件によって、プロセスインスタンスを終了します。

ユーザ制御の終了点

ユーザがセッションの終了点を選択しますが、いくつかの特定のアクションによってワークフローが発生する場合があります。

注記:   ワークフローおよびページフローは、異なる種類のアプリケーションを作成するために使用しますが、Workflowサブシステムでは、それらを統合するための機能を提供します。ワークフローでのページフローを参照してください。

 
Top of page

ワークフローAPIについて

ワークフローAPIでは、クライアントはワークアイテムにアクセスして、Javaアクティビティおよびユーザアクティビティのアプリケーションロジックを定義することができます。 また、APIを使用してエンジンおよびキューにアクセスすることもできます。ビジネスロジックを開発するためのクラスの多くは、com.sssw.wf.apiおよびcom.sssw.wf.clientパッケージに含まれています。 次に、主要なクラスを示します。

インタフェース

説明

EbiWorkitemDelegate

ワークアイテムを操作するためにクライアントによって使用されます。これは、ワークアイテムプロパティおよび関連付けられているドキュメントにアクセスするためのメソッドと、ユーザまたはユーザセッションのワークアイテムをロックおよびロック解除するためのメソッドを提供します。

EbiContext

プロセスインスタンスにワークフローコンテキストへのアクセスを提供します。

EbiDocumentManager

ドキュメントおよびドキュメントのプロパティにアクセスを提供します。

EbiQueueDelegate

キュー内のワークアイテムに対してアクセス、転送、および再割り当ての操作を提供します。

EbiWorkflowEngineDelegate

プロセスインスタンスを開始するためのメソッドを提供します。

EbiJavaActivity

Javaアクティビティをコーディングするメソッドを提供します。

EbiActivity

ランタイム時にアクティビティの動作にアクセスするメソッドを提供します。



Copyright © 2004 Novell, Inc. All rights reserved. Copyright © 1997, 1998, 1999, 2000, 2001, 2002, 2003 SilverStream Software, LLC. All rights reserved.  more ...