SaaSのAPIエコシステム構築、できるだけ短期間で実現するには?[PR]
業務アプリケーションの主要な形態は、パッケージからサービスへ、いわゆるSoftware-as-aa-Service(SaaS)へと向かっています。そしてCRMやグループウェアなどから始まったアプリケーションのSaaS 化の流れは、会計やERPなど業務アプリケーションの中核へと広がっているところです。
さらに現在ではソーシャルメディアやコンタクトセンター、セールス担当などからのデータを活用するマーケティングプラットフォームや、機械学習プラットフォームを用いた業務データの分析なども行われています。
多くのアプリケーションがSaaS化することでクラウド上での連係が容易になり、クラウドが得意とする大規模データ処理を活用できるようになっているのです。
そしてそのために必要となるのが、アプリケーション同士の連携を容易にするAPIの整備です。現在ではこのAPIの整備や連係の強化が、SaaSが成功するための重要な要素となっています。
APIやSDKによるエコシステムは製品競争力につながる
もっとも成功しているSaaSの1つであるSalesforceを見てみましょう。
Salesforceは、CRM(顧客管理)アプリケーションという単独のサービスとしてもちろん便利に使えますが、社内の取引先データベースや社員のスケジューラなどと連係させることで、さらに便利に使うことができるようになります。
そのためにSalesforceはAPI の公開やさまざまな開発言語に対応するSDKなどを用意しており、開発者が容易にSalesforce との連係を実装できるようにしています。
下記は、主なSaaSやアプリケーションがどれだけSDKやAPIを豊富に用意しているかを数にしたもの。Salesforceは左から2番目に位置しています。
この充実したSDKやAPIのおかげで、Salesforceには主要なETL、BI、ワークフローなどのミドルウェアや分析ツールなどと簡単に接続して連係させることが可能になっています。
そしてSalesforceを中心としたエコシステムができあがり、製品の競争力に寄与していることは言うまでもありません。
SaaSベンダにとってAPI エコシステムを構築するハードルとは
SaaSベンダにとってAPIを公開することが競争力の強化につながることは、あらためて言われるまでもないことでしょう。
しかし実際にSaaSのAPIやSDKを公開するには、いくつかのハードルを越えなくてはなりません。
その1つは、APIそのものの実装にかかるコストです。
インターネットに向けて公開されるAPIは、単に情報を特定のフォーマットで出力できるようにするだけでなく、顧客のデータを扱うに耐えるセキュリティを実現する必要があります。そのためには、認証、サーバーへのアクセス制限などさまざまな技術的要件が存在します。
さらにAPIのアーキテクチャスタイルに関しても、SOAPやREST、最近ではGraphQLなど複数の選択肢があり、さらにOData ProtocolやOpen API Initiativeへの対応など、標準への追随も考慮するべきでしょう。
複数ユーザーから同時にアクセスが集中しても対応できるだけのスケーラビリティや、出力スピードを調整するスロットリングなども検討すべき項目となります。
このように、セキュリティ、トレンド、標準準拠、スケーラビリティなどへの対応を考慮し実装するとなると、APIの開発プロジェクトは一定の予算を必要とする規模のプロジェクトにならざるを得ません。
API エコシステム構築の定石である「開発者ポータル」
そしてAPIやSDKを公開したからといって、エコシステムが自動的に拡大し、新規顧客が目に見えて増大する、といったことが約束されるわけではありません。
APIやSDKのプロモーションやエコシステムのキーとなるサードパーティのリクルーティングなど、APIを公開したところが第一歩なのです。
APIエコシステム構築で先行している米国のSaaSベンダーなどでは、こうした施策の基盤として「開発者ポータル」を開設、APIやSDKとその関連情報を公開しています。
開発者ポータルの内容はおおよそ以下のようなものです。
1)APIドキュメント
2)Sandbox
3)SDK
4)ドライバ
5)主要な開発環境やBI、ETL、DWH からの接続方法の解説
ここまで情報が揃っていれば、検索によって見つけてもらえる可能性も十分高いものになるでしょう。
それぞれの項目を少し掘り下げてみます。
もっとも重要なのが、1番目にあるAPIドキュメントです。現在主流のWeb APIの形式であるRESTful形式のAPIを外部から呼び出して利用するには、呼び出すべきエンドポイントがどこにあり、どのようなHTTPメソッドを記述し、それによってどのようなレスポンスが得られるのかを事前に知っておく必要があります。
また、現時点で、RESTful APIの事実上の記述標準は「Open API Initiative(Swagger)」であり、これに準拠した日本語ドキュメントも見られるようになりました。
さらにAPIドキュメント内で簡単にサンプルでAPIが叩けるような仕様になっていれば、開発者にとっては大変使いやすいドキュメントになるでしょう。2番目に挙げたSandboxは、そうした試験環境を提供するものです。
次に重要なのが、APIを各言語から簡単に呼び出してアプリケーションから利用できるようなSDKを提供することです。Java、JavaScript、C#、Python、PHP、Ruby などの言語に対応したSDKが提供されることが多いでしょう。
SaaSをデータソースにするドライバ
4番目に挙げているドライバとは、SaaSをデータソースとするODBCやJDBCドライバの提供です。
もともとODBC/JDBCといったドライバは、アプリケーションからリレーショナルデータベースへの接続を一般化する目的で作られました。現在ではクラウドデータベース、例えばMongoDBやAmazon RedShift、Elasticsearchなど、さまざまなデータベース、データソースへも接続することができるODBC/JDBCドライバが登場してきています。
これをデータベースだけでなく、SaaSをデータソースすることで、すでにODBCやJDBCに対応するアプリケーションやミドルウェア、ETLツール、BIツールなどが、SaaSを接続先とするデータ連係を容易に実現できるようになります。
開発ポータルには、ここまで説明してきたようなAPIドキュメント、SDK、ドライバなどが含まれ、さらに対応する開発環境、ドライバを用いたミドルウェア、BIツールなどによる接続方法の解説なども記載されています。
こうした情報をまとめた使い勝手のよい開発者ポータルが、APIエコシステムの構築とその充実を目指すSaaS ベンダーにとって重要なのです。
CDataのドライバ開発でエコシステム構築をキャッチアップ
そして、こうしたSaaS向け公開用APIやSDKの提供を支援するのがCData Softwareです。
同社はデータベースからWeb APIおよびドキュメントをノンコーディングで開発するAPI Server を提供し、必要な機能および標準に準拠したAPI の迅速な公開をサポートしています。
さらに同社はすでに多くのクラウドベンダと協業し、100を超えるSaaSやクラウドデータベース に対してODBCドライバ、JDBCドライバ、ADO.NET Data Providerを提供しています。
前述のとおり、SaaSに対応したドライバがあれば、JavaやC#などで書かれた既存アプリケーションとのデータ連係や、ETLツール、BIツール、データウェアハウスなどとの連係が大幅に簡素化できます。
こうしたドライバの登場は、これまで費用が高かったクラウド連携をコモディティ化する技術だといえるでしょう。ユーザーやシステムインテグレータは単純な連携システムの構築よりも、本来のデジタルトランスフォーメーションを起こす仕組みの構築によりフォーカスできるようになります。
例えば、同社とサイボウズによるドライバ「CData Drivers for kintone」によって、サイボウズのクラウドサービスであるkintoneはすでに充実したエコシステムの構築に成功しているのはその一例といえるでしょう。
「海外ではドライバのOEM開発と提供は一般的に行われています。そうすることで、われわれは業界全体のデータ連係コストを下げることを進めていきたいと考えています」(CData Software Japan合同会社 代表社員 疋田圭介氏)
市場で先行しているSaaSベンダーは、すでにAPI 公開、SDK/ドライバ提供、主要なミドルウェア/分析ツールでの連携対応を含む提携といったステップを実現しています。
後発の製品がそれに追いつくためにCData Softwareのようなサードパーティを活用することは、時間とコストを節約できる重要な選択肢ではないでしょうか。
関連記事
- Web APIをRDBにモデル化。RESTfulもSOAPもODBC/JDBC経由で簡単にアクセス可能にする、CDataのドライバ群[PR]
- HTMLスクレイピングやファイルでのバッチ連携を不要に、「API管理ツール」でWebへRESTful APIを公開。ドキュメントもSwagger記述も自動生成[PR]
(本記事はCData Software Japanの提供によるタイアップ記事です)
あわせて読みたい
仮想マシンをベースにしたセキュアなコンテナ実装「Kata Containers」がバージョン1.0に到達。OpenStack Foundationが開発
≪前の記事
Slackアプリケーション開発者の支援ツール「Slack Developer Tools」発表