IICS(CAI)のプロセス呼び出し設定によるエンドポイントの違い

2020.11.02

はじめに

データアナリティクス事業本部のkobayashiです。

Informatica Intelligent Cloud Services(以降、IICS)はオンプレミスおよびクラウド環境に置かれているデータサービスとアプリケーションサービスを統合するiPaaS(integration Platform as a Service)製品です。

IICSの機能の一つであるInformatica Cloud Application Integration(以降、CAI)ではAPIをGUIの操作で簡単に構築することができます。

CAIではアプリケーション接続を作成することでプロセス内のサービスステップから作成した様々なサービスを呼び出すことができます。

APIを作る前提でプロセスを作成する場合REST/SOAPでプロセスを呼び出すことができますが、呼び出し設定によりエンドポイントの種類が8パターンほどできるのでそれをまとめます。

プロセス(API)の呼び出し設定

初めにプロセスを作成すると開始ステップの開始タブ内でプロセスの呼び出し方法を設定できますが、その際に 「アクセス許可の方法」と「ランタイム環境」の設定を行います。

またパブリッシュするとREST用とSOAP用のエンドポイントが作成され、プロセスの詳細で確認できます。

このエンドポイントはここで設定した

  • アクセス許可の方法 :「匿名アクセスを許可」or「特定ユーザー、グループに許可」
  • ランタイム環境 : 「クラウドサーバー(インフォマティカのサーバー)」or「SecureAgent」
  • REST/SOAP : 「REST」or 「SOAP」

の組み合わせで決まり、エンドポイントのパターンは合計8種類できることになりますのでそれぞれのパターン別にエンドポイントがどうなるかを確認したいと思います。

匿名アクセス ✕ クラウドサーバー

プロセス名はp_hello_world_publicとなります。 一番単純なパターンです。

REST/SOAP エンドポイント
REST https://{IICSホスト名}/active-bpel/public/rt/{サービス名}/p_hello_world_public
SOAP https://{IICSホスト名}/active-bpel/public/soap/{サービス名}/p_hello_world_public

特定ユーザー、グループ ✕ クラウドサーバー

プロセス名はp_hello_worldとなります。 ランタイム環境はクラウドサーバーのままですが、アクセス許可を特定のユーザー・グループで行ったパターンです。

REST/SOAP エンドポイント
REST https://{IICSホスト名}/active-bpel/rt/p_hello_world
SOAP https://{IICSホスト名}/active-bpel/soap/p_hello_world

匿名アクセス ✕ SecureAgent

プロセス名はp_hello_world_sa_publicとなります。 アクセス許可は匿名アクセスを行いますが、ランタイム環境は用意したSecureAgentのパターンです。

REST/SOAP エンドポイント
REST https://{SecureAgentのアドレスorホスト名}:7443/process-engine/public/rt/p_hello_world_sa_public
SOAP https://{SecureAgentのアドレスorホスト名}:7443/process-engine/public/soap/p_hello_world_sa_public

これに加えてSecureAgentの場合は証明書なしのアクセスも行えます。その場合のエンドポイントは以下になります。

REST/SOAP エンドポイント
REST http://{SecureAgentのアドレスorホスト名}:7080/process-engine/public/rt/p_hello_world_sa_public
SOAP http://{SecureAgentのアドレスorホスト名}:7080/process-engine/public/soap/p_hello_world_sa_public

特定ユーザー、グループ ✕ SecureAgent

プロセス名はp_hello_world_saとなります。 特定ユーザー・グループに対してアクセス許可を行った上でランタイム環境も用意したSecureAgentのパターンです。

REST/SOAP エンドポイント
REST https://{SecureAgentのアドレスorホスト名}:7443/process-engine/rt/p_hello_world_sa_public
SOAP https://{SecureAgentのアドレスorホスト名}:7443/process-engine/soap/p_hello_world_sa_public

こちらのパターンもさきほど同様に証明書なしのアクセスも行えます。その場合のエンドポイントは以下になります。

REST/SOAP エンドポイント
REST http://{SecureAgentのアドレスorホスト名}:7080/process-engine/rt/p_hello_world_sa_public
SOAP http://{SecureAgentのアドレスorホスト名}:7080/process-engine/soap/p_hello_world_sa_public

全パターンのまとめ

全パターンをまとめると以下の様になります。

RESTの場合

匿名アクセス 特定ユーザー、グループ
クラウドサーバー https://{IICSホスト名}/active-bpel/public/rt/{サービス名}/{プロセス名} https://{IICSホスト名}/active-bpel/rt/{プロセス名}
SecureAgent https://{SecureAgentのアドレスorホスト名}:7443/process-engine/public/rt/{プロセス名} https://{SecureAgentのアドレスorホスト名}:7443/process-engine/rt/{プロセス名}

SOAPの場合

匿名アクセス 特定ユーザー、グループ
クラウドサーバー https://{IICSホスト名}/active-bpel/public/soap/{サービス名}/{プロセス名} https://{IICSホスト名}/active-bpel/soap/{プロセス名}
SecureAgent https://{SecureAgentのアドレスorホスト名}:7443/process-engine/public/soap/{プロセス名} https://{SecureAgentのアドレスorホスト名}:7443/process-engine/soap/{プロセス名}

*ただし、SecureAgentへhttp接続の場合はhttps->http7443->7080となる

これらのエンドポイントはパブリッシュした後にプロセスの詳細で確認できますが、アクセス許可と実行環境により若干異なる事を念頭に置いてCAIでプロセスを作成するようにしましょう。(自分は最初エンドポイント名は変わらないと誤認識していて、小一時間ハマってしまいました。)

最後まで読んで頂いてありがとうございました。