こんにちは! ご機嫌いかがですか?
今日はkintoneでバッチ処理を作る・・・といってもkintoneでバッチを仕込むことはできないので、外部サービスと連携して、実現する方法についてご紹介したいと思います。
システム構築に必須なバッチ処理とkintoneとの関係について、見ていきましょう!
バッチ処理とは
たとえば・・・
- 真夜中、0:00になったら工場の生産実績レコードを集計してアプリに転記したい。
- 毎月20日になったら請求に必要な情報を経理を担当している基幹システムから連携したい。
- Webフォームから申し込みがあったらkintoneの複数のアプリにレコードを入れ、お礼のメールを返し、採用担当にメールして、採用管理システムにも登録したい。
といった「いくつかの時間がかかる処理をまとめて実行する」処理をバッチ処理と呼びます。
どうです? やってみたくないですか?
kintoneの弱点の一つ
kintoneはWebデータベースサービスです。バッチ処理を設定する方法はありません。
個々の機能としてリマインダーやレコードの条件通知がありますが、バッチ処理と呼べる機能はなく、各データベース(アプリ)は静的につながりあっています。
もしkintoneにバッチ処理を掛けたい場合、連携サービスの力を借りるしかありません。
バッチ処理の種類
バッチ処理には種類があります。今回は「どのように起動させるか」という観点で2つに分けることができます。
★スケジュール起動バッチ
午前0:00に、とか毎15分ごとに、といった「時間」で起動するタイプのバッチ処理です。目覚まし時計がイメージしやすい?
★トリガー起動バッチ
レコードが追加されたら、ボタンが押されたら、といった「○○したら」起動するバッチ処理です。
kintoneでは制限が多いwebhookの利用は気をつける必要があります。
バッチ処理を作る方法
方法1:専用連携製品
kintoneに特化した製品を利用することで、高機能で安価にバッチ処理を実現することができます。
krewData
後述のEAIツールのようにブロックをつなげて、一連の処理を作成できます。ストレージサービスからの外部ファイル入出力もでき、決定版ともいえるツールです。
DataCollect
プリントクリエイターやkViewerなどでおなじみのトヨクモ社の製品です。安価で、kintoneユーザーには設定が易しいです。
gusk Customine
kintoneの機能拡張を特長とする製品ですが、Job Runnerという画期的な機能が搭載されてさらに高機能になりました。どこまでいくんでしょうか?
方法2:タスク自動化ツール
軽量なバッチ処理を実現するときに適したツールです。組織ではなく個人のタスク自動化にも。
Yoom
業務の自動化を目指す製品ですが、Webフォームやデータベースなど、驚くほど機能がそろっています。kintoneとの連携は事例も多いです。
Zapier
企業やビジネスユーザーを対象とし、複数のステップ連鎖が可能なツールです。kintone統合が利用できますので、設定も手軽です。
IFTTT
個人向けを対象として、シンプルなUIで日常生活を自動化するのに適します。SNS投稿やスマートデバイス連携など、個人を対象にしている機能が主です。
PowerAutomate
Microsoft社のPowerPlatformのツール群のひとつで、Office365との連携が強い自動化ツールです。Office製品と一緒に利用するならこれです。
方法3:汎用EAI製品
kintoneだけではなく、あらゆるデータベースサーバーや汎用機とも連携できてしまう高機能な製品です。自社のシステム全体をレベルアップさせるなら選択肢となります。
AsteriaWarp
ブロックをつなげて処理を作ることで、ノーコードでバッチ処理が作れてしまう製品です。
Qanat
kintoneのプラグインなどを多数開発しているJBアドバンスト・テクノロジー社のEAI製品です。
DataSpidar
AsteriaWarpのようにノーコードで実現できるEAI製品です。実績多数。
方法5:IaaS
開発担当者にソフトウエア開発の力量があるなら、バッチ処理をコーディングするのも手です。開発工数を除けば、最も安価に実現できるでしょう。
多くのサービスでイベントトリガーと関数(ソフトウエア)とログ管理が分かれていますので、相応の実装能力や機能理解が必要です。
GAS(GoogleAppScript)
JavaScriptに準拠した記法で開発でき、スケジュール実行やwebhook待ち受けなどが実現できます。Googleアカウントに付随しているサービスです。基本無料。
各社クラウドサービスのFunctionサービス
いずれもソフトウエアを開発し、アップロードする形式です。githubなどリポジトリサービスからCIを利用したデプロイなどが可能です。
・FirebaseFunctions
・AWS Lambda
・AzureFunctions
など。
選定の方法
たくさんあるkintone連携製品からどう選んだらよいでしょうか? 迷いますよね?
まずは「予算」でしょうか? 各製品ごとに価格帯がばらばらですので、まず手が届くものから考える必要があります。ETLツールは高機能である傍ら、高額になってきます。kintoneの運用金額とバランスがとれる価格帯の製品がよいでしょう。
次に「kintoneへの対応状況」です。”kintoneと連携できる”と謳っていても、実際はHTTPSでkintoneAPIを呼び出しているだけだったりすると、REST-APIの知識が設定者に必要になります。パーツを組み立てるだけなのか、それとも通信やコーディングの知識が必要になるのか。確認しておく必要があります。
いろいろな製品から自社に合った製品を選んでみてください。
まとめ
なんだかいろんな方法があってめまいがしてきました。迷っておられる方はkrewDataやYoomのような、試用期間があるサービスで、使い勝手を試してみることがおすすめです。
ちなみに、わたし(筆者)のお気に入りはGASです。気をつけて運用すれば高機能で無料で、Googleの機能を最大限に生かせますからね。
みなさんも自分の「推し製品」、選んでみてくださいね!