ノーコードで簡単に?は本当か 「APIあるじゃん」にあえて異論を唱えてみる
CDataのある仙台でAPI連携とコネクティビティについて語り合ってみた
提供: CData Software Japan
SaaS連携の開発は必要だけど、手間がかかる「Problem Child」
大谷:なるほどねー。では、API連携が期待通りに動かず、ノーコードなはずが、実際はプログラミングが必要となると、実際はどういったデメリットがユーザー側に生じるんでしょうか?
疋田:まずBIツールを使うようなビジネス部門の非エンジニア、いわゆるシチズンデベロッパーやパワーユーザーは、APIリクエストまでは書けません。せっかくスキルやノウハウはあるのに、ツールまでデータが来ないので、IT部門に依頼せざるを得ません。
でも、IT部門はどのデータが欲しいの?とビジネス側に聞いても、データを見てから考えると答えるので、らちがあかない。ビジネス部門からすると、KPIはどんどん変わるし、数字を探索的にかけあわせたいので、ともあれデータを欲しいんです。
大谷:まあ、現場でごにょごにょと試行錯誤できるのがメリットですからね。
疋田:でも、IT部門はどのデータが欲しいかわからないと、データの取得ができない。ましてアプリの数が20もあって、IT部門のエンジニアがそういったあいまいなリクエストを全部カバーするのは不可能です。ビジネス部門の非エンジニアも、IT部門のSEも困ります。
じゃあ、連携ツールのベンダーにコネクターを作ってもらえばいいのでは?と考えます。でもツールベンダーにとっても、数多くのSaaSをカバーするのは大変です。しかも、1社で使うのならともかく、100社、1000社のお客様がいろいろなユースケースで使うコネクターを作るには、めちゃくちゃ深い実装が必要です。
大谷:がんばって開発して、元が取れるかも問題ですよね。
疋田:Salesforce連携だったら、APIも洗練されているし、ユーザーが多いのでやる価値はあるんです。でも、それ以外だと、ユーザーは少なかったり、APIが洗練されていなかったりするので、開発のROIが期待できなくなります。しかもつなぐだけだとあまり価値につながらないので、つないでどう使うかのシナリオも必要です。
結局、そこまで自社でやるのか? コネクターに開発リソースを割くのかという話になります。必要なんだけど、誰がやっても同じで、手間がかかるProblem Childというのが、いわゆるSaaS連携なんだと思います。
通知だけならともかく、データセットになるとハードルが一気に上がる
大谷:とはいえ、最近のSaaSベンダーって、つなぐことにかなり注力していると思うんですよ。たとえば、Slackはさまざまなツールと連携しており、公式には連携アプリって2400を超えているとのことです。これじゃあ、ダメなんですか?
疋田:連携の難易度って、ツールによってけっこう違います。たとえば、「Slackに最新の通知を出す」「Boxにファイルをアップロードする」「DeepLに翻訳したい文章を送る」といった処理って、けっこうシンプルです。僕の中では、アクション型やトリガー型と呼んでいますが、なにかがあったら、なにかをするというやつです。
大谷:IFTTTとか、Zapierとかでできるやつですね。
疋田:そうです。1つのレコードに対して、1つの定型処理だし、相手先がデータベースじゃないので送信するだけだからです。
でも、扱うデータがレコードじゃなくて、データベース自体になると難易度が上がります。リードオンリーのTableauのデータストアから複数データを引き出して、どこかのデータベースに格納するみたいな場合、ソートの処理が入りますし、差分管理も必要で、整合性も保たなければならないので、ずいぶんハードルが上がります。
大谷:ハードルが上がるというのは、開発が大変になるということでOKですかね。
疋田:その通りです。さらに言うと、サービス同士で書き込みを行なう場合は、難易度がさらに上がります。なぜならロジックがないと書き込めないからです。
実は以前やったことがあるのですが、Sansanやメールで持ってきた顧客データをCRMに書き込もうとすると、他のデータが全部消えたりします。どれは上書きする、どれは残すみたいな判断をしないで、データをインポートするだけだったら、そりゃそうなりますよね。で、2回目やったら、今度は同じ顧客がもう1つできちゃうんですよ(笑)。だから、書き込み系の処理はロジックが必要になります。
大谷:確かに複数のデータセット、データベース単位で読み書きしようとしたら、処理は複雑になりますね。
疋田:正直、アクション系であれば、APIを書いた方が早いと思います。でも、複数のデータセットを扱ったり、バルクのデータを取り込んだり、データセットを複数のデータベースへ書き込むような処理はアクション系に比べて全然難しい。一次元から二次元になるという変革です。
だから、SaaS系の連携のほとんどは、なんらかの処理に通知を出すというアクション系か、もしくは自身がAPIを公開しているということです。データを読み書きするインターフェイスは用意していますが、ユーザーがプログラムを書いてくださいという状態です。もちろん、洗練されたAPIを持っている大手ベンダーもありますが、複数のデータセットを扱うような連携を可能にするSaaSベンダーはほとんどないですね。
この記事の編集者は以下の記事もオススメしています
-
デジタル
【CData 導入事例】株式会社ケインズアイがCData Power BI Driver for kintone を導入 -
デジタル
SaaS データのパイプラインツール『CData Sync v20』リリース -
デジタル
SaaSのデータをBI、iPaaS、ノーコード・ローコードツールで活用できる「CData Connect Cloud」 -
デジタル
「CData Connect Cloud」が「Microsoft Power BI」の認定コネクターに -
デジタル
「CData JDBC Drivers」、現場帳票電子化ソリューション「XC-Gate.V3」と製品連携 -
デジタル
グロービス経営大学院が「CData Sync」を導入 データ分析基盤を再構築 -
デジタル
CData Syncが継続的レプリケーションに対応 リアルタイムでのデータ活用が可能に -
デジタル
CDataとラキールが、データ統合プラットフォームのクラウド連携拡張で業務提携 -
sponsored
現場発の内製化に目覚めたkintoneユーザー CData Arcならデータ連携も自らの手で