データベースに対して複数の更新を行うようなトランザクションでは、プログラマは適切なトランザクション分離レベルを設定することで、OS/400の「all
or none」コミットメント・コントロール・サポートを有効にすることができます。コミットメント・コントロール下で実行されるプログラム中では、プログラマはHLLまたはSQLのCommit文やRollback文を明示的にコーディングして各トランザクションの完了や中止を行わなければなりません。OS/400はデータベースに対する更新をジャーナル(ログ)に記録し、予期せぬシステム停止時に、ジャーナル・エントリを使用して今までコミットしたトランザクションを復元したり、トランザクションの一部をロールバックしたりすることができます。
iSeriesのトランザクション・サポートについては注意すべき点がいくつかあります。1つのランタイム設定、すなわちトランザクション分離レベルの設定で、実際の分離レベル(ロック経由)とall
or noneトランザクション復元/ロールバックの有効化/無効化をまとめてコントロールします。もう1つの注意点は、プログラマは実行可能文を明示的にコーディングしてトランザクション境界を画定しなければなりません。(後述しますが、J2EEでは違った方法でこれを行います。)
WebコンテナはWASなどのJ2EEアプリケーション・サーバーの一部で、サーブレットやJava Server Pages(JSP)の実行のランタイム・サポートを提供しています。サーブレットやJSPはリクエストを処理してHTTPレスポンス中に送り出される動的な出力を生成することができます。「コンテナ」という用語に馴染みがない場合は、単に「ランタイム・サポート」と読み替えてください。WebサーバーとWebコンテナは同じものではないので注意してください。EJBコンテナはEJBの実行をサポートしているJ2EEアプリケーション・サーバーの一部です。