昨今、自社のサービスに付随するAPIを公開する企業が増えてきた中で、思うようにAPI利用者を増やせないという声を頻繁に耳にします。
このような声に対し、CData Software Japan社の桑島義行氏は、ソフトウェアエンジニアに使いたいAPIとして認知されるための「APIエコシステム」の構築が必要と語っています。
そして、APIエコシステムの構築には3つの壁が立ちはだかっているといいます。
APIエコシステムの構築を妨げる1つ目の要因は、人材確保を含めた技術的な問題です。
これまで、データベース間のデータ連携やファイル転送を用いた連携に慣れていた技術者が、急にWeb APIを実装することは非常に困難です。JSON形式のデータ、RESTfulなエンドポイントのデザイン、OAuth 2.0などの認証などといった、セキュリティ・管理要件において配慮すべき点が非常に多く、ある程度の経験値が必要です。
一方でユーザー側のエンジニアも、必ずしも皆がAPI利用における見識が深いとは言えません。というのも、API自体が比較的新たな技術のため、ユーザー側のエンジニアは利用に際して学習が必要になります。
こういったユーザー側のエンジニアの負担を軽減するためには、業界標準に即した仕様にする必要があります。
ですが上述した問題の多くは、API開発〜運用に必要な機能を提供してくれる「API管理ツール」を利用することで解決できます。
有名どころでは、IBM、CA Technologiesが力を入れている他、Google、Oracle、TIBCOが、それぞれAPI管理ツールベンダーを買収しており、近年非常に注目されています。
APIエコシステムの構築を妨げる2つ目の要因は、APIを「サービスに付随する1機能」として捉えられてしまう点です。
提供するWebサービスは、通常、ブラウザ上の管理画面などから操作できるようになっていることが多いですが、これらを利用するのは非エンジニアである事が多いです。
一方、APIを利用するのはエンジニアです。そのため、管理画面のUXと同じようにAPIを設計してしまうと、エンジニアにとっては使い勝手が良いAPIとはいえません。
また、APIの利用開始までのプロセスも極力簡素化すべきです。
開発アカウントの取得・認証が素早く行なうことができて30分も経たずに触ってみることができるAPIと、ドキュメントが公開されておらず利用申請に数日から数週間かかるAPIとを比較すると、どちらがエンジニアにとってUXが最適化されているAPIでしょうか?
エンジニアにとってAPIのUXは、DX(Developer Experience、開発者体験)と呼ばれるほど重要なポイントになっています。
APIによってビジネスを飛躍的に伸ばそうと考える企業は、「APIは、既存サービスとは異なる、ひとつの独立したサービスである」と考え、機能、UI、マーケティング/セールス、サポートなどを定義する必要があるのです。
APIエコシステムの構築を妨げる3つ目の要因は、ROIを予測しづらい点です。
サービスを提供する企業が、自社APIの公開やバージョンアップをするのには、大きく分けて2つの理由があります。
ひとつは、既存ユーザーからの要望がありAPIを提供し始めるケース。ただしこの場合は、開発コストにに見合った収益を、既存ユーザーから得られることは稀です。
そのためもうひとつの、新規顧客獲得につながる新機能としてのAPI開発が優先されます。
ただしサービスのセールスチームは、既存のサービスに関する機能のセールスに慣れており、ターゲットの異なる新たな機能を新たなセールスの要として新規顧客を獲得することは非常に難しいのではないでしょうか。
その結果APIは、既存ユーザーの要望の実現のみの機能しか実装されなかったり、そもそも開発を後回しにされたりといったことになります。
短期的には既存ユーザーの満足度向上、中期的には新規顧客拡大のセールスポイントになりえる「ひとつの独立したサービス」としてのAPI開発に対する、経営陣やセールスチームからの十分な理解が、APIエコシステムの鍵となってくるのです。