ワーク・パフォーマーの開発
ワーク・パフォーマーは、ワークフローに関連付けられているオペレーションまたは一連のオペレーションを実行するアプリケーションです。
- ユーザー・インターフェースなしで設計されます。
- ワークフロー定義の特定のステップに関連付けられるオペレーションなどの、自動ワークフロー・オペレーションの実行に使用されます。
- ログインおよびワークフロー・システム・セッションの確立
- ユーザーまたはシステム・キューのポーリング (特定のワークフロー・ステップに関連するオペレーションを検索するため)
- 取得したオブジェクトのロッキング
- ワークの処理 (データの更新の実行または保存など)
- キュー・ポーリングへのサイクル・バック
ワーク・パフォーマーには、次の 2 つのタイプがあります。
- Component Integrator ベース
- デーモン・ベース
Component Integrator ベースのワーク・パフォーマー
このタイプのワーク・パフォーマーは、Java™ クラスまたは Java Message Service (JMS) イベントに基づくコンポーネントです。Java コンポーネントは、ワークフローに関連付けられたすべてのオペレーションの実行に使用できます。Component Integrator は、Java または JMS のコンポーネントとインターフェースをインポートして、ワークフローのステップから利用可能にします。また、Content Platform Engine と Java キューまたは JMS (Java Message Service) キューの間のイベントの通信を管理します。ワークフロー・ステップは、その後 Java コンポーネントを呼び出して、カスタム・オペレーションを実行するか、イベントをメッセージ・キューに送信できます (JMS の場合)。
Component Integrator は、次の機能を利用します。
- Component Manager
Component Manager は、サービス・アダプターを構成し、このアダプターと通信します。実行時に Component Manager は、コンポーネント・キューで、Java Message Service (JMS) または Java コンポーネントによる処理を要求するワーク・アイテムをポーリングします。そして、コンポーネントを要求するワーク・アイテムを該当する次のようなサービス・アダプターに接続します。
- Java アダプター Java アダプターは、Java オブジェクトに対するプロセス呼び出しを処理します。呼び出しは、Content Platform Engine に対してキュー上のオペレーション (ワーク・アイテム) として表されます。ここで、各オペレーションは Java クラスのメソッドによって実行されます。 Java アダプターは、以下の一連のアクションを実行します。
- Java コンポーネントに対してインターフェースを実行します。
- 自動的にコンポーネントからの応答を待機します。
- ワーク・アイテムを更新します。
- 次のワークフロー・ステップにワーク・アイテムをディスパッチします。
- JMS アダプター
メッセージを JMS キューに配置し、関連付けられたワーク・アイテムをディスパッチします。JMS アダプターは、プロセス・イベントのメッセージ・キューへの送信を処理します。この送信は、オペレーションのステップ・エレメントに基づく XML イベントの形式に従います。
- Java アダプター
- コンポーネント・キュー
Java コンポーネントまたは JMS コンポーネントに必要なキューを作成および構成できます。
次の図は、Component Integrator のアーキテクチャーを示します。
- 管理コンソールは、Java コンポーネント (クラス) および JMS コンポーネント (イベント・メッセージ) 用のキューを作成して構成するために使用するツールです。
- Process Designer は、ワークフロー設計用の UI です。Process Designer を使用して、コンポーネント・キューに関連付けられているオペレーションをワークフロー・ステップに挿入できます。
開発の方法については、「Component Integrator ベースのワーク・パフォーマーの開発」を参照してください。
コンポーネント統合の動作方法コンポーネント・ステップは、ワークフロー内のステップとして作成されたコンポーネントです。 実行中のワークフローにコンポーネント・ステップに到達するワーク・アイテムがある場合、Component Integrator は自動的に次の操作を実行します。
- パラメーター値をコンポーネント・メソッドに関連付けるプロセス・オペレーションを定義します。プロセス・オペレーションを使用すると、ワーク・アイテムのフィールド値をコンポーネント・メソッドに渡すことができます。このメソッドは、その後、自動的にワーク・アイテムのフィールド値を更新できます。
- コンポーネント・メソッドからの応答を待機します。
- コンポーネント・メソッドの実行によって生じた変更に従って、ワーク・アイテムのフィールド値を更新します。
Component Integrator は、ワーク・アイテムの値を自動的に更新できます。一方、通常のカスタム・ステップ・プロセッサーによるデータ・フィールド値の更新は自動ではありません。 この場合は、明示的な Process Java API 呼び出しが必要です。
- ワーク・アイテムを保存します。
- ワーク・アイテムをロック解除します。
- ワーク・アイテムを後続のステップにディスパッチすることで、ステップを完了します。
デーモン・ベースのワーク・パフォーマー
デーモン・ベースのワーク・パフォーマーを、ワークフロー・ステップに関連付けられた通常のすべてのオペレーションの実行に使用できます。一方、Component Integrator ベースのワーク・パフォーマーの作業範囲は、ワークフロー内のすべての オペレーションです。デーモン・ベースのワーク・パフォーマーの使用例としては、キューからステップ・オペレーションを取得することが挙げられます。 (Component Integrator ベースのワーク・パフォーマーとは異なり、ポーリングを指定する必要があります)。
Process Java API を使用すると、デーモン・ベースのカスタム・ワーク・パフォーマーを作成できます。詳細については、「デーモン・ベースのワーク・パフォーマーの開発」を参照してください。