見出し画像

初めてDomoのカスタムコネクタを作ってみたら色々と大変だった話

こんにちは。アタラ合同会社コンサルタントの澤田哲郎です。

私は、現職はコンサルタントではありますが、数年前までは開発エンジニアとして働いていたため、今でも、簡単なものであれば、辛うじて開発できるくらいの知識は持っています。辛うじて…。

そのため、先日、社内利用するためにDomoのカスタムコネクタを作ってほしいという依頼を受けました。社内で利用しているサービスのデータをBIツールのDomoで取り込もうとしたが、Domo標準のコネクターだと求めているデータが取得できないとのことだったので、実際に開発してみました。

カスタムコネクタというサービスは知っていても、実際に開発してみると色々と思うところがあり記事を執筆してみました。

1. BIツール選定の前にデータ整理が重要

課題解決や戦略立案のためにデータの可視化を行おうとする際、どんなBIツールを導入して、どんなグラフを作るかより、どんな分析を行いたいか(現状有しているデータが何で、不足しているデータは何か)を明確にすることが重要です。有しているデータが、どんなフォーマットでどこに保存されているのか、不足しているデータは取得可能なものなのかなどデータ整理をすることが、最初に取り組むべき、かつ、いちばん重要なタスクとなります。

実際、社内で利用しているシステムは多岐にわたります。

データをローカルで保存しているもの、クラウド上に置かれているもの、システム固有のデータであって当該システム外からはアクセスできないものなど、システムを利用していても様々な背景から簡単にはデータを取り出せなかったり、取り出せるデータだけでは足りないケースがあります。

現状、何があって、何が足りず、補完するために何が必要であるかを取りまとめた上で、可視化のためのロードマップを引くことが最初のステップになります。

オンプレミスのシステムで、自社データベースにデータが格納されているものであれば、そのままBIツールに取り込むことも可能です。しかし、クラウドサービスを利用している場合は、APIでしかデータを取得できないケースがあります。

APIを使用する場合、データを取得する方法は二つあります。データ連携・統合サービスを提供しているサードパーティ製品を利用するパターンか、APIを用いてデータ取得・保存するための環境を用意し開発を行うパターンか、です。前者の場合、サードパーティ製品の内部でAPIを使い、後者の場合は直接APIを使うイメージです。

サードパーティ製品を利用する場合は、自社で利用しているサービスが対象であるか、また、求めているデータ(内容やフォーマットなど)を取得できるかの選定調査が必要となります。利用サービスが複数であれば、それらすべてに対応可能かを調査し、サードパーティ製品導入自体にかかる費用や工数などのコストを算出しなければなりません。

APIを用いた連携を開発する場合は、インフラなどの費用算出と、自社開発にしろ他社に依頼するにしろ開発工数を算出する必要があります。BI導入部署がそれらの費用・工数をすべて担えるようなら問題ないのかもしれませんが、別部署に依頼して費用と工数の見積もりをしてもらって、要員を確保してもらってスケジュールを立てて…となると、自部署でコントロールできない領域が増え、BI導入・運用までのハードルが高くなってしまいます。

いずれにしろ、他システムのデータを取得することが、BIツールを導入する以前にかなり大きな障壁となり得ます。データ整理をおざなりにすると、いざBIツールでグラフを作ろうとしても、必要なグラフ群を作ることができなかったり、想定していた効果を発揮できない結果となってしまう場合もあります。

なお、このデータ整理については別の機会に改めてお話するとして、BI導入とは別に、弊社にてデータ整理のお手伝いもさせていただいております。ご興味のある方はぜひご連絡ください!

2. Domoが提供しているたくさんのコネクターとカスタムコネクタ

データベース上にデータが格納されている場合や、クラウドやオンプレミスにcsvやExcelファイルが格納されている場合であれば、多くのBIツールに標準搭載されているデータ取り込み機能を活用することができます。しかしAPIを介して他サービスのデータ取得を行う場合、標準で他サービスへの接続機能が用意されているツールでも、その種類は多くはなく、自社で利用しているサービスすべてを網羅できないという状況も少なくはありません。

グラフの種類や、作りやすさなどの見た目に目が行きがちではありますが、私がDomoを初めて利用していちばんに評価した点は、他サービスへの接続コネクターが他ツールとは比較にならないほど多いところにあります。

Domoアプリのコネクター一覧画面

導入される個々のお客様にとっては、大半のコネクターは利用されないものかもしれませんが、初期導入の障壁が下がることに加え、BI導入後に新規に利用し始めたサービスのデータ取得も容易になる可能性が高まります。

もしかしたら、BI導入担当者の方にはあまり重要視されないポイントかもしれませんが、コネクターの種類が豊富なことは、BI導入までの不要な躓きを減らしてくれるポイントとなりえます。

もちろん、Domoが用意しているコネクターで全サービスを補完しているわけではありませんし、対応しているサービスであっても、自社で欲しいデータテーブルが対象外だったり、必要なフォーマットではない場合など、結局は何かしらの対応が必要な場合もあります。

このような場合に、カスタムコネクタとして、自社で必要に応じたコネクターを開発できる環境をDomoが提供していることも、より評価できる点だと考えています。ある程度の開発知識は必要とはいえ、ゼロから環境構築と開発を行うより圧倒的に工数も費用も低減でき、自由度の高いデータ取得が行える点が魅力です。

3. カスタムコネクタ自体は良いのだけれど

と、ここまで、Domoの標準コネクター、カスタムコネクタについて、すごい良いですよ!ということをお話してきました。しかし、実際にカスタムコネクタを開発してみると、本来、そこまで開発難度も高くはないものが、Domoの開発用ドキュメントが分かりづらいせいで、かなりとっつきにくいものになっているのではないかというのが個人的な感想です。

参照元:Domo for Developers  Custome Connectors

ドキュメントに関しては、そもそも英語しかない点以外にも、開発についての知りたい情報が十分には載っていなかったり、探しづらかったり、まとめかたがわかりにくいと感じる部分がありました。

また、開発環境についても、なぜこういう仕様なんだ?と疑問に思う点がいくつかあり、開発のしづらさを感じたのが正直なところです。

特に、特定のコネクターでは、自社のみで使うコネクターであっても(カスタムコネクタは自社のみでしか利用できないものとするか、全社公開するかを選択可能)、Domo側の審査が必要です。開発してすぐ使用してみて、微調整して再度使用して…という利用方法ができないケースがあるのは、開発者の立場としてはかなりストレスを感じました。

本質は良いものだと思っているからこそ、もっと間口を広げて触りやすいものに、また、より開発・運用しやすいものにしていただきたいと思っています。

4. カスタムコネクタ開発のためのナレッジ書いてみました


間口が狭くて、開発し辛い箇所もあるものの、1回作り終えれば、全体像が見えます。実際の難度はそこまで高くないものなので、次回以降の開発は、かなりスムーズになると思います。

そのために、カスタムコネクタの開発の大枠をまとめてみましたので、コネクター開発に興味のある方はご一読いただければと思います。

Domoユーザーの方であれば、これをきっかけにカスタムコネクタの開発に興味を持ってもらえれば嬉しいですし、BIツール選定中の方であれば、難度の参考にしていただけると幸いです。

1回作ればハードルはぐっと下がるものの、やはりドキュメントも開発環境もより使いやすくなってほしいというのが正直なところです。もっと開発ユーザーを増やしつつ、Domoへの改善要望も増やして、より良い環境にしていきたいなと考えていますので、ぜひぜひ、お試しででも開発してみてほしいです。

5. さいごに

アタラでは、「具体的な他サービスのAPI連携を行うコネクターを開発したいが、あまりスクリプト知識も深くないので、補助的なレクチャーやサンプルスクリプトを作って教えて欲しい」といったご要望についても、お客様の具体的なレベル感と要望、当該サービスの内容をヒアリングしつつ、ご提供可能なレクチャー内容を構築することも可能です。

ご興味ある方はぜひご連絡ください。


アタラでは一緒に働くメンバーを募集しています