ヒューマン・ワークフロー・サービス・クライアント
ヒューマン・ワークフロー・サービスは、次のワークフロー・サービスを公開します。
-
タスク・サービス
-
タスク問合せサービス
-
ユーザー・メタデータ・サービス
-
タスク・エビデンス・サービス
-
タスク・メタデータ・サービス
-
ランタイム構成サービス
-
タスク・レポート・サービス
これらのサービスを使用するには、ワークフロー・サービスに対して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