API連携

システム間のデータ連携においてデータの軽さや汎用性の高さから最も多く使用されるcsv連携に続いて、今回はcsv連携とほとんど同じ頻度で出現するAPI連携について、その手法とメリット、csv連携との違いについて説明していきます。

~目次~
1.API連携とは
2.API連携のメリット
3.csv連携との違い

1.API連携とは

APIとは? ⇒ https://smart-factory.funaisoken.co.jp/glossary/201218/

API連携とは「Application Programming Interface」の略であり、アプリやソフトウェアなどのシステム同士をつなぐ境界部分(インターフェース)による連携を指します。

API連携の説明の前に、身近なものを用いて簡単な例えを記述します。
ノートパソコンの側面やデスクトップパソコンにはUSBやSDカード、光学ドライブ、HDMIなどの様々な差込口が装備されています。これらはデバイスとの連携によるファイル転送やモニターとの連携による信号の転送等、デバイス同士の連携の為にどのパソコンやデバイスにも規定の同じ口が装備されています。各デバイスの中身はそれぞれであるものの、データのやり取りの出口部分のみを統一することで、デバイス間の連携が可能となっているのです。
上記の連携の部分のことを「ハードウェアインターフェース」と呼ぶのですが、この仕組みをソフトウェア上で実装したものがAPI連携となります。
つまり、どのようなシステムであっても、出口部分を統一してしまえば、連携が可能であるということになるのです。
もちろん、USBメモリをSDカード差込口に入れることができないように、そのシステムのAPIがもう一方のシステムのAPIと連携できないということもありますが、このようにして、システム同士の連携を可能としているものをAPI連携と呼びます。

2. API連携のメリット

API連携のメリットとして、「リアルタイムで連携が可能であること」が挙げられます。

API連携は、リクエスト-レスポンスの関係で成り立っています。
市役所にて書類の発行申請をする際に用意するものは、本人確認書類と発行申請書です。
この2つを市役所に提出することで該当の書類を発行することができます。
API連携のリクエスト-レスポンスの関係も同じ仕組みです。
システムAからシステムBの情報を取得したい(API連携したい)時、システムBが規定するAPIキーとリクエストを提出します。システムBはこれを受け取り、即時にデータを転送(レスポンス)します。
これにより、リアルタイムでの連携を可能にしているのです。

API連携イメージ図
(画像)API連携イメージ図

3.csv連携との違い

csv連携とAPI連携を比較したとき、それぞれのメリットデメリットがあります。

a.リアルタイム連携できるかどうか
csv連携に勝る一番のメリットはリアルタイム連携できることです。
項目2で述べたように、API連携はリクエスト-レスポンスの関係で成り立つのに対し、csv連携は出力と取り込みを手動で行う必要があります。そのため、1日の業務の最後に連携作業を行う等の一手間が必要になり、データの更新は1日ごとになります。
b.開発にかかる工数
API連携はある程度標準化されている為比較的容易に開発できるものですが、項目1で述べた通り、API連携には種類が多くあり、連携できるデータとできないデータがシステムごとに異なります。そのため、システムによっては欲しいデータを取り出せないといったこともあり、開発時には事前に連携先のAPIを見てどのリクエストを送信するのかを決める必要があることから、コストはcsv連携と比較すると高くなってしまいます。
これに対してcsv連携ではカンマで区切るという制約のみのファイルであることから、開発時にあらかじめ連携先のシステムを見る必要がありません。これによって開発にかかる工数がAPI連携と比べて工数が少なくなり、結果としてコストを抑えることができます。

システム連携の際には、連携頻度、データ連携の重要性、API連携の種類があっているかどうかを議論し、適切な投資対効果を見出していくことが大切です。

関連記事