1 Oracle DatabaseとMicrosoft Transaction Serverの連携
これらのトピックでは、Microsoft Transaction ServerとOracle Databaseの統合について説明します。
1.1 Microsoft Transaction Serverの概要
Microsoft Transaction Serverは、インターネットまたはネットワーク・サーバー上で動作する、独自規格のComponent Object Model(COM)トランザクション処理システムです。Microsoft Transaction Serverでは、クライアント・コンピュータにかわってアプリケーションおよびデータベース・トランザクションの要求をデプロイおよび管理します。Microsoft Transaction Serverによって提供される機能は次のとおりです。
-
分散アプリケーション開発用のActiveX/Distributed Component Object Model(DCOM)プログラム・モデル、および開発したアプリケーションをデプロイするランタイム環境
-
トランザクション内のコンポーネントのAtomicity_ Consistency_ Isolation_ and Durability (ACID)プロパティ
-
コンポーネント・キャッシュおよびデータベースの接続プーリングなどのパフォーマンス強化機能へのアクセス
Microsoft Transaction Serverは、サーバー中心のアーキテクチャ・モデルによる3層のコンポーネントです。このモデルにより、アプリケーションのプレゼンテーション、ビジネス・ロジックおよびデータ要素を分離して、ネットワークに接続された別々のコンピュータに配置できます。Microsoft Transaction Server機能は、COM+およびEnterprise Servicesにも実装されています。Microsoft Transaction Server、COM+およびEnterprise Servicesは、Oracle Services for Microsoft Transaction Server(OraMTS)によりサポートされます。
関連項目:
Microsoft Transaction Serverの追加情報は、Microsoftのドキュメントを参照してください。
1.2 Microsoft Transaction ServerとOracleの統合の概要
特別な統合を行わなくても、Oracle Databaseに接続されたMicrosoft Transaction Serverで、Win32、Win64、COMまたはMicrosoft .NETを使用して作成したアプリケーションをデプロイできます。ただし、次のいずれかの機能を使用する場合は、Oracle Services for Microsoft Transaction Server(OraMTS)をインストールする必要があります。
-
Win32、Win64、COM、または.NETアプリケーションをトランザクションとして登録し、Microsoft Transaction Serverでトランザクションを制御します。このためには、Microsoft管理コンソールでコンポーネントの「プロパティ」ダイアログ・ボックスを使用します。
-
Microsoft Transaction Serverでクライアント側の接続プーリングを使用
Oracle Services for Microsoft Transaction Serverがインストールされた後、Oracle MTS Recovery Serviceも同じコンピュータに自動的にインストールされます。Oracle MTS Recovery Serviceは、そのコンピュータで開始されOracle Databaseインスタンスに残っているインダウト・トランザクションのリカバリに役立ちます。接続されているデータベースそれぞれについて、次の操作を行います。
-
Microsoft Transaction Server管理者ユーザー・アカウントを作成します。
-
データベース・レベルでのトランザクション・リカバリ・ジョブのスケジューリングを行います。
これにより、データベースをMicrosoft Transaction Serverで開始されたトランザクションに登録することが可能になります。
次のいずれかのOracle製品を使用してCOMコンポーネントを作成します。
1.2.2 Real Application Clusters(Oracle RAC)の分散トランザクション
Oracle Databaseリリース11.1では、データベースは分散トランザクションのすべてのブランチを、単一のOracle RACインスタンスに自動的にリダイレクトします。以前は、開発者が個別にすべてのブランチを単一のOracle RACインスタンスにリダイレクトし、手動でこのプロセスを管理する必要がありました。
関連項目:
Real Application Clustersの分散トランザクションの詳細は、『Oracle Real Application Clusters管理およびデプロイメント・ガイド』を参照してください。
1.2.3 昇格可能ローカル・トランザクション
昇格可能ローカル・トランザクションでは、複数のデータベースがトランザクションに入れられるまで、すべてのトランザクションをローカルに保持できます。トランザクションに入れられた時点で、分散トランザクションに昇格します。
昇格可能トランザクション機能の柔軟性により、トランザクション・アプリケーションでリソースの使用効率を向上できます。分散トランザクションは、ローカル・トランザクションに比べて大幅なオーバーヘッドが必要です。そのため、1つのデータベースのみを使用している場合は、ローカル・トランザクションの方が優れています。設計時には、トランザクションがローカルになる場合と分散させる場合とが不明なことがあります。この機能以前は、ローカル・トランザクションがほとんどであるとしても、開発者は常に分散トランザクションを使用する必要があったため、不要なリソースの使用が生じていました。
この機能は、Oracle Database 11g リリース1以上でサポートされています。以前のバージョンのデータベースおよびその他のリソース・マネージャは、最初にOracle Database 11g リリース1以上のデータソースに接続されているかぎり、昇格可能トランザクションに入ることができます。
関連項目:
System.Transactions
サポートの詳細は、『Oracle Data Provider for .NET開発者ガイド』(Microsoft Windows用)を参照してください。