他システムとデータ連携を行う方法はCSVを用いた連携など様々ありますが、Web APIを利用したデータ連携の利便性、有効性が認識されつつあります。
このWeb API を利用したデータ連携が広まるための課題とそれを乗り越えるために必要な課題についてご紹介します。
IT用語辞典の Web APIの項目には「HTTPなどのWeb技術を応用して、あるコンピュータで動作しているソフトウェアの機能を、ネットワークを通じて他のコンピュータから利用できるようにする仕組み」との記載があります。
APIの説明も同項目内にあり、「コンピュータプログラムが提供する機能を他のプログラムから呼び出して利用するための規約で、処理要求や応答のデータ形式、双方のやり取りの手順などで定義される。」とあります。Web API とはこのAPIの仕組みをWeb上で動作するようにしたもの、と言うことができます。
Web APIにはRESTとSOAPという2つの形式があり、REST形式がより一般的です。
他の連携と比較したWeb APIの特徴は、まずファイルを介さないということです。
CSVファイルでもテキストファイルでも、データ連携はまず連携先のシステムからデータを何らかのファイルで出力し、そのファイルを連携先のシステムに取り込むという形が多いですが、Web APIを用いた連携では、例えばREST API の場合、データは HTTP リクエストのBody に記載します。そのため、連携するデータが格納されているファイルは基本的には存在しません。
また連携元のシステムデータに何かしらの変更があった際、即時に外部Web APIを実行する機能を有している場合には、連携先のシステムでも即時にデータの変更が反映されるようになります。
この即時性はWeb APIの一つの大きな武器です。また、GoogleやAmazon、楽天など、自社システムのWeb API のリファレンスを外部公開している企業も多くなってきています。これらを利用すれば、理論的にはシステム連携を内製することができます。
システム連携の内製化をするためには以下のようなハードルがあります。
上記 1~3 を総合すると、自社でプログラミングができる、または最低でも連携に必要なアルゴリズムを構築できる能力のある人材を確保する必要がある、ということになります。
このような能力が必要となる最大の原因が2.のデータフォーマットの違いですが、これはより連携を簡易に行えるようなサービスが存在し、それを利用すればコードを書かず、アルゴリズムを構築する(フローチャートを作成する)ことでシステム連携が可能になります。
ただ、それでもやはりアルゴリズムを構築できる必要性があることには変わりありません。この能力はプログラミングを実際に行うことで身につけられるのではないでしょうか。
ここ数年リスキリングの必要性が叫ばれて久しく、その中にプログラミング能力も含まれています。アルゴリズム構築のトレーニングとして、プログラミングに挑戦するのも良いかもしれません。