ノーコードで簡単に?は本当か 「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ベンダーはほとんどないですね。

過去記事アーカイブ

2024年
02月
03月
04月
2023年
04月
07月
08月
09月
10月
11月
12月