APIファーストが叫ばれる時代になって、企業間連携が多くなっています。しかしその前からシステム間連携がなかった訳ではありません。ともすればAPIではなく、旧来の手法でのシステム連携でも良いのではないかという考えも出てしまうでしょう。
そこで今回は旧来のシステム連携と現代のAPI連携の違いについて紹介します。
主に一対多だったシステム連携
よく知られているところでは全銀手順であったり、クレジットカードのCAFISがあります。これらは中央にサービスがあり、それを利用するために各社が実装して接続していました。このように一つの巨大なシステムに外部から接続する形が多かったのではないでしょうか。
もちろんAPIになってもサーバに接続するという形は変わっていません。しかしクライアント側は一つのAPIとだけ繋ぐのではなく、他にもニーズに応じて様々なAPIを使いこなすのが一般的です。場合によっては同じ機能(例えば決済、広告など)を状況に応じて使い分けると言ったことも普通に行われています。
プロトコルはHTTP(S)
旧来のシステム連携ではプロトコルも独自のものであることが多かったでしょう。そのため専用のハードウェアを買ったり、専用線を用意する必要がありました。それに対してAPIではHTTP/HTTPSを使うのが一般的です。
独自の仕組みがなくなり、一般化された技術を採用することでAPIの公開に対する敷居が低くなっています。どのような企業でも自由にAPIが公開できるようになったことでAPIファーストとまで言われるほど種類が増えています。
データフォーマットはXML/JSON
旧来のシステム連携では固定長のメッセージ文などがよく使われていました。ネットワークの速度が遅かった時代ではそれが最適でしたが、今はインターネット接続が高速化しています。その時代の中ではすでに化石化した技術と言えます。
API連携では共通フォーマットとしてXMLやJSONがよく使われます。最近ではJSONのが多いでしょう。また、速度やデータサイズを小さくしたい場合にはProtocol Bufferを用いていることもあります。多少冗長的だとしても人でも読みやすかったり、構造の理解が容易であること、独自ではなくデファクトの技術を採用するところに利点があります。
同時双方向ではないケースが多い
旧来のシステム連携ではサーバと接続する契約を結んでいたこともあり、データの送受信は双方向で行われることがありました。しかしAPI連携の場合はHTTPというプロトコルの問題もあり、双方向でないことが殆どです。
インターネット上に公開されたサーバに対してはWebhooksを用いた呼び出しもできますが、社内システム同士の連携になるとファイアフォールに穴を開けて対応することもあります。多くの場合はAPIの利用側が都度アクセスし、データを取得したり更新する形になるでしょう。
契約から利用できるまでのスケジュールが短い
システム連携では互いのサーバを直接接続すると言った仕組みをとっていたため、そこに至るまでの経緯が長くなっていました。契約を締結し、ハードを準備して接続テストを行って…と数ヶ月かかることも少なくありません。
API連携においてそれだけのスケジュールがかかるのはビジネス的に致命的です。すでにできあがっているAPIであればキーの払い出しを即日に行ったり、サンドボックス環境はユーザ登録なしで使えると言った手軽さが重要でしょう。
かつては大手のシステムと連結するというのは特別なことで、投資も大きかったですが、今ではWebのフォームを送信するだけと言ったくらいになっています。連携すること自体は大きな問題でなくなっている現在、大事なのはその連携をどうビジネスに活かすかという視点に移っています。ぜひAPIファーストの視点をシステム開発に取り入れ、戦略的にITをビジネスに活かしてください。