ActivitySession サービス
ActivitySession サービスは、 グローバル・トランザクション・コンテキストによって提供される作業単位 (UOW) 有効範囲の、代替となる作業単位有効範囲を提供します。 ActivitySession コンテキストは、 グローバル・トランザクション・コンテキストよりも長期間存続でき、 グローバル・トランザクションをカプセル化できます。

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