《Bubble》Backend Workflowについて
概要
Backend Workflowとは
Bubbleのワークフローは、通常クライアント側で実行されます。
それに対して、Backend Workflowとは、サーバー側で実行されるワークフローです。
今回はBackend Workflowについて解説して行きます。
※2023年2月現在、Backend WorkflowはPersonalプラン以上でないと使えません。
Backend Workflowについて
メリット
Backend Workflowを使うメリットは以下です。
- 日時を指定した処理ができる
- 一括処理により動作が早い
- 外部サービスと連携する際に、APIエンドポイントとして使用可能
ユースケース
- プライバシールールで保護されているメールアドレス宛にメールを送信する
- メールを繰り返し送信するなどの繰り返し処理
- データベースの変更に対して、ワークフローを組む
- 一定期間ごとに大量のデータを集めて処理する場合のバッチ処理
バックエンドワークフローの呼び出し方
バックエンドワークフローには、以下の2種類があります。
・非同期処理
・同期処理
・非同期処理
非同期処理では、タスクがバックグラウンドで実行され、完了を待たずに次のタスクに進むことができます。これは、複数のタスクが並行して実行されることを意味します。
具体例
- メール送信: ユーザーがフォームを送信した後、確認メールの送信はバックグラウンドで行われ、ユーザーは待たずに他のページに移動できます。
- データのバッチ処理: 大量のデータを分析する際、データはバックグラウンドで処理され、ユーザーは結果を待つ間に他の作業を続けることができます。
利点
- 効率性: 複数のタスクが並行して実行されるため、全体の処理時間が短縮される。
- ユーザーエクスペリエンスの向上: ユーザーが長い処理時間を待つ必要がないため、アプリケーションの応答性が向上します。
・同期処理
同期処理では、タスクは順番に、一つずつ実行されます。一つのタスクが完了するまで次のタスクは開始されません。これは、タスクの実行順序が保証されることを意味します。
具体例
- ユーザー登録プロセス: ユーザーがフォームに入力し、送信ボタンを押すと、サーバーはその情報を受け取り、データベースに登録するまで次のステップに進みません。
- 注文処理: オンラインストアで商品を購入する際、支払い処理が完了するまで注文確認ページは表示されません。
利点
- 予測可能性: 処理の順序が保証されているため、プロセスの流れが分かりやすく、予測しやすい。
- 単純さ: 同期処理は理解しやすく、実装が比較的簡単。
実際の例
ケース:ボタンを押すと文章の要約が行われる機能で要約された文章を今すぐみる必要がない場合
フロントエンドとバックエンドでChatGPTをつかって文章を要約するという実装を行います。
ご覧の通りバックエンドを使用する際ではユーザー側での処理はバックエンドに要約の処理を投げる、だけのため、実際に文章の要約が終わるまでユーザーが待つ必要がなくなります。対してフロントエンドでは文章の要約が終わるまでユーザーはただ待つことしかできないため、即時に要約結果を見たい、というケースでないならばバックエンドを使った方が優れたユーザー体験を提供できる、ということになります
https://bubble.io/page?type=page&name=backend_workflow&id=bubble-references&tab=tabs-1
このように処理の結果が即座に必要でない際にはバックエンドを使ってユーザーを待たせない、ということを心掛けると、より良いユーザー体験のためにもおすすめです!