トランザクション は、データ ストア (データベースやファイル システムなど) の一連の変更であり、すべて正常に実行されるか、まったく実行されないことが保証されます。 トランザクションを実装するには、トランザクションが開始される前にレコードがデータ ストアの状態を保持し、変更のいずれかが失敗した場合、トランザクションはエラーを返し、初期状態が復元 (またはロールバック) されます。 トランザクションはデータの整合性を維持するために使用されるため、ビジネス ソフトウェア プログラミングにおいて重要な役割を果たします。
多くの場合、アプリケーションは、複数の小規模なトランザクションまたはアクティビティに分割されたビジネス トランザクションまたはワークフローを使用して開発できます。 これらのアクティビティは時間で区切られ、信頼できるメッセージ キューを使用して接続されます。
- 最初のトランザクションには、注文エントリ データベースが含まれます。 メッセージ キュー トランザクション機能を使用して、1 つのキューから別のキューにメッセージを 1 回限り移動します。 データベースが更新されると、キューにメッセージが表示されます。 メッセージがキューに到達しない場合、メッセージは中止され、データベースはロールバックされます。
- しばらくすると、メッセージ キューによってサーバーが使用可能であることが検出されます。 サーバーの存在をポーリングするアプリケーションはありません。 これは 2 番目のトランザクションです。
- 3 番目のトランザクションには、出荷データベース クエリと出荷データベースの更新が含まれます。 このトランザクションの途中でサーバーが失敗した場合、変更はロールバックされ、メッセージは入力キューに返されます。 これにより、トランザクション中にデータとデータベースの整合性が維持されます。