ノーコードで簡単に?は本当か 「APIあるじゃん」にあえて異論を唱えてみる

CDataのある仙台でAPI連携とコネクティビティについて語り合ってみた

大谷イビサ 編集●ASCII 写真●曽根田元

提供: 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が期待できなくなります。しかもつなぐだけだとあまり価値につながらないので、つないでどう使うかのシナリオも必要です。

APIでできる連携にギャップがある

結局、そこまで自社でやるのか? コネクターに開発リソースを割くのかという話になります。必要なんだけど、誰がやっても同じで、手間がかかるProblem Childというのが、いわゆるSaaS連携なんだと思います。

通知だけならともかく、データセットになるとハードルが一気に上がる

大谷:とはいえ、最近のSaaSベンダーって、つなぐことにかなり注力していると思うんですよ。たとえば、Slackはさまざまなツールと連携しており、公式には連携アプリって2400を超えているとのことです。これじゃあ、ダメなんですか?

疋田:連携の難易度って、ツールによってけっこう違います。たとえば、「Slackに最新の通知を出す」「Boxにファイルをアップロードする」「DeepLに翻訳したい文章を送る」といった処理って、けっこうシンプルです。僕の中では、アクション型やトリガー型と呼んでいますが、なにかがあったら、なにかをするというやつです。

大谷:IFTTTとか、Zapierとかでできるやつですね。

疋田:そうです。1つのレコードに対して、1つの定型処理だし、相手先がデータベースじゃないので送信するだけだからです。

でも、扱うデータがレコードじゃなくて、データベース自体になると難易度が上がります。リードオンリーのTableauのデータストアから複数データを引き出して、どこかのデータベースに格納するみたいな場合、ソートの処理が入りますし、差分管理も必要で、整合性も保たなければならないので、ずいぶんハードルが上がります。

大谷:ハードルが上がるというのは、開発が大変になるということでOKですかね。

疋田:その通りです。さらに言うと、サービス同士で書き込みを行なう場合は、難易度がさらに上がります。なぜならロジックがないと書き込めないからです。

実は以前やったことがあるのですが、Sansanやメールで持ってきた顧客データをCRMに書き込もうとすると、他のデータが全部消えたりします。どれは上書きする、どれは残すみたいな判断をしないで、データをインポートするだけだったら、そりゃそうなりますよね。で、2回目やったら、今度は同じ顧客がもう1つできちゃうんですよ(笑)。だから、書き込み系の処理はロジックが必要になります。

大谷:確かに複数のデータセット、データベース単位で読み書きしようとしたら、処理は複雑になりますね。

疋田:正直、アクション系であれば、APIを書いた方が早いと思います。でも、複数のデータセットを扱ったり、バルクのデータを取り込んだり、データセットを複数のデータベースへ書き込むような処理はアクション系に比べて全然難しい。一次元から二次元になるという変革です。

だから、SaaS系の連携のほとんどは、なんらかの処理に通知を出すというアクション系か、もしくは自身がAPIを公開しているということです。データを読み書きするインターフェイスは用意していますが、ユーザーがプログラムを書いてくださいという状態です。もちろん、洗練されたAPIを持っている大手ベンダーもありますが、複数のデータセットを扱うような連携を可能にするSaaSベンダーはほとんどないですね。

過去記事アーカイブ

2025年
01月
02月
03月
04月
05月
06月
07月
08月
09月
10月
11月
2024年
02月
03月
04月
05月
06月
07月
08月
09月
10月
11月
12月
2023年
04月
07月
08月
09月
10月
11月
12月