連携パターン別 kintone と外部システムの連携方法と選び方のポイント

目次

はじめに

kintone と外部システムの連携には多くのニーズがあり、その一方で検討すべき事項があるため、次の記事でポイントを紹介しています。
kintone と外部システムを連携する際に検討すべきポイント

本記事では、kintone と外部システムとのデータ連携に対する具体的な方法を 4 つのパターンに分類し、それぞれのパターンでの検討事項やマッチするケースについて紹介します。

想定読者

  • kintone と外部システムの連携を提案する人
  • kintone と外部システムの連携を検討する人

kintone と外部システムの連携パターンについて

kintone と外部システムの連携方法は、基本的に次の 4 つのパターンに分類されます。

連携パターン 利用する kintone の機能
A. 転記パターン ブラウザー画面における入出力
B. CSV パターン CSV の読み込み・書き出し
C. 連携製品パターン kintone REST API, Webhook 機能, JavaScript によるカスタマイズ
D. 個別開発パターン kintone REST API, Webhook 機能, JavaScript によるカスタマイズ

kintone の機能ごとに分類すると上記表のようになりますが、実際には、各機能を複合的に組み合わせた応用パターンも考えられます。
この記事では、基本の 4 つのパターンについて、検討すべきポイントを紹介します。

A. 転記パターン

ブラウザー画面において、手作業にて転記するパターンです。
連携するデータが少量の場合は、まずはこのパターンを検討します。
連携の自動化にかかるコストと、転記作業の日々の煩わしさや手作業により発生しうる転記ミスの影響を比較し判断します。

転記データが多量な場合、もしくは複雑な作業を必要とする場合は、メンテナンスが煩雑となり得るため、他の連携パターンを検討をしてください。

転記作業を楽にするテクニック

転記作業による煩わしさについては、kintone の基本機能や RPA 製品を活用することにより軽減可能です。

自動計算機能を利用してフィールドの値をまとめる

たとえば、レコード詳細画面から複数のフィールドを転記する必要がある場合、「文字列(1 行)」フィールドの自動計算機能を利用し、対象のフィールドの値をまとめることで手数を減らすことが可能です。

まとめたいフィールドのフィールドタイプによっては、「文字列(1 行)」の自動計算機能だけでは実現できない場合もあります。
この場合、JavaScript カスタマイズや、パートナー提供のプラグインを使ったフィールド結合を検討してください。

スレッドにアプリを貼り付けて転記内容をまとめて表示する

kintone の「アプリ貼り付け」機能を利用することで、「お知らせ」に情報を一元化し、転記しやすい環境の用意が可能です。

RPA製品を利用する

データが少量で、かつ常に同じ箇所に転記する場合は、RPA 製品の利用も選択肢となります。

B. CSV パターン

連携先の外部システムに CSV の読み込み/書き出し機能が備わっている場合に、本パターンを検討可能です。

CSV で連携する際に確認するポイント

CSV での連携を検討する場合には、外部システムの CSV 機能について、次のような項目を必ず確認してください。

確認項目 説明
操作方法 ブラウザーや専用クライアントからの操作、コマンドラインなど
フォーマット 値の位置や順番が固定か否か、カラム名の仕様、マッピング対応可否など
実行タイミング スケジュール実行、トリガ実行など
ファイル入出力場所 PC などのローカルディスク、クラウドストレージなど
文字コード Shift-JIS、UTF-8 など
その他の仕様・制限事項 改行コード、ファイルサイズ上限、最大行、最大カラムなど

CSV フォーマット

連携する情報の連携先が期待するフォーマットかどうかを確認します。
kintone および外部システムの機能によっては、CSV の変換処理を必要とする場合があります。
テキストデータの変換処理となるため、運用担当者が継続的にメンテナンス可能なスクリプト系言語を利用して対応することを検討してください。

kintone からの CSV 書き出しと読み出し

kintone には、ブラウザーから実行する「ファイルに書き出す」「ファイルから読み込む」に加え、コマンドラインツール(cli-kintone)による CSV 入出力が可能です。スケジュール実行などの場合は、利用を検討してください。

kintone における CSV ファイルの制限は次のページを参照してください。

CSV 連携の例

参考までに、 CSV を使った連携の一例を紹介します。
以下の例は、外部システムに、CSV 出力コマンドが備わっており、ジョブ実行可能なサーバーがある前提としています。

C. 連携製品パターン(プラグイン、ETL / EAI 、iPaaS 等)

kintone の連携製品は多数あります。要件に応じた製品を利用してください。

プラグインによる連携

本記事において「プラグイン」は、kintone アプリに設定するプラグインだけでなく、連携サービスを含みます。

プラグインについては、外部システムと kintone の専用連携製品がないかを確認します。
連携製品が存在する場合は、提供元の制限事項を事前確認し、要件にマッチするかを判断します。
(例)特定の会計クラウドサービスとの専用連携プラグインなど。

「B. CSV パターン」の派生となりますが、CSV 連携を簡単に行うためのプラグインもあります。組み合わせて利用することも検討してください。
(例)データ入力として CSV をサポートしているプラグインなど。

ETL/EAI による連携

ETL / EAI は比較的高コストとなりますが、多量のデータの連携やさまざまな変換への対応、実行中のエラー対応など、運用において必要な点を考慮している場合が多くあります。
外部システムと kintone の両方に対応する ETL / EAI 製品がないかを確認します。
連携製品が存在する場合は、提供元の制限事項を事前確認し、要件にマッチするかを判断します。

iPaaS による連携

iPaaS は、複数の外部システムでデータ連携させたい場合に利用すると、効果が高くなります。
多量や複雑なデータ連携というよりも、順序に従いデータを複数クラウドに受け渡し、処理を進めるというフロー制御に注目するのがよいと考えます。
外部システムと kintone の両方に対応する iPaaS 製品がないかを確認します。
連携製品が存在する場合は、提供元の制限事項を事前確認し、要件にマッチするかを判断します。

iPaaS による連携イメージ

kintone のデータを他システムに渡し、かつ、そのデータをファイルとしてクラウドストレージに保管、その後、SNS で通知するといった内容になっています。
iPaaS の役割は、各クラウドとの接続とデータ連携、並びに、それぞれの処理のフロー制御となります。

D. 個別開発パターン

これまでのパターンでは解決できない要件の場合、個別開発での実現検討を行います。
kintone は、アプリに対して、JavaScript によるカスタマイズの実施や、kintone REST API を使ったプログラムによる外部からのデータ操作が可能となっています。

個別開発を検討する際は、外部システムについて、以下の項目を確認してください。

確認項目 説明
外部システムの種類 クラウドサービス、パッケージ利用し構築したオンプレミス システム、スクラッチ開発したシステムなど
外部向け API 外部システムのデータにアクセスするためのプログラム開発手段の有無確認( API や SDK など)
提供元によるカスタマイズ対応 外部向け API がない場合に、提供元による機能追加を依頼可能か、また、可能な場合のコストの確認
データベースへの直接アクセス パッケージやスクラッチ開発の場合、データベースへの直接アクセスが可能かの確認

次に、連携の実現方法を検討します。 外部システムに外部向けの API が存在するかどうかによって、実現方法が異なります。

外部システムに外部向け API がある場合

kintone REST API および外部システム API を使ったプログラム開発を行うことで、連携可能となる可能性があります。
実現可能性について事前検証をした後、実装を開始してください。
なお、プログラムの実行環境については、いくつか選択肢が考えられます。
性能をはじめ、セキュリティや保守面を考慮して実行環境を選択してください。
(オンプレミス サーバーや、クラウドの仮想サーバー、クラウドのサーバーレス実行環境など)

外部システムに外部向け API がない場合

提供元によるカスタマイズ対応が可能ならば、提供元に kintone REST API の情報を提示し、要件に合わせて開発依頼を検討してください。

おわりに

kintone と外部システムの連携には、大きく 4 つのパターンがあることを説明しました。
kintone の誰でも簡単にアプリが作れる長所を活かして、工夫を凝らすことで、必ずしもプログラム開発が必要とは限らないことを知っていただけるとうれしく思います。
また、kintone を取り巻くパートナーの皆様のご協力で、連携できる対象が、今後も増えていくことが容易に予想されます。
これらを活用しながら、これからも kintone を最大限使っていただけると幸いです。