第1章
この章では、exteNd Director Workflowサブシステムの概要を説明します。この章には、次のトピックが含まれています。
「ワークフロー」とは、手順ルールのセットに従って、ドキュメント、情報、またはタスクがアクションに対してある参加者から別の参加者に渡される、ビジネスプロセスの一部または全部の自動化です。 ワークフローは、企業と消費者とのやりとり、企業間のやりとり、または内部プロセスに適用することができます。
ワークフローの実装を決定する以前の段階において、組織では、作業を手動で(場合によっては、最小限の自動化を行いながら)実行していると考えられます。現在の作業を調査すると、ビジネスアナリストは、組織の目標を実現する1つまたは複数のステップを孤立させることができます。ワークフロー設計者は、このステップセットを「ビジネスプロセス」と呼んでいます。
次の図に、2つのビジネスプロセスを示します。 1つは電話による販売注文を組織が実行する方法をモデル化したもので、もう1つは出荷方法をモデル化したものです。

ビジネスプロセスの特徴は、次のとおりです。
一定の開始点またはエントリ条件がある - 電話による販売注文の例では、週日午前9時から午後5時までの間に顧客から受けた電話は、エントリ条件の共通のセットを編成します。エントリ条件は、ビジネスプロセスを開始させます。
手動、部分的に自動化、または完全に自動化にすることができる - 販売の例では、製品の梱包は手動、運送業者の選択は部分的に自動化、および在庫管理は完全に自動化にすることができます。各ステップは、依然としてビジネスプロセスの一部です。
必要に応じてさらに小さいビジネスプロセスに分けることができる - 販売の例では、元の発注ステップは、出荷ビジネスプロセスで置き換えることができます。
一定の終了点または定義された出力がある - たとえば、ビジネスプロセスは、顧客が受領証を確認するまで終了できない可能性があります。
ワークフローは、手順ルールに従って、アクティビティからアクティビティへの作業のルーティングを自動化します。 作業は、ドキュメントのセットを特徴付けるデータ(メタデータ)に関連付けられているドキュメントのダイナミックなセット(データ)として表されます。データとメタデータは、総合して「ワークアイテム」と呼ばれます。ユーザは、ワークアイテムの情報に基づいて実行したり、タスクを実現したり、ワークアイテム情報を更新したり、ワークフローでワークアイテムを続行したりすることができます。
exteNd Director Workflowサブシステムは、JavaおよびXML技術を使用してワークフローアプリケーションを作成して実行するためのフレームワークおよびリソースを提供します。
ワークフローアプリケーションのコアは、ワークフローモデラーを使用して視覚的に作成したXMLファイルである「プロセス定義」です。 「ワークフロープロセス」とは、ワークフローモデラーにおけるプロセス記述子の視覚的な表現です。
「ワークフローモデラー」は、ワークフロープロセスをすばやく視覚的に作成します。 ワークフローモデラーを使用すると、次のことができます。
ワークフロープロセスを保存すると、ワークフローモデラーでは、「プロセス定義」と呼ばれるXMLベースのファイルに変換します。 プロセス定義は、ワークフローのレイアウトおよび形式を保存し、ワークフローエンジンが読み込んで実行できるようにフローロジックをプログラムに変換します。
ワークフローモデラーでプロセスは、次のように表示されます。

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

ワークフローエンジン ワークフローエンジンは、ワークフロープロセスを実行して管理します。 この図は、単一のプロセスインスタンスの実行を示しています。 ワークフローエンジンでは、ワークフローモデラーで作成されたプロセス記述子を使用すると、次のことができます。
ワークフローキュー ワークフローキューは、キュー自体およびワークフローエンジンとワークアイテム間のトラフィックを調整するキューマネージャで構成されます。
キューは、ワークフローユーザが利用できるようにワークアイテムを保持します。 キューは、ワークアイテムインスタンスおよび宛先(ユーザ)や宛先タイプ(ユーザまたはセキュリティ役割)といったワークアイテムに関連付けられたデータを保存します。 アクティビティが完了すると、キューマネージャはエンジンにワークアイテムを次のアクティビティに転送するように通知します。 ユーザの操作を必要としないシステムタイプアクティビティ(Javaアクティビティなど)は、キューに登録されません。 システムタイプアクティビティは、ワークフローエンジンによってインラインで実行されます。
図には、単一のプロセスインスタンスが示されていますが、実際のアプリケーションでは、多数のプロセスインスタンスが実行される可能性があります。 キューには、アクティビティのアクティブプロセスインスタンスの数を含ませることができます(ワークアイテムが各プロセスのアクティビティに達したと想定して)。
ワークアイテムについて ワークアイテムは、アプリケーションデータのコンテナです。 ワークアイテムは、プロセスインスタンスの任意の場所におけるデータの状態を表します。 一般的なワークフローのシナリオでは、ワークフローエンジンはリンクロジックに基づいて、ワークアイテムをアクティビティからアクティビティへと移動させます (ワークアイテムとデータを混同しないでください。一般的にデータは、各アクティビティによって変更されます)。
ワークフロークライアントについて ワークフロークライアントは、ワークフローAPIを介してエンジン、キュー、およびワークアイテムへのアクセスを提供します。 ワークフローキュー委任(EbiQueueDelegateのインスタンス)が指定された宛先のキューにあるアイテムにアクセスする方法は、図のとおりです。
注記: exteNd Directorには、ワークフローエンジンを起動させてキューにアクセスするコアポートレットが含まれています。詳細については、を参照してください。
ワークフローをexteNd Director「ページフロー」モデルと比較してみると、ワークフローの理解に役立ちます。 ワークフローおよびページフローは同じ方法でモデリングされていますが、この比較に示されているように、ワークフローアプリケーションにはいくつかの特徴的な機能があります。
注記: ワークフローおよびページフローは、異なる種類のアプリケーションを作成するために使用しますが、Workflowサブシステムでは、それらを統合するための機能を提供します。ワークフローでのページフローを参照してください。
ワークフローAPIでは、クライアントはワークアイテムにアクセスして、Javaアクティビティおよびユーザアクティビティのアプリケーションロジックを定義することができます。 また、APIを使用してエンジンおよびキューにアクセスすることもできます。ビジネスロジックを開発するためのクラスの多くは、com.sssw.wf.apiおよびcom.sssw.wf.clientパッケージに含まれています。 次に、主要なクラスを示します。
Copyright © 2004 Novell, Inc. All rights reserved. Copyright © 1997, 1998, 1999, 2000, 2001, 2002, 2003 SilverStream Software, LLC. All rights reserved. more ...