ノーコードで簡単に?は本当か 「APIあるじゃん」にあえて異論を唱えてみる
CDataのある仙台でAPI連携とコネクティビティについて語り合ってみた
提供: CData Software Japan
「つなぐ」「連携」など便利であいまいな言葉たち
大谷:とはいえ、サービス同士をつなぐのであれば、「APIあるじゃん」「データ連携ツールあるじゃん」という話になりませんか?
疋田:そうですね。特にビジネス側の人は、APIがあるから連携できると思いがちです。ただ、SaaSベンダーのAPIエコシステムの曼荼羅を見ると、全部が容易につながる素敵な未来がよく描かれますが、これってAPIの一部に過ぎないんですよね。
大谷:どういうことでしょうか?
疋田:よく考えてください。APIって、Application Programming Interfaceの略。つまり、プログラミングしたら、データを出してあげるよというインターフェイスなんです。
でも、日本ではAPI=外部とのデータ連携を可能にするというイメージが強い。Web APIがあれば、EAI(Enterprise Application Integration)のようにいろんなサービスと容易に連携できるんだと思い込んでいる方は多い。でも、実際は前述したプログラミングのためのインターフェイスに過ぎない。これが難しいところで、おそらく「連携ってなによ?」という質問が来ると思います。
大谷:「つなぐ」の次は、「連携」の定義ですね。確かに連携は記事でもめちゃくちゃ使いますね。
疋田:実は連携って英語にすると、いろいろな意味を含みます。Interfaceは接続する仕様を意味するし、ConnectやAccessも日本語で言えばどちらからかつなぐという意味です。Integrateは2つのものを統合するということだし、Syncは同期ですよね。Pipelineはデータを流し込むようなイメージだし、UploadやDownloadもファイルの送受信です。だから、EAIも、ETL(Extract,Transfer,Load)も、ツールとしては連携ツールになります。これらを日本語で表現すると全部「連携」です(笑)。
「連携」って言葉は、できることややらなければいけないことを、フワッとさせすぎています。だから、連携と聞くと、先ほどの横文字を全部できるものだと思ってしまう。ビジネス系の人からは、連携という言葉が万能に見えてしまうわけです。
大谷:日常生活でも連携って便利に使えますよね。
疋田:「この案件、マーケ部門とも連携しておいて」とか言われますが、実際になにすべきかわかります? 「許可をとれ」なんだか、「協力を仰げ」なんだか、よくわからないですよね。まあ、「明確な指示は出さないけど、文句が出ないようにうまくやっておいてね」くらいの意味ですよね。この便利な連携という言葉がシステムの現場でも使われるがため、データ連携できると聞くと、「なんかうまくやってくれるのではないか?」という期待につながってしまうんだと思います。
でも、APIは前述した通り、プログラミングインターフェイスなので、基本はプログラムで1つ1つ命令を書いてあげないと、必要なデータが取り出せないということです。
大谷:なかなかビジネスパーソンにとっては敷居高いですね。
「ノーコードで簡単に」は本当か? API連携の無理ゲーを考える
疋田:たとえばBIツールやRPA、ETLのようなツールをSaaSに“つなげる”ケースを考えてみましょう。
一般的にはAPIがあるSaaSであればつながると考えます。うちで調べたところ、だいたい国内のSaaSの35%はAPIを持っています。正直、「35%しかAPIがない」って低いなと思いますが、カオスマップにのっているうちのだいたい3割はAPIでつなげるはずです。
逆にローカルで動かすツールはおおむね汎用コネクタを持っています。つまり、HTTPのリクエストをスクリプトで書いてくれれば、APIのリクエストでデータを取得できるというものです。つまり、結局はプログラミングが必要です。
ということで、ツールからSaaSにノーコードでデータを取得するには、APIを持っているSaaSで、かつツールが専用コネクタを持っている場合に限ります。だから、思ったよりずっと少ないはずなんです。
大谷:ビジネス側の方々が「ノーコードで簡単につなげられる」という期待からすると、かなり限定されますよね。
疋田:しかも、APIの仕様は各社でバラバラです。REST対応と言いますが、RESTってそもそもプロトコルではないので、REST規約に全然則ってなくても、それっぽければ「RESTful」と言われます。その他、Get、Put、Post、Deleteで取得するはずが、全部Postで実装しているAPIとか、オレオレ実装もけっこうありますし、データの持ち方も、ユーザー側が欲しいリレーショナルではなく、キーバリューとか、階層型とか、スキーマないとかさまざまです。
たとえば、kintoneを例にとっても、デフォルトの顧客アプリなら簡単にデータ取得できるけど、ユーザーが手を加えたり、新規で作ったら連携できるか疑問です。認証に関しても、URLとパスワードでつなぐケースもあれば、クライアント証明書だったり、サービスアカウント接続が必要という場合もあります。データ取得に関しても、全部取得ではなくフィルタをかけたり、一部集計したり、さまざまなニーズがあります。SaaSはAPIごとに仕様が違うんです。
大谷:APIでつなぐという話がどれだけ広範な意味で、どれだけ大変か、よくわかりました。安易に連携とか言っててすいません。
疋田:昔はOracleのPL-SQLが独自実装とか言われていましたが、APIの定義の違いから比べると正直言って方言レベルです。APIのRESTfulって、「英語も、ドイツ語も、フランス語も、ラテン語系だから同じだよね」というくらいのラフさ(笑)。でも、全然違う言語なのに対して、あたかも同じように分類されているんです。
だから、APIを使ってそれぞれのニーズに応えようとすると、ノーコードの連携ツールでは限界があって、結局きちんとしたプログラミングが必要になります。
この記事の編集者は以下の記事もオススメしています
-
デジタル
【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ならデータ連携も自らの手で