フィンテック(FinTech)がらみの話になりますが、銀行等の金融機関とのデータ接続のためにオープンAPIを定めるという記事が掲載されていました。
APIとはApplication Programming Interfaceの頭文字をとってそういわれますが、ソフトウェアに関係のある方でないとなかなか聞くこともないとは思います。
一つの機能を持ったプログラム、たとえばスマートホンアプリを作成するような場合、画面構成や遷移、そしてその動きはアプリごとに異なるためプログラマーが設計・コーディングします。その中でも通信機能そのものや音を鳴らすといったハードウェア(HW)と密接に関連する機能は機種によって異なり、それでいて他のアプリケーションでも頻繁に使われる機能です。そういった機能は所定の書き方をすればどのアプリからも使えるようにしようという目的で定めたものがAPIです。つまり一つの機能を、決められた方法でプログラムから呼び出すだけで、機種の違いさえも気にすることなく実現できるわけです。
このように共通の機能は、所定の呼び出し方を定めそれを記述するようにすれば、プログラマーはアプリ独自機能の作成のみに集中することができます。機能的に分割することでプログラム作成を分業化したり、個々の機能に特化することで処理品質を高めることができます。
実はもう一つ大きなメリットがあります。それはセキュリティを高めることが出来るという点です。
APIで呼び出すのは機能(function)です。アプリから呼び出す方法が分かっていさえすれば、どのような処理手順で実装されているのかは知らなくても作成するアプリの一部として使えますし、API提供側も具体的な処理内容を明かす必要がありません。難読化するなど適切に設計すれば、どのように実現しているのかを秘匿しながらその”機能”だけを使わせることができます。
金融機関の情報やシステムは厳重に守られなければなりませんから、今回のような目的には有効性が高いと思われます。
APIの頭に「オープン」と付されているのは、金融機関と密接に情報をやり取りするようなこれらの機能は広く使われることが必要だからです。APIの仕様を公開(オープン)し、関連業者の利用を図ります。
これらオープンAPIで提供される機能はあり物の技術ですので素直に使えば良く、この”機能”を使うことで何ができるのかを考えるべきです。商業取引が一変してしまうようなイノベーションを起こせるかもしれません。
[…] てのことだと思います。 ちなみにAPIは金融機関などがオープンで提供するものなので、我々は発明を考える上ではあり物としてただ使えば良いということになります。(「オープンAPI」) […]