ActivitySession サービスは、 グローバル・トランザクション・コンテキストによって提供される作業単位 (UOW) 有効範囲の、代替となる作業単位有効範囲を提供します。 ActivitySession コンテキストは、 グローバル・トランザクション・コンテキストよりも長期間存続でき、 グローバル・トランザクションをカプセル化できます。
グローバル・トランザクションの目的は、複数のリソース・マネージャーを調整することですが、 グローバル・トランザクション・コンテキストは、EJB インスタンスにアクセスするための"セッション"・コンテキストとして、J2EE アプリケーションによって頻繁に使用されます。 ActivitySession コンテキストは、 このようなセッション・コンテキストであり、2 フェーズ・コミット・リソース・マネージャーの調整が不要な場合、 グローバル・トランザクションに代わって使用することができます。 さらに、ActivitySession は、HttpSession に関連付けすることで、 "クライアント・セッション"を HTTP クライアントに拡張できます。
ActivitySession サポートは、Web、EJB、および J2EE クライアント・コンポーネントから使用可能です。 EJB コンポーネントは、 コンテナー管理 ActivitySession を活用する Bean と、Bean 管理 ActivitySession を使用する Bean とに分けることができます。
ActivitySession サービスは、ActivitySession コンテキストのアプリケーション管理区分用に、Bean 管理 ActivitySessions を使用する J2EE コンポーネントが使用できる UserActivitySession アプリケーション・プログラミング・インターフェースを提供します。ActivitySession サービスは、ActivitySession コンテキストのコンテナー管理区分用、 およびこうしたコンテキスト内の 1 フェーズ・リソース (RMLT) のコンテナー管理期間用に、 システム・プログラミング・インターフェースも提供します。
UserActivitySession インターフェースは 、java:comp/websphere/UserActivitySession の JNDI ルックアップによって取得します。 このインターフェースは、コンテナー管理 ActivitySession を使用するエンタープライズ Bean では使用できません。 このような Bean がこのインターフェースを取得しようとすると、NotFound 例外が発生します。
共通のシナリオとしては、非トランザクション (1 フェーズ・コミット) リソースによって補強される 1 つ以上 の Enterprise Bean に J2EE アプリケーションがアクセスするという手法が挙げられます。このアプリケーション、 またはそのコンテナーは、UserActivitySession インターフェースを使用して、Enterprise Bean に対する操作を グループ化する区分境界を定義し、これらのグループ化された操作にチェックポイントを指定するか、 またはこれらの操作を廃棄するかを制御します。 Enterprise Bean のビジネス・ロジックは、ActivitySession インターフェースを 使用する必要はありません。Enterprise Bean のデプロイ先のコンテナーにより 、基盤となる 1 フェーズ・リソース・マネージャーに 対する更新が確実に調整されます。
アプリケーションは ActivitySession にチェックポイントを指定して 、ActivitySession を終了せずに、ActivitySession 内で整合性の新規ポイントを作成することができます。 アプリケーションは、リセット操作を使用して、ActivitySession で実行された作業を、 整合性の最後のポイントに戻すこともできます。アプリケーションは、 チェックポイントを指定するか、またはすべてのリソースをリセットすることによって、ActivitySession を終了することができます。