ヒューマン・ワークフロー・サービス・クライアント

ヒューマン・ワークフロー・サービスは、次のワークフロー・サービスを公開します。

  • タスク・サービス

  • タスク問合せサービス

  • ユーザー・メタデータ・サービス

  • タスク・エビデンス・サービス

  • タスク・メタデータ・サービス

  • ランタイム構成サービス

  • タスク・レポート・サービス

これらのサービスを使用するには、ワークフロー・サービスに対してAbstract Factoryパターンを使用する必要があります。Abstract Factoryパターンを使用すると、共通のテーマを持つ各ファクトリのグループをカプセル化できます。

次のタスクを実行します。

  • 特定のサービス・タイプに対してIWorkflowServiceClientインスタンスを取得します。WorkflowServiceClientFactoryは、サービス・タイプに従ってIWorkflowServiceClientを取得する静的ファクトリ・メソッドを提供します。

  • IWorkflowServiceClientインスタンスを使用して、使用するサービス・インスタンスを取得します。

サポートされているサービス・タイプは「リモート」と「soap」です。

リモート・クライアントは、Enterprise JavaBeansクライアント(したがってリモートEnterprise JavaBeans)を使用します。SOAPはSOAPクライアントを使用します。各タイプのサービスには、ワークフロー・クライアントを構成する必要があります。「ワークフロー・クライアント構成ファイル - wf_client_config.xml」の最初のコード・サンプルに詳細を示します。

クライアント構成ファイルには、複数の構成についての定義が含まれています。各サーバーには一意の名前が指定されている必要があります。構成ファイルに複数のサーバーを定義した場合は、1つのサーバーのデフォルト属性にtrueを設定する必要があります。workflowServicesClientConfigurationにはserverTypeというオプション属性があり、LOCALREMOTEまたはSOAPのいずれかに設定できます。各サーバーのクライアント・タイプをオーバーライドするには、オプション属性のclientTypeを使用します。

「ワークフロー・クライアント構成ファイル - wf_client_config.xml」の2番目のコード・サンプルに詳細を示します。

2番目の例では、server2でデフォルトのREMOTEclientTypeが使用されていますが、server1ではデフォルトのclientTypeの値をオーバーライドしてSOAPclientTypeが使用されています。wf_client_config.xmlファイルのかわりに、JAXBオブジェクトのWorkflowServicesClientConfigurationTypeが使用されている場合も、同じルールが適用されます。

構成でクライアント・タイプを定義すると、WorkflowServiceClientFactoryクラスのファクトリ・メソッドを使用できます。次のコード・サンプルを参照してください。

public static IWorkflowServiceClient
 getWorkflowServiceClient(WorkflowServicesClientConfigurationType wscc, Logger
 logger) throws WorkflowException

マップでプロパティのCONNECTION_PROPERTY.CLIENT_TYPEを使用してクライアント・タイプを定義すると、次のコード・サンプルに示すファクトリ・メソッドを使用できます。

public static IWorkflowServiceClient getWorkflowServiceClient(Map<CONNECTION_
PROPERTY, String> properties, String serverName,    Logger logger) throws
 WorkflowException