IICS(CAI)のチュートリアルを試してみる(Hello World編)
はじめに
データアナリティクス事業本部のkobayashiです。
Informatica Intelligent Cloud Services(以降、IICS)はオンプレミスおよびクラウド環境に置かれているデータサービスとアプリケーションサービスを統合するiPaaS(integration Platform as a Service)製品です。
今回そのIICSを扱える環境を頂いたのでいろいろな機能を試してたいと思います。
まずはIICSの機能の一つであるInformatica Cloud Application Integration(以降、CAI)を試してみみました。CAIではAPIをGUIの操作で簡単に構築することができますので早速APIを作成してみたいと思います。
とは言ってもいきなり具体的な何かを作るのはまだ不慣れで難しいのです。幸いIICSには英語ですがドキュメントが整備されていますのでそのドキュメントに従って簡単なチュートリアルを試して概要を掴んでみます。
Hello Worldを返すAPIの作成
基本的にはInformatica Cloud Application Integration - Tutorial:Hello World に記載されいている内容を実践していきます。
はじめにAPIを呼び出すと定形のメッセージをレスポンスとして返すAPIを作成してみます。
手順1) IICSにログインしてアプリケーション統合
を選択する。
手順2) サイドメニューから新規
を選択するとモーダルが表示されるのでその中からプロセス
を選択し、作成
を押下する。
手順3) プロセスの作成画面デザイナーが表示されて図のように開始
と終了
のステップが用意されているのでまずはこれを編集する。
手順4) 開始
ステップを選択し、左下のメニューより全般
を押下する。名前
の欄に今回作成するAPIプロセス名を入力する。
*これがエンドポイント名にもなります。今回はp_hello_world
としています。
手順5) APIへのアクセス制御を行うために開始
を左下から押下する。
*今回は特にアクセス制御をしないため匿名アクセスを許可
を選択します。本番で運用する場合は十分な制御を行ってください。この解説は別途エントリで行う予定です。
手順6) 次にAPIで返すレスポンスを指定するために出力フィールド
を左下から押下する。レスポンスとして返したいフィールドをここで指定できるのでMessage
のフィールドを作成し、単純なメッセージを返したいのでテキスト
にする。
これで開始
ステップの設定は終わりですので次にレスポンスとして返す値を割り当て
ステップで設定します。
手順7) デザイナのステップの中から割り当て
ステップ(図の赤矢印)をドラッグ&ドロップで開始
、終了
ステップの間に配置する。
設置した割り当て
ステップを選択し、左下の割り当て
を押下します。
フィールドの追加
を選択すると手順6で設定した出力フィールドMessage
が表示されるので選択します。固定のメッセージでHello World
を返すだけなので、次を使用するように割り当て済み
でコンテンツ
を選択し、開始
にレスポンスで返す値のHello World
を入力します。
以上でHelloWorldを返すAPIプロセスは出来上がったので実際にリクエストを送ってレスポンスを確かめてみます。そのためにはまずプロセスのパブリッシュ
が必要です。
手順8) 右上のメニュを選択するとパブリッシュ
が選択できるメニューが表示されるのでパブリッシュ
を押下してパブリッシュを行う。
手順9) パブリッシュが完了すると手順8と同じメニュー内のプロパティの詳細
が選択できるようになるので選択して表示する。
この中のEndpoints
内に作成したエンドポイントが表示されているのでこのエンドポイントに対しクライアントのアプリケーションでリクエストを送ります。
またSwaggerファイルの表示
で作成したAPIのSwaggerファイルが表示されるのでこれをSwaggerHubなどに連携することでリッチなAPIドキュメントを作成できます。
APIエンドポイントにリクエストを送ってみる
作成したAPIに対してリクエストを送ってみます。
curl -X POST "https://apne1-cai.dm1-ap.informaticacloud.com:443/active-bpel/public/rt/xxxxxxxxxxxx/p_hello_world" -H "accept: application/json"
レスポンスとして以下が返ってきます。
{ "Message": "Hello World" }
入力値をオウム返しするAPIの作成
次に定形のメッセージではなく、リクエストで送られた入力値を取得してレスポンスでその入力値を返すAPIを作成してみます。なお、先ほどと同様の手順の箇所もありますのでその部分は省略していきます。
手順1) プロセスを作成しデザイナが表示され開始
ステップを選択し名前をp_hello_world_2
とする。
今回はリクエストで送られた値を使いますのでまずは入力フィールド
を左下から押下します。リクエストとして受け取りたいフィールドを以下の用に設定します。
- 名前 :
Input
を入力 - タイプ :
テキスト
を選択
手順2) 次にAPIで返すレスポンスを指定するために出力フィールド
を左下から押下する。フィールドをここで指定できるのでoutput
のフィールドとする。単純なメッセージを返すので型をテキスト
にする。
これで開始
ステップの設定は終わりですので次にレスポンスとして返す値を割り当て
ステップで設定します。
手順7) デザイナのステップの中から割り当て
ステップ(図の赤矢印)をドラッグ&ドロップで開始
、終了
ステップの間に配置する。
設置した割り当て
ステップを選択し、左下の割り当て
を押下します。
フィールドの追加
を選択すると手順2で設定した出力フィールドoutput
が表示されるので選択します。入力フィールドのInput
で取得した値をレスポンスとして返すので、次を使用するように割り当て済み
でフィールド
を選択し、開始
にレスポンスで返す値のInput
を選択します。
以上で入力値を返すAPIプロセスは出来上がったのでプロセスをパブリッシュしてリクエストを送ってレスポンスを確かめてみます。
APIエンドポイントにリクエストを送ってみる
curl -X POST "https://apne1-cai.dm1-ap.informaticacloud.com:443/active-bpel/public/rt/xxxxxxxxxx/p_hello_world_2" -H "accept: application/json" -H "Content-Type: application/json" -d "{ \"Input\": \"Hello World Hello World\"}"
レスポンスとして以下が返ってきます。
{ "output": "Hello World Hello World" }
まとめ
IICSのCAIを使うことで簡単にAPIを構築できました。今回は「固定値を返す」「入力値をオウム返しする」という一番シンプルなAPIを作成しました。次のエントリではリクエストで送られた値を加工してレスポンスを返すAPIを作ってみたいと思います。
最後まで読んで頂いてありがとうございました。