プロセスプロパティの設定
1アプリケーションの統合で、[新規]をクリックして[新しいアセット]ウィンドウを開きます。
2[プロセス] > [プロセス]を選択して、[作成]をクリックします。
Process Designerが開きます。
次の画像は、[開始プロパティ]パネルを示しています。
3必須プロパティを入力します。
4必要に応じて、プロセスプロパティを表示または編集するには、[開始]ステップをクリックします。
5[保存]をクリックします。
全般プロパティ
プロセスの次の全般プロパティを指定できます。
プロパティ | 説明 |
---|
名前 | 必須。Process Designerでプロセスを識別するためのわかりやすい名前であり、サブプロセスステップなどの他のオブジェクトでプロセスを使用できる場合に表示される名前。 名前にはマルチバイト文字を含めることができ、80文字以内にする必要があります。 パブリッシュされたプロセスの名前を変更するには、まずプロセスのパブリッシュを解除する必要があります。次に、名前を変更し、プロセスを再パブリッシュします。 |
API名のオーバーライド | オプション。指定した名前のプロセスをパブリッシュするときに自動生成されるAPI名をオーバーライドします。このオプションを選択すると、[API名]フィールドが使用できるようになります。 |
API名 | [API名のオーバーライド]オプションを選択する場合は必須です。 プロセスに対して自動生成されたAPI名をオーバーライドする一意のAPI名。このフィールドで指定するAPI名は、生成されたサービスURLで使用されます。 API名に使用できるのは英数字、アンダースコア(_)、ハイフン(-)のみです。80文字以内にする必要があります。 パブリッシュされたプロセスのAPI名を変更するには、まずプロセスのパブリッシュを解除する必要があります。次に、API名を変更し、プロセスを再パブリッシュします。 API名をオーバーライドし、プロセスをインポートすると、インポートされたプロセスでは指定したAPI名が使用されます。ただし、指定したものと同じAPI名の既存プロセスがある場合、アプリケーション統合では重複を避けるためにインポートされたプロセスに対し自動生成されたAPI名が使用されます。また、アプリケーション統合では[API名のオーバーライド]フィールドが無効化されます。同様に、プロセスをコピーすると、アプリケーション統合では重複を避けるためにコピーされたプロセスに対し自動生成されたAPI名が使用され、また、[API名のオーバーライド]フィールドが無効化されます。 API名をオーバーライドし、プロセスを別の場所に移動すると、アプリケーション統合では指定したAPI名が保持されます。 |
場所 | オプション。プロセスを配置するプロジェクトまたはフォルダの場所。プロセスの場所を選択するには、該当するプロジェクトまたはフォルダを参照するか、デフォルトの場所を使用します。 |
説明 | オプション。プロセスの説明。 |
開始プロパティ
[開始]タブをクリックして、バインディングタイプ、アクセスの詳細、およびランタイム環境の詳細を定義します。
プロセス用に次の開始プロパティを定義できます。
- バインディング
- [バインディング]プロパティでは、プロセスの呼び出しおよび実行方法を定義します。
次の値から選択することができます。
- - REST/SOAP: サービスURLを使用してプロセスを実行する場合は、[REST/SOAP]バインディングタイプを選択します。このオプションを選択した場合は、[許可されたグループ]および[許可されたユーザー]フィールドを使用して、パブリッシュされたプロセスをAPIとして実行できるグループおよびユーザーを定義できます。ユーザーを割り当てない場合は、[匿名アクセスを許可]オプションを選択します。
- - イベント: 指定したイベントが発生したときにプロセスが呼び出されるようにするには、[イベント]バインディングタイプを選択します。例えば、ファイルシステムへのファイル到着などのイベントが発生したときにプロセスを呼び出すことができます。イベントソースを選択できる[イベントソース名]フィールドを使用できます。
デフォルトは[REST/SOAP]です。
- 許可されたグループ
- 実行時にプロセスのサービスURLへのアクセス権を持つグループ。グループ内のユーザーが実行の特権も持っている場合は、プロセスのサービスURLを起動できます。
ユーザーグループにサービスURLへのアクセス権を付与する場合は、[許可されたグループ]フィールドを使用します。例えば、「Order Approvers」というグループがある場合を考えます。[許可されたグループ]フィールドに「Order Approvers」と入力すると、このグループ内のすべてのユーザーがサービスURLにアクセスできるようになります。
次の図は、[許可されたグループ]フィールドにOrder Approversグループが追加されているところを示します。
フィールドには、複数のグループを入力できます。
[許可されたグループ]フィールドと[許可されたユーザー]フィールドを設定できます。ユーザーが[許可されたグループ]または[許可されたユーザー]のいずれかのカテゴリに当てはまる場合、そのユーザーはサービスURLにアクセスできます。
[許可されたグループ]フィールドまたは[許可されたユーザー]フィールドを設定し、[匿名アクセスを許可]オプションを選択すると、入力したグループまたはユーザーの詳細情報は表示されなくなります。
[匿名アクセスを許可]オプションを選択すると、[許可されたグループ]フィールドおよび[許可されたユーザー]フィールドは編集できなくなります。
[許可されたグループ]フィールドまたは[許可されたユーザー]フィールドを設定しない場合、または[匿名アクセスを許可]オプションを選択しない場合、このプロセスで利用できるサービスURLはありません。ただし、プロセスをサブプロセスとして呼び出すことはできます。
APIマネージャにプロセスを表示する場合は、[匿名アクセスを許可]オプションを選択するか、[許可されたグループ]フィールドまたは[許可されたユーザー]フィールドを設定する必要があります。API管理の詳細については、「APIマネージャ」のヘルプを参照してください。
プロセスが[許可されたグループ]または[許可されたユーザー]フィールドを使用している場合、次のいずれかの方法を使用して、PostmanなどのRESTクライアントを通じてプロセスを呼び出すことができます。
- - 基本認証を使用し、ユーザー名とパスワードを入力します。
- - ユーザー名とパスワードを指定せずにプロセスを呼び出すには、HTTPヘッダーのセッションIDを使用します。
例えば、Postmanを使用してプロセスサービスURLを呼び出すには、次のいずれかの方法でGET要求を認証します。
- - 基本認証を使用し、Informatica Intelligent Cloud Servicesのユーザー名およびパスワードを指定します。
例:
GET <Informatica Intelligent Cloud Services URL>/active-bpel/rt/<API unique name>
Accept: application/json
Authorization: Basic Auth
username: <Informatica Intelligent Cloud Services user name>
password: <Informatica Intelligent Cloud Services password>
- - HTTPヘッダーのIDS-SESSION-IDを使用します。
例:
GET <Informatica Intelligent Cloud Services URL>/active-bpel/rt/<API unique name>
Accept: application/json
IDS-SESSION-ID: <sessionId>
SESSION-IDを取得するには、Platform REST APIバージョン3ログインリソースを使用します。ログインリソースの詳細については、『REST APIリファレンス』を参照してください。
- 許可されたユーザー
- 実行時にプロセスのサービスURLへのアクセス権を持つユーザー。ユーザーが実行の特権も持っている場合は、プロセスのサービスURLを起動できます。
特定のユーザーにサービスURLへのアクセス権を付与する場合は、[許可されたユーザー]フィールドを使用します。
次の図では、[許可されたユーザー]フィールドにユーザーjsmithが表示され、[許可されたグループ]フィールドに[Order Approvers]が表示されています。
このプロセスで、Order Approversグループのユーザーと、ユーザーjsmithはサービスURLへのアクセス権を持ちます。
フィールドには、複数のユーザーを入力できます。
[許可されたグループ]フィールドまたは[許可されたユーザー]フィールドを設定し、[匿名アクセスを許可]オプションを選択すると、入力したグループまたはユーザーの詳細情報は表示されなくなります。
[匿名アクセスを許可]オプションを選択すると、[許可されたグループ]フィールドおよび[許可されたユーザー]フィールドは編集できなくなります。
[許可されたグループ]フィールドまたは[許可されたユーザー]フィールドを設定しない場合、または[匿名アクセスを許可]オプションを選択しない場合、このプロセスで利用できるサービスURLはありません。ただし、プロセスをサブプロセスとして呼び出すことはできます。
APIマネージャにプロセスを表示する場合は、[匿名アクセスを許可]オプションを選択するか、[許可されたグループ]フィールドまたは[許可されたユーザー]フィールドを設定する必要があります。API管理の詳細については、「APIマネージャ」のヘルプを参照してください。
プロセスが[許可されたグループ]または[許可されたユーザー]フィールドを使用している場合、次のいずれかの方法を使用して、PostmanなどのRESTクライアントを通じてプロセスを呼び出すことができます。
- - 基本認証を使用し、ユーザー名とパスワードを入力します。
- - ユーザー名とパスワードを指定せずにプロセスを呼び出すには、HTTPヘッダーのセッションIDを使用します。
例えば、Postmanを使用してプロセスサービスURLを呼び出すには、次のいずれかの方法でGET要求を認証します。
- - 基本認証を使用し、Informatica Intelligent Cloud Servicesのユーザー名およびパスワードを指定します。
例:
GET <Informatica Intelligent Cloud Services URL>/active-bpel/rt/<API unique name>
Accept: application/json
Authorization: Basic Auth
username: <Informatica Intelligent Cloud Services user name>
password: <Informatica Intelligent Cloud Services password>
- - HTTPヘッダーのIDS-SESSION-IDを使用します。
例:
GET <Informatica Intelligent Cloud Services URL>/active-bpel/rt/<API unique name>
Accept: application/json
IDS-SESSION-ID: <sessionId>
SESSION-IDを取得するには、Platform REST APIバージョン3ログインリソースを使用します。ログインリソースの詳細は、『REST APIリファレンス』を参照してください。
- APIゲートウェイからのHTTP認証要求のみを承認します。
- このオプションを使用して、プロセスに対しOAuth2認証を有効にし、APIをAPIゲートウェイからのHTTP認証要求のみを承認するように設定します。
APIをAPIゲートウェイから呼び出すには、次のユーザーが設定タスクを完了する必要があります。
- APIプロバイダ
APIプロバイダは次のタスクを実行する必要があります。
- 1APIマネージャでプロセスに対して管理対象APIを作成し、管理対象APIに対してOAuth2認証を有効にします。
- 2APIマネージャでOAuth2クライアントを作成し、クライアントIDとクライアントシークレットを生成します。
- 3Informatica Intelligent Cloud Services OAuth 2.0サーバーURLとクライアント資格情報をAPIコンシューマに送信します。
- APIコンシューマ
APIコンシューマは次のタスクを実行する必要があります。
- 1Informatica Intelligent Cloud Services OAuth 2.0サーバーに対して認証し、OAuth 2.0クライアント資格情報を使用して、OAuth 2.0認証トークンを生成します。
- 2OAuth 2.0認証トークンを使用してAPIを呼び出します。
OAuth2クライアントの作成とOAuth2認証を使用したAPIの呼び出しに関する詳細については、「APIマネージャ」のヘルプを参照してください。
注: クラウドサーバーで実行するプロセスにのみ[APIゲートウェイからのHTTP認証要求のみを承認します]オプションを使用できます。[APIゲートウェイからのHTTP認証要求のみを承認します]オプションを使用しているプロセスは、1つまたは複数のプロセス入力を使用してスケジュールし、実行することもできます。
- 匿名アクセスを許可
- 選択すると、誰でもProcess Designerでこのプロセスを使用できるようになります。これは、このプロセスへのアクセスが、特定のユーザーやユーザーグループに縛られないことを意味します。
[匿名アクセスを許可]オプションを選択すると、[許可されたグループ]フィールドおよび[許可されたユーザー]フィールドは編集できなくなります。
[許可されたグループ]フィールドまたは[許可されたユーザー]フィールドを設定し、[匿名アクセスを許可]オプションを選択すると、入力したグループまたはユーザーの詳細情報は表示されなくなります。
[許可されたグループ]フィールドまたは[許可されたユーザー]フィールドを設定しない場合、または[匿名アクセスを許可]オプションを選択しない場合、このプロセスで利用できるサービスURLはありません。ただし、プロセスをサブプロセスとして呼び出すことはできます。
APIマネージャにプロセスを表示する場合は、[匿名アクセスを許可]オプションを選択するか、[許可されたグループ]または[許可されたユーザー]フィールドを使用する必要があります。API管理の詳細については、「APIマネージャ」のヘルプを参照してください。
- 適用対象
- プロセスに関連付けられているオブジェクトのタイプ。このリストに表示されるオブジェクトは、個別に定義したプロセスオブジェクトまたは定義済みの接続内で生成したプロセスオブジェクトです。リスト内をドリルダウンしてプロセスオブジェクトと接続を表示し、これらの項目の1つを選択します。プロセスが別のプロセスに組み込まれる場合にのみ、プロセスオブジェクトを選択します。
注: パブリッシュされたプロセスの[適用対象]プロパティを変更するには、まずプロセスのパブリッシュを解除する必要があります。次に、[適用対象]プロパティを変更し、プロセスを再パブリッシュします。
次の2つの特別な値があります。
- 実行日時
- このリストを使用して、このプロセスを実行する必要がある場所を指定します。選択できるのは、[クラウドサーバー]、特定のエージェント、またはSecure Agentグループです。
プロセスがイベントベースのコネクタを使用する場合は、コネクタの実行場所と同じエージェントでプロセスを実行するようにします。
プロセスがパブリッシュ済み状態の場合、[実行日時]リストは無効になっています。[実行日時]リストを有効にするには、まずプロセスのパブリッシュを解除する必要があります。次に、[実行日時]フィールド値を変更し、プロセスを再パブリッシュします。
プロセスにヒューマンタスクステップを含める場合は、クラウドサーバーでプロセスを実行する必要があります。
入力フィールドのプロパティ
プロセスに対して使用できる入力フィールドは、プロセスの適用先のオブジェクトに含まれるフィールドです。これは、[適用対象]プロパティ([開始]タブ)で指定されます。
[入力]フィールドの値は、プロセスのすべてのステップ内で使用できます。プロセスで使用するために、入力フィールドのカテゴリに対して名前とタイプを定義する必要があります。
プロパティ | 説明 |
---|
入力形式 | 入力フィールドが1つまたは複数のフィールドを表せるか、要求のコンテンツ全体を表せるかを決定します。[ペイロード全体]を選択した場合、入力フィールドは、要求のコンテンツ全体を表します。例えば、顧客のプロセスオブジェクトがある場合、そのコンテンツは次のようになる場合があります。 "customer": {"name" :"Joe Smith", "street":"3 Main St", "city":"Shelton", "state":"CT"}} このオプションを選択した場合、次の内容がポストされます。 {"name" :"Joe Smith", "street":"3 Main St", "city":"Shelton", "state":"CT"} |
名前 | 入力フィールドの名前です。 |
タイプ | 入力フィールドのタイプ。例えば、[日付]、[日付/時刻]、[時間]、[整数]、または[テキスト]を選択します。 単純型、カスタムタイプ、または定義された接続タイプの入力フィールドを追加することもできます。入力フィールドを追加するには、[タイプをさらに表示]を選択し、[タイプの編集]ダイアログボックスで、[カテゴリ]に[単純型]、[カスタムタイプ]、または[定義された接続タイプ]を選択します。 |
説明 | 入力フィールドの説明です。 |
必須 | フィールドがプロセスの実行に必要な場合は、[必須]を選択します。 |
フィールドの詳細については、
データ型とフィールドプロパティの概要を参照してください。
XMLペイロード
JSON構文では、ルートコンテナは必要ありません。ただし、ペイロードがXMLの場合、ルート要素は必要です。XMLを送信する場合、Process Designerは常にルートノードを追加します。ペイロードがXMLの場合、Process Designerは、要求を送信するときに、常にルートノードを追加します。
例えば、XMLがラップされている場合は、次のようになります。
<root>
<oAddressPO>
<Street>3 Enterprise Drive</Street>
<State>CT</State>
<Zipcode>6484.0</Zipcode>
<City>Shelton</City>
</oAddressPO>
<oAddressPO>
<Street>31 Enterprise Drive</Street>
<State>CT1</State>
<Zipcode>106484.0</Zipcode>
<City>Shelton1</City>
</oAddressPO>
</root>
XMLがラップされていない場合は、次のようになります。
<root>
<_1>
<Street>3 Enterprise Drive</Street>
<State>CT</State>
<Zipcode>6484.0</Zipcode>
<City>Shelton</City>
</_1>
<_2>
<Street>31 Enterprise Drive</Street>
<State>CT1</State>
<Zipcode>106484.0</Zipcode>
<City>Shelton1</City>
</_2>
</root>
出力フィールドのプロパティ
プロセスに対して使用できる出力フィールドは、プロセスの適用先のオブジェクトに含まれるフィールドです。これは、[適用対象]プロパティ([開始]タブ)で指定されます。
[出力]フィールドの値は、プロセスの実行時に設定され、後続のステップ内で使用できるようになります。出力フィールドは、組み込みプロセス内で使用する目的でのみ、定義します。これらの出力フィールドは、値が組み込みプロセスから返されるまでは、リストに表示されません。プロセスで使用するために、出力フィールドのカテゴリに対して名前とタイプを定義します。
プロパティ | 説明 |
---|
出力形式 | 出力フィールドが1つまたは複数の応答フィールドを表せるか、応答のコンテンツ全体を表せるかを決定します。[ペイロード全体]を選択した場合、出力フィールドは、応答のコンテンツ全体を表します。 |
名前 | 出力フィールドの名前です。 |
タイプ | 出力フィールドのタイプです。例えば、[日付]、[日付/時刻]、[時間]、[整数]、または[テキスト]を選択します。 単純型、カスタムタイプ、または定義された接続タイプの出力フィールドを追加することもできます。入力フィールドを追加するには、[タイプをさらに表示]を選択し、[タイプの編集]ダイアログボックスで、[カテゴリ]に[単純型]、[カスタムタイプ]、または[定義された接続タイプ]を選択します。 |
説明 | 出力フィールドの説明です。 |
初期値 | 出力フィールドの初期値です。 |
フィールドの詳細については、
データ型とフィールドプロパティの概要を参照してください。
一時フィールドのプロパティ
プロセスに対して使用できる一時フィールドは、プロセスの適用先のオブジェクトに含まれるフィールドです。これは、[適用対象]プロパティ([開始]タブ)で指定されます。
一時フィールドの値は、現在のプロセスのすべてのステップ内で使用されます。ただし、一時フィールドの値は、組み込みプロセス内で使用できるようにはなりません。プロセスで使用するために、一時フィールドのカテゴリに対して名前とタイプを定義します。
プロパティ | 説明 |
---|
名前 | 一時フィールドの名前です。 |
タイプ | 一時フィールドのタイプです。例えば、[日付]、[日付/時刻]、[数値]、[パーセント]、[時間]、[通貨]、[整数]、または[テキスト]を選択します。 単純型、カスタムタイプ、または定義された接続タイプの一時フィールドを追加することもできます。入力フィールドを追加するには、[タイプをさらに表示]を選択し、[タイプの編集]ダイアログボックスで、[カテゴリ]に[単純型]、[カスタムタイプ]、または[定義された接続タイプ]を選択します。 |
説明 | 一時フィールドの説明です。 |
初期値 | 一時フィールドの初期値です。データ型が数値、パーセント、通貨、または整数の場合、デフォルトは0です。 |
フィールドの詳細については、
データ型とフィールドプロパティの概要を参照してください。
メッセージのプロパティ
必要に応じて、このプロセスに1つまたは複数のメッセージイベントを定義できます。
各メッセージに対し、次のプロパティ(開始イベントと類似)を定義できます。
プロパティ | 説明 |
---|
入力フィールド | フィールド名を指定します。 各入力フィールドのタイプを選択します。例えば、[日付]、[日付/時刻]、[時間]、[整数]、または[テキスト]を選択します。 単純型、カスタムタイプ、または定義された接続タイプの入力フィールドを追加することもできます。入力フィールドを追加するには、[タイプをさらに表示]を選択し、[タイプの編集]ダイアログボックスで、[カテゴリ]に[単純型]、[カスタムタイプ]、または[定義された接続タイプ]を選択します。 メッセージが有効であるためにこのフィールドが必要な場合、[必須]を選択します。 このフィールドが、相関メッセージ受信イベントに使用される場合、[相関の使用]を選択します。 |
出力フィールド | フィールド名を指定します。 各出力フィールドのタイプを選択します。例えば、[日付]、[日付/時刻]、[時間]、[整数]、または[テキスト]を選択します。 単純型、カスタムタイプ、または定義された接続タイプの出力フィールドを追加することもできます。入力フィールドを追加するには、[タイプをさらに表示]を選択し、[タイプの編集]ダイアログボックスで、[カテゴリ]に[単純型]、[カスタムタイプ]、または[定義された接続タイプ]を選択します。 |
バインディング | メッセージの呼び出し方法に応じて、[REST/SOAP]または[イベント]を選択します。 |
許可ユーザー/グループ | このメッセージにアクセスできるユーザーおよびグループを入力します。 |
匿名アクセスを許可 | 選択した場合、どのユーザーも認証を受けずにこのメッセージを使用できます。 注: このオプションを有効にすると、Process Designerは[許可ユーザー/グループ]を使用して設定された制限を無視します。 |
入力形式がペイロード全体 | 入力フィールドは、このメッセージに含まれた要求のコンテンツ全体を表します。 |
出力形式がペイロード全体 | 出力フィールドは、応答のコンテンツ全体を表します。これにより、ペイロードが変わる方法は、入力フィールドの場合と同じです。 |
フィールドの詳細については、
データ型とフィールドプロパティの概要を参照してください。
相関メッセージイベント
プロセスを設計するときに、受信ステップに関連してメッセージイベントを使用し、プロセスの実行が開始された後に、プロセスと対話できます。例えば、次のようにできます。
- •プロセスのステータスのクエリ
- •データの更新、またはプロセスへのコントロールの提供
プロセスエンジンは、プロセスを一意に識別する1つまたは複数の入力パラメータに基づいて、相関メッセージイベントを対象のビジネスプロセスインスタンスとマッチングします。
例えば、注文発注プロセスにOrderIdプロパティがあるとします。メッセージはOrderIdの値を注文プロセスのさまざまな部分に異なる名前で格納でき、特定のプロセスインスタンスを一意のOrderIdと関連付けます。相関するOrderIdを持つメッセージが到着すると、正しいプロセスインスタンスにディスパッチされます。必要な数の相関セットを作成できます。
相関によって着信メッセージは対象のビジネスプロセスインスタンスとマッチングされるため、ビジネスプロセスで非同期の要求/応答パターンをサポートできます(これに対し、同期呼び出しの場合、メッセージコンテキストがスタック上またはTCP接続を介して維持されるため、相関に依存する必要がありません)。
メッセージイベントは、プロセスレベルで定義します。メッセージイベントは、中断または非中断のいずれかにできます。
相関を使用する前に
相関メッセージ受信イベントのセットを定義する前に、次の手順を実行します。
- •相関が必要なProcess Designerの手順を特定します。共通のデータを1つ以上共有する必要があります。
- •共通データを識別するプロパティを定義します。
- •Process Designerでこれを実装できるように、データの相関セットを定義します。
メッセージイベントのデザインガイドライン
相関メッセージイベントを定義するときは、次の点に注意してください。
- •プロセスプロパティで定義する各メッセージイベントについて、少なくとも1つの入力フィールドを[相関の使用]として指定する必要があります。この入力フィールドが参照タイプ(プロセスオブジェクト)の場合、単純型のフィールドへのパスも指定します(「フィールド」または「計算式」を選択)。
- •イベントの入出力はプロセスのフィールドとして使用できますが、受信ステップのダウンストリームでのみ使用できます(サービスステップの出力と同様)。
- •複数のメッセージイベント定義を使用し、異なるメッセージイベント内の2つの入力パラメータの名前が同じ場合、入力パラメータを相関に使用するには、それらが同じタイプと同じ相関パスである必要があります。そうすることで、ステップの相関の値が1つであることを保証できます。
中断または非中断のどちらであるかも指定します。
中断メッセージイベントを使用した場合、次のようになります。
- •イベントはステップを終了します。
- •イベントパスは、メインのパスと統合できます。
- •イベントパスにはマイルストーンが必要です。このマイルストーンは、メッセージイベント受信ステップへの応答として機能します。
非中断メッセージイベントを使用した場合、次のようになります。
- •プロセスはメッセージイベントを待機しません。
- •イベントパスは、終了ステップで終了する必要があります。これは、メッセージイベント受信ステップへの応答として機能します。
メッセージイベントを呼び出すためのクライアントの相互作用
メッセージイベントはプロセスと同様に呼び出せますが、使用するエンドポイントが異なります。例えば、プロセスを開始するエンドポイントは次のようになります。
…/active-bpel/public/rt/00000I/OrderProcessor
特定のメッセージイベントを呼び出すには、次のようなエンドポイントを使用します。
…/active-bpel/public/rt/00000I/OrderProcessor/event/CheckOrderStatus
相関メッセージイベントに関連する概念の詳細については、プロセス開発者向けガイドも参照してください。
詳細プロパティ
詳細プロパティを設定して、プロセスに対するフォールトの処理、追跡、およびオリジン間リソース共有(CORS)サポートを定義することができます。
以下の詳細プロパティを設定できます。
フォルト時に一時停止
デフォルトでは、キャッチされないフォールトが発生した場合、プロセスサーバーによりプロセスが終了されます。キャッチされないフォールト時に個々のプロセスを中断するように、Process Designerを設定できます。
[フォールト時に一時停止]オプションを選択した場合、キャッチされないフォールトが発生すると、プロセスサーバーはプロセスを中断します。[フォールト時に一時停止]オプションを選択しない場合、フォールトが発生し、プロセスがそのフォールトを明示的に処理しないときには、プロセスサーバーはプロセスを終了します。
プロセスが中断状態にある場合は、エラー状態を確認して特定してください。その後、アクティビティを再試行するか完了できます。例えば、従業員または顧客のオンボーディング中に、エラー状態を捕捉できます。エラーをすべて解決すると、プロセスは中断状態から脱し、フォールトが発生したステップから実行を継続します。
[フォールト時に一時停止]オプションを選択すると、Process Designerは完全な永続性を使用します。
注: プロセス固有のプロパティは、アプリケーション統合コンソールでユーザーが指定するその他の例外管理設定と連動します。
フォールトの管理と修正方法については、『監視』を参照してください。
トレースレベル
次のいずれかのトレースレベルを設定して、プロセスのランタイム時におけるロギングのタイプを決定することができます。
Process Designerで設定するトレースレベルは、次の表に示すように、Process Developerの永続レベルとログレベルにマッピングされます。
トレースレベル | 永続レベル | ログレベル |
---|
なし | 簡易 | なし |
簡易 | 簡易 | フォルト |
ノーマル | 簡易 | サービスデータを使用した実行 |
詳細 | 最終段階 | データを使用した実行 |
- 永続レベル
ここで設定するトレースレベルにかかわらず、プロセスサーバーは、次の状況では完全な永続性を使用します。
- - [キャッチされないフォールト時に中断]オプションを選択した場合
- - プロセスにタイマ(待機ステップなど)、メッセージイベント、または受信イベントが含まれている場合
- - プロセスが、サブプロセス連携を提供するために別のプロセスを呼び出した場合
各種永続レベルの詳細については、『監視』を参照してください。
- ログレベル
- プロセスサーバーのログレベルは、個々のプロセスに対して設定するログレベルよりも低い場合があります。プロセスレベルで設定するログレベルにかかわらず、プロセスサーバーに指定した最大プロセスログレベルをロギングが超えることはありません。トレースレベルの表は、ログレベルと永続レベルの間のマッピングを示しています。
各種ログレベルの詳細については、『管理者』のオンラインヘルプを参照してください。
トレースレベルの自動リセット
クラウドサーバー上で実行するように構成されたプロセスで、トレースレベルを[詳細]または[標準]に設定している場合、トレースレベルは必要に応じて、サーバーによって[フォールト]にリセットされます。この自動リセット機能は、実行時ログによるプロセス実行時間を短縮するのに役立ちます。
CORSの有効化
デフォルトでは、APIコンシューマは、サービスURLの一部であるドメインからプロセスを呼び出すことができます。APIコンシューマは、GET、POST、PATCH、PUT、DELETEの各動詞を使用してプロセスを呼び出すことができます。
[CORSの有効化]オプションを選択すると、プロセスに対するオリジン間リソース共有(CORS)サポートが有効になります。CORSサポートで許可されるドメインおよび動詞を指定することもできます。
[ドメイン]フィールドには、APIコンシューマがプロセスを呼び出すことができる追加の許可されているドメインを指定します。すべてのドメインでCORSを有効にするには、ワイルドカード文字(*)を入力します。特定のドメインでCORSを有効にするには、ドメインのカンマ区切りリストを入力します。例えば、abc.domain.comドメインとxyz.domain.comドメインでCORSを有効にするには、次の句を入力します。
abc.domain.com,xyz.domain.com
CORSを有効にしても[ドメイン]フィールドを空のままにすると、サービスURLの一部であるドメインからしかプロセスを呼び出すことはできません。
[ドメイン]フィールドで指定したドメインからプロセスを呼び出す場合にAPIコンシューマが使用できる、許可されている動詞を[動詞]フィールドに指定します。特定の動詞に対してCORSを有効にするには、動詞のカンマ区切りリストを入力します。例えば、POST、PUT、GETの各動詞でCORSを有効にするには、次の句を入力します。
POST,PUT,GET
デフォルトはすべての動詞です。
APIコンシューマはサービスURLの一部であるドメインから、プロセスとすべての動詞を呼び出すことができます。
付記
[付記]タブを使用して、自分または他の開発者が必要とする可能性がある情報を追加します。入力した付記は、設計時にのみ表示されます。ガイドまたはプロセスのユーザーやコンシューマに付記は表示されません。例えば、プロセスやガイドをデプロイする前に、実行する必要がある事柄についての通知を追加できます。
プロセスのフィールド値の更新
更新リソースを使用して、既存のプロセスの次のフィールドの値を更新できます。
- •許可されたユーザー/許可されたグループ/匿名アクセスを許可
- •APIゲートウェイからのHTTP認証要求
- •実行日時
- •トレースレベル
単一プロセスまたは複数のプロセスのフィールドを更新できます。更新リソースを使用してプロセスを更新するには、管理者、デプロイヤ、デザイナ、またはオペレータのロールが割り当てられている必要があります。
PostmanなどのRESTクライアントで入力データとして更新するプロセスとフィールドを追加できます。入力データは、プロセスのグローバル識別子/グローバル一意識別子(GUID)と、更新されるデプロイメントのキーと値のペアで構成されます。GUIDの詳細については、データ統合ヘルプの「REST APIリファレンス」にある「ルックアップリソース」と「アセット検索リソース」を参照してください。
フィールド値を取得するには、次のURLを使用します。
<Informatica Intelligent Cloud Services URL>/active-bpel/asset/v1/update?assetType=Process
次のサンプルに示すように、入力データを追加できます。
PUT <baseApiUrl>/active-bpel/asset/v1/update?assetType=Process
Content-Type: application/json
Accept: application/json
INFA-SESSION-ID: <Infa-Session-ID>
{
"processes": [
{
"guid": {
"$t": "<guidvalue>"
},
"deployment": [
{
"key": {
"$t": "Allow Anonymous Access"
},
"value": {
"$t": "true"
}
},
{
"key": {
"$t": "Run On"
},
"value": {
"$t": "cloud server"
}
},
{
"key": {
"$t": "Tracing Level"
},
"value": {
"$t": "normal"
}
}
]
}
]
}
ログインリソースを使用して、INFA-SESSION-IDを取得できます。ログインリソースの詳細については、データ統合ヘルプの「REST APIリファレンス」を参照してください。
フィールドが正常に更新されると、次の応答を受け取ります。
{
"status": {
"$t": "SUCCESS"
}
}
無効なSecure Agentを入力すると、次の応答が返されます。
{
"status": {
"$t": "FAILED"
},
"errorDetails": {
"error": {
"$t": "Update failed for assets"
},
"failedAssets": {
"updateAssetFaultInfo": {
"xmlns": "https://com.informatica.icrt/2021/08/updateAssets.xsd",
"xmlns$aetgt": "https://com.informatica.icrt/2021/08/updateAssets.xsd",
"name": {},
"GUID": {
"$t": "<Incorrect guid value>"
},
"fault": {
"$t": "The Secure Agent is not valid. Specify a valid Secure Agent."
}
}
}
}
}
プロセス内のフィールドを更新する際のルールとガイドライン
更新リソースを使用してプロセス内のフィールドを更新する場合は、次のルールとガイドラインを考慮してください。
- •「許可されたユーザー/許可されたグループ」フィールドまたは「匿名アクセスを許可」フィールドのいずれかを一度に設定する必要があります。そうしないと、エラーが発生します。
- •APIゲートウェイからのHTTP認証要求、または[匿名アクセスを許可]フィールドのいずれかを一度に設定する必要があります。そうしないと、エラーが発生します。
- •APIゲートウェイからのHTTP認証要求と[匿名アクセスを許可]フィールドでは、値をtrueまたはfalseとして指定する必要があります。それ以外の値(yesまたはnoなど)を指定すると、エラーが発生します。
- •[トレースレベル]フィールドには、[なし]、[簡易]、[標準]、[詳細]のいずれかの値を指定する必要があります。そうしないと、エラーが発生します。
- •APIゲートウェイからのHTTP認証要求の値をtrueに設定する場合は、[次の設定で実行(ランタイム環境)]フィールドの値を[クラウドサーバー]として指定する必要があります。[次の設定で実行]の値を[Secure Agent]として指定すると、エラーが発生します。
- •パブリッシュ済みプロセスのランタイム環境の値を更新する場合は、まずプロセスをパブリッシュ解除する必要があります。