APIエコシステム構築に立ちはだかる「開発コスト」と「開発者ポータル運用」という壁 解決策のひとつとしてサードパーティ活用も

有意義に使われるAPIのベストプラクティスとは?クラウドサービスのAPIエコシステム状況を可視化してわかってきたことにて、システムエンジニアの杉本氏は「SaaSベンダーにとってAPIを公開することが競争力の強化につながる」と語っていました。

IT系を専門とする編集者の新野淳一氏も同様の意見を述べつつ、APIエコシステム構築時に立ちはだかるであろう障壁とその解決法についても提言しています。

1つめの障壁は、APIの開発自体にかかるコストです。

APIは、自社サービスのデータを特定のフォーマットで出力できればいいというわけではありません。顧客のデータを扱うに耐えるよう、認証・サーバーへのアクセス制限などといったセキュリティに関する要件を考慮する必要があります。

また、SOAPやREST、GraphQLなど、現存するさまざまなアーキテクチャスタイルから、どれを選択するかを検討する必要もあります。

アクセスの集中に耐えうるスケーラビリティや、出力スピードを調整するスロットリングなども検討事項としてあげられます。

こういった点を考慮しながら実装しようとすると、API開発には一定の予算が必要となります。

2つめに、利用者を拡大するための「開発者ポータル」の運用です。

APIのみを公開したからといって、必ず利用者が増えることが約束されるわけではありません。

API公開において先行しているアメリカのSaaSベンダーなどでは、プロモーションやサードパーティのリクルーティングの一環として、開発者ポータルを運用しています。

新野氏は、開発者ポータルに掲載するとよい内容として下記をあげています。

  1. APIドキュメント
  2. Sandbox
  3. SDK
  4. ドライバ
  5. 主要な開発環境やBI、ETL、DWH からの接続方法の解説

この中で新野氏が「もっとも重要」としているのが、APIドキュメントです。

利用者にとって、APIを外部から呼び出して利用する際のエンドポイントやHTTPメソッドの情報は、事前に知っておく必要があります。

また、サンプルでAPIが叩けるような簡単な検証環境を構築するSandboxの提供も、利用者にとっては利便性が高まるでしょう。

次に、利用者の開発しているアプリケーションで用いられる言語でAPIを呼び出すための、SDKの提供も重要です。対応言語は、Java、JavaScript、C#、Python、PHP、Rubyなどが多いようです。

さらには、SaaSをデータソースとするODBCやJDBCドライバも提供すると良いでしょう。

現在では、MongoDBやAmazon RedShiftといった、さまざまなデータベース、データソースへも接続できるODBCやJDBCドライバが登場しています。SaaSサービスをデータソースととらえれば、ODBCやJDBCに対応するアプリケーションやミドルウェア、ETLツール、BIツールなどとも簡単にデータ連係できるということは、他社製品と比較してアドバンテージとなるでしょう。

こういったリソースが用意されている使い勝手のよい開発者ポータルが、APIエコシステムの拡充に重要であると新野氏は語っています。

ただし、これらを自社のみで用意するのは、多大な時間やコストが必要になります。そこで、SaaSのAPI、SDK提供を支援するサードパーティを活用するというのも選択肢のひとつとして考えることができます。

例えば「CData Software」社は、SaaS向けにデータベースからWeb APIおよびドキュメントをノンコーディングで開発するAPI Serverを提供しています。また、100を超えるSaaSやクラウドデータベースに対し、ODBCやJDBCドライバを提供しているという実績も持ちあわせています。

同社とサイボウズ社によって開発されたドライバ「CData Drivers for kintone」は、サイボウズのクラウドサービス「kintone」のエコシステム構築に貢献した要因のひとつといえるでしょう。

SaaSのAPIエコシステム構築、できるだけ短期間で実現するには?[PR] - Publickey