APIエコノミーに触れてみる
APIエコノミーを理解するためには、触れてみることも重要です。今回は、30日間無料ライセンスが提供されている「IBM API Connect」(以下、API Connect)を使って実施にAPI構築を体験してみましょう。
API Connectは、手元にパソコンさえあれば、以下の3ステップによりコーディングレスで「APIの実行」までができます。
- API Connectインストール
- APIの作成
- APIの実行
API Connectのインストール
npmと呼ばれるNode.jsのパッケージ管理システムを使ってAPI Connectをインストールします(npmやNode.jsの解説がメインではありませんので、詳細な説明は割愛します)。
ターミナルにて以下の通り、コマンドを投入します。
// npm環境の構築
$ brew install nodebrew
$ nodebrew setup
$ export PATH=$HOME/.nodebrew/current/bin:$PATH
$ nodebrew install-binary v6.9.1
$ nodebrew use v6.9.1
$ node -v
v6.9.1
$ npm -v
3.10.8
// API Connectのインストール
$ npm install -g apiconnect
APIの作成
apic loopbackコマンドを投入します。その後は3ステップの対話式で設定を記載していきますので、以下の通り入力してください。
$apic loopback (my-notes)
? What's the name of your application? my-notes
? Enter name of the directory to contain the project: my-notes
? What kind of application do you have in mind? notes (A project containing a basic working example, including a memory database)
APIの実行
APIデザイナを使って作成されたAPIを確認します。
$ cd my-notes/
$ apic edit
ブラウザが起動し、BluemixのIDでログインすると、以下の画面が表示されます。先ほど作成した「my-notes」というAPIがTitleに並んでいることがわかります。
左下の赤枠で囲まれたアイコンをクリックすると、当該APIが起動されます。
APIデザイナ画面 |
起動が確認できたら、右上の赤枠で囲まれた「Explore」のリンクをクリックすると、以下の画面が表示されます。
左側のペイン(赤枠)では利用可能なAPIが列挙されています。例えば、「POST /Notes」APIを選択すると、中央のペイン(青枠)で選択したAPIの概要が表示されます。
「Create a new instance of the model and persist it into the data source.」と記載されている通り、このAPIではデータの追加・保存が可能です。リクエストで指定可能なパラメータや、レスポンスとして返却されるステータスコードの定義も確認できます。右側のペイン(黄枠)をみると、コマンドラインで実行可能なコマンドの例や、レスポンスとして返却されるJSON形式の例が記載されています。
APIの管理・操作 |
こちらの画面の「curl」コマンドをコピーし、以下の通り、ターミナルにペーストし、「POST /Notes」APIを実行します。エラーなく以下の出力結果が得られれば成功です。
$ curl --request POST \
--url https://localhost:4002/api/Notes \
--header 'accept: application/json' \
--header 'content-type: application/json' \
--header 'x-ibm-client-id: default' \
--header 'x-ibm-client-secret: SECRET' \
--data '{"title":"pud","content":"biwun","id":16.4130528}' -k
{"title":"pud","content":"biwun","id":16.4130528} // 出力結果
「GET /Notes」APIを実行し、投入結果を確認します。
先ほどの画面の左側ペインにて「GET /Notes」APIを選択します。同画面の右側ペインにて下にスクロールすると、「Call operation」ボタンがありますので、クリックすると、以下の通り結果が得られ、先ほど「POST /Notes」APIにて投入した値が格納されていることがわかります。
GET /Notes APIのCall Operationボタンによる実行結果 |
* * *
今回、コーディングレスでAPI構築ができることを体感いただきましたがいかがでしたでしょうか。
API Connectのようなツールはクラウドとセットとなっていることが多く、基盤構築の手間も省けます。
また、オープン系の開発に限らず、メインフレームの開発においても、Z/OS Connectを使うとNDBやCopy句からAPIを構築することができます。その他にもApigee、Kong、ApiaryといったAPI関連製品 があり、その動きには今後も注目です。
また、2017年1月19日に日本ユニシスの勘定系パッケージ「Bank Vision」にWeb API機能が追加 されました。同日、NTTデータの信用金庫向けスマホアプリ「アプリバンキング」の提供が発表されました。大手SIerにおいてAPIを公開していく動きは今後も加速していくことでしょう。
次回はクラウドに踏み込んで説明します。Cloud Foundryの登場により大きく状況が変わってきており、クラウドがより身近になってきていることを体感していただければと思います。
著者紹介
正野 勇嗣 (SHONO Yuji ) - NTTデータ シニア・エキスパート
2011年頃まで開発自動化技術のR&Dに従事。その後、開発プロジェクト支援やトラブルシューティング等に主戦場を移す。「ソースコード自動生成」に加えて、JenkinsやMaven等の「ビルド自動化」、JsTestDriverやSelenium等の「テスト自動化」を扱うようになり、多様化する開発自動化技術動向に興味。
最近は第四の自動化であるInfrastructure as Code等の「基盤自動化」の魅力に惹かれている。開発自動化技術に関する雑誌・記事執筆も行う。2児のパパ。