雑記

API Hell

最近、”API Hell”(API地獄)と言えるような状況が散見されるようになってきた。かつて、Dll Hellと呼ばれたものと似たような現象が、Web-APIで起っているのである。

 dllは、プログラムの部品をdllとして動的にリンクすることで、部品の共通化、再利用や、アプリケーションの更新を容易にするなどを実現した。しかし、次第にアプリケーションを動かすためのdllの管理が煩雑になり、バージョンが合わない等で動作しなくなるといった問題が起こるようになった。これがDll Hellである。

 近年Web-APIによって、多くのシステムを連携させることが増えてきた。これにより、他のシステムと連携させて、より便利なシステムを構築できるようになった。インタフェースさえきちんと定義できれば、企業間のシステム連携も容易にできる。しかし、APIの裏側での動作が完全にブラックボックスになってしまい、エラーが起きた際の調査が困難であったり、APIが廃止されてしまった結果、そのAPIを利用していたシステムが停止してしまったりといった問題が発生している。Dll Hellの教訓から、バージョンアップにはある程度配慮して設計がなされるが、Web-APIならではの問題も多い。