kintone気をつけようシリーズ カスタマイズ編② トランザクション処理
お前誰?
トヨクモ株式会社の前CTOとしてフォームブリッジやkViewerなどkintone連携サービスの開発をしてきました。2014年の制度発足時からのkintoneエバンジェリストで、(自称)kintoneやkintone連携サービスのセキュリティ、パフォーマンス、カスタマイズなど高度な技術領域に詳しいマンです(^^)
今はトヨクモクラウドコネクト株式会社の取締役をしております。
これなに?
「kintone気をつけようシリーズ」では、セキュリティやパフォーマンスなどのkintoneやkintone周辺サービスを使う上での気をつけた方がいい点を発信していきたいと思っています。
今回はkintoneでのカスタマイズ時のトランザクション処理について考慮事項をまとめます。
kintoneでトランザクション処理
kintoneは非常に便利で様々な業務システムを構築できるのですが、予約処理や決済処理などトランザクション処理が必要となる場合、なかなかうまく構築できないことがよくあります。必要な処理を実現するためには、kintoneでレコードの追加・編集・削除処理、複数アプリの連動した処理、他システムと連動した処理など、レコードの操作だけでもいろんなパターンがあります。
リビジョン
レコードのリビジョンを利用してレコード編集を行うことで、同時に編集してデータが壊れた!ってことがなくなります。リビジョンはレコード編集とレコード削除で利用できます。
値の重複を禁止したレコード追加
値の重複を禁止したフィールドを活用したレコード追加の場合も、二重登録を防ぐ原子性および独立性を担保したトランザクション処理を実現できます。
その他のトランザクション処理
要件次第ですが、擬似的に実現する方法になるかと思います。1度仮データ扱いのステータスでレコードを保存し、必要な処理をすべて実行した後、本登録扱いのステータスに変更する。もしくは別アプリに保存し、必要な処理をすべて実行した後、本登録する方法が考えられます。
まとめ
kintoneは簡単にデータ構造を変更できるため、システムのスピード構築や業務の変化に合わせたシステムの改修をスピーディーに行うことができます。ただ、トランザクション処理が必要となる場合、相性が悪くなるなるパターンがあるため、要件に合わせて工夫が必要になります。kintoneだけでなく、データベースなど技術に明るい人でないと正しく設計することが難しいので、困った場合は詳しいエンジニアに相談してみるとよいかと思います。
この記事が気に入ったらサポートをしてみませんか?