6.9 XAでのNode.jsアプリケーションの開発
- トランザクション・イニシエータとしてのNode.jsアプリケーションの構成
トランザクション・イニシエータ・サービスは、トランザクションを開始します。トランザクション・イニシエータ・サービスは、アプリケーションのビジネス・ロジックに基づいて、トランザクションの開始のみ、またはトランザクションの開始とトランザクションへの参加を行うことができます。 - トランザクション参加側としてのNode.jsアプリケーションの構成
リソース・マネージャがXAに準拠しているかどうかに応じて、環境変数を設定し、MicroTxクライアント・ライブラリの様々なクラスを実装します。
親トピック: XAでのアプリケーションの開発
6.9.1 トランザクション・イニシエータとしてのNode.jsアプリケーションの構成
トランザクション・イニシエータ・サービスは、トランザクションを開始します。トランザクション・イニシエータ・サービスは、アプリケーションのビジネス・ロジックに基づいて、トランザクションの開始のみ、またはトランザクションの開始とトランザクションへの参加を行うことができます。
開始する前に、アプリケーションがトランザクションを開始するだけか、トランザクションを開始して参加するのかを確認します。2つのシナリオでは要件が若干異なるため、それに応じてアプリケーションを構成します。
2つのシナリオを検討して、アプリケーションがトランザクションを開始するだけか、トランザクションにも参加するかを理解します。
- シナリオ1: 銀行振込アプリケーションによって、ある部門から別の部門に送金します。この場合、振込アプリケーションはトランザクションを開始するだけで、トランザクションには参加しません。振込アプリケーションは、トランザクションを完了するためにビジネス・ロジックに基づいて様々なサービスをコールします。データベース・インスタンスは、振込アプリケーションにアタッチされる場合とアタッチされない場合があります。
- シナリオ2: 銀行振込アプリケーションによって、ある部門から別の部門に送金します。振込アプリケーションは、トランザクションごとに手数料として1%を請求します。この場合、振込アプリケーションはトランザクションを開始して参加します。データベース・インスタンスは、トランザクション情報を保存するために振込アプリケーションにアタッチされる必要があります。
Node.jsアプリケーションをトランザクション・イニシエータとして構成するには:
イニシエータ・サービスが、トランザクションを開始するだけでなくトランザクションに参加する場合、トランザクションに参加してリソース・マネージャと通信するアプリケーションのために追加の構成を行う必要があります。トランザクション参加側としてのNode.jsアプリケーションの構成を参照してください。
親トピック: XAでのNode.jsアプリケーションの開発
6.9.2 トランザクション参加側としてのNode.jsアプリケーションの構成
リソース・マネージャがXAに準拠しているかどうかに応じて、環境変数を設定し、MicroTxクライアント・ライブラリの様々なクラスを実装します。
- XA準拠リソース・マネージャを使用するNode.jsアプリケーションの構成
XA準拠のリソース・マネージャを使用する場合は、この項に記載されている情報を使用してNode.jsトランザクション参加側アプリケーションを構成します。 - 非XAリソースを使用するNode.jsアプリケーションの構成
非XAリソース(MongoDBなど)を使用する場合は、この項に記載されている情報を使用してNode.jsトランザクション参加側アプリケーションを構成します。
親トピック: XAでのNode.jsアプリケーションの開発
6.9.2.1 XA準拠リソース・マネージャを使用するNode.jsアプリケーションの構成
XA準拠のリソース・マネージャを使用する場合は、この項に記載されている情報を使用してNode.jsトランザクション参加側アプリケーションを構成します。