ヒューマン・ワークフロー・サービス・クライアント
ヒューマン・ワークフロー・サービスは、次のワークフロー・サービスを公開します。
-
タスク・サービス
-
タスク問合せサービス
-
ユーザー・メタデータ・サービス
-
タスク・エビデンス・サービス
-
タスク・メタデータ・サービス
-
ランタイム構成サービス
-
タスク・レポート・サービス
これらのサービスを使用するには、ワークフロー・サービスに対してAbstract Factoryパターンを使用する必要があります。Abstract Factoryパターンを使用すると、共通のテーマを持つ各ファクトリのグループをカプセル化できます。
次のタスクを実行します。
-
特定のサービス・タイプに対して
IWorkflowServiceClientインスタンスを取得します。WorkflowServiceClientFactoryは、サービス・タイプに従ってIWorkflowServiceClientを取得する静的ファクトリ・メソッドを提供します。 -
IWorkflowServiceClientインスタンスを使用して、使用するサービス・インスタンスを取得します。
サポートされているサービス・タイプは「リモート」と「soap」です。
リモート・クライアントは、Enterprise JavaBeansクライアント(したがってリモートEnterprise JavaBeans)を使用します。SOAPはSOAPクライアントを使用します。各タイプのサービスには、ワークフロー・クライアントを構成する必要があります。「ワークフロー・クライアント構成ファイル - wf_client_config.xml」の最初のコード・サンプルに詳細を示します。
クライアント構成ファイルには、複数の構成についての定義が含まれています。各サーバーには一意の名前が指定されている必要があります。構成ファイルに複数のサーバーを定義した場合は、1つのサーバーのデフォルト属性にtrueを設定する必要があります。workflowServicesClientConfigurationにはserverTypeというオプション属性があり、LOCAL、REMOTEまたはSOAPのいずれかに設定できます。各サーバーのクライアント・タイプをオーバーライドするには、オプション属性のclientTypeを使用します。
「ワークフロー・クライアント構成ファイル - wf_client_config.xml」の2番目のコード・サンプルに詳細を示します。
2番目の例では、server2でデフォルトのREMOTEのclientTypeが使用されていますが、server1ではデフォルトのclientTypeの値をオーバーライドしてSOAPのclientTypeが使用されています。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