APPConnect

App ConnectでOpenAPIを利用する方法

はじめに

IBM App Connectは、クラウド・アプリケーションのインテグレーションの為のツールであり、メジャーなクラウド・アプリケーション間でデータの連携がサポートされています。App Connectによるクラウド・アプリケーションの連携に関しては、こちらの記事に記載があります。連携の対象は、既存のクラウド・アプリケーションだけではなく、OpenAPIでアクセス可能なアプリケーションもサポートされています。本記事では、このOpenAPIのアプリケーションを使った連携を試してみます。

OpenAPIとは

Rest API向けの記述方法を定めた仕様で、幅広く用いられており、あのIBM API Connectでも使用されています。App Connectでは、このOpenAPI(Swagger)の文書のファイルを読み込んで利用することができます。バックエンド・システムとの連携もこの方法を利用して行えます。

OpenAPIの利用方法

呼び出したいアプリケーションの有効なOpenAPI文書(JSON もしくはYAMLフォーマット)が準備できたら、App Connectに取り込むことができます。ここでは、OpenAPIのデモで良く利用されるSwagger Petstoreを利用します。Swagger Petstoreは、ペットショップのシステムをOpenAPIで実装した例です。

1.OpenAPI文書の準備

Swagger Petstoreにアクセスし、OpenAPI文書(http://petstore.swagger.io/v2/swagger.json)をダウンロードします。APIの仕様は、Swagger Petstoreのページにてフォーマットされた文書の形で各操作のパラメータと応答を確認できます。その場で実際に動かしてみることも可能です。

2.アプリケーションの登録

IBM CloudにてApp Connectサービスを起動します。App Connectが起動したら、Applicationタブを選択し、使用可能なアプリケーションの一覧を表示します。一番下までスクロールするとAdd youe application nowというLinkがあります。そこをクリックします。

qiita001.png

クリックすると以下のアプリケーションの登録画面が表示されます。

qiita002.png

点線で囲まれた領域にOpenAPI文書をドラッグ&ドロップし、アプリケーション名とその内容の説明を入力した後にApplyボタンをクリックします。

qiita003.png

登録が終了するとアプリケーションのリストに登録したものが追加されます。connectボタンを押すとログインの入力画面が表示され、ログインすると以下のようにアカウント名と呼び出し可能な操作(アクション)が表示されます。

qiita004.png

これで他の事前登録されたアプリケーションと同様にフローに組み込んでの利用が可能になります。

3.フローを作成

Dashboardタブをクリック、更に画面右上のNew+をクリックし、新規”Event-driven flow”を作成します。
イベントは、Google Sheetへの行の追加 ”Complete appended row”を拾い、その列”ID”の値をSwagger Petstoreの”getPetByid”の引数として送ります。

qiita005.png

その戻り値をまた、別のGoogle Sheetにアクション ”Create row"によって新たな行として追加します。

qiita006.png

右上の”Exit and switch on”ボタンを押すとフローが実行されます。

qiita007.png

4.フローのテスト

既にフローは実行済みのため、イベントが設定されたシートに行を入力すると自動的にイベントが発生し、SwaggerPetstoreを呼び出し、結果は、最終アクションの対象のシートに行として追加されるはずです。

qiita008.png

終わりに

今回は、App ConnectからOpenAPIで公開されたアプリケーションを呼び出して利用しました。 App Connectでは、APIとして公開することを目的としたフローを作成することも可能です。機能の詳細については、こちらのFAQのサイトが参考になります。