トランザクション処理テクノロジ
ASP をトランザクションに利用できるようにした主要なテクノロジは、コンポーネント サービスです。コンポーネント サービスにより、IIS に対して、コンポーネント インスタンスをホストするためのトランザクション サービスと環境が提供されます。この環境には、個々のコンポーネント インスタンスに対して、属性を作成できるという利点があります。ASP スクリプトを IIS でコンパイルすると、IIS Web Application Manager (IISWAM) の新しいインスタンスが作成されます。IISWAM はアプリケーションを管理するために、IIS によって使用される COM コンポーネントです。この ASP スクリプトに @TRANSACTION ディレクティブが含まれていると、IISWAM インスタンスがトランザクション環境内で宣言され、適切なトランザクション プロパティが設定されます。たとえば、ASP スクリプトに @TRANSACTION = Required と記述した場合、コンポーネント サービスに対し、作成された IISWAM のインスタンスはトランザクションの中で実行されなければならないと伝えることになります。この ASP スクリプトにより作成されるインスタンスが、コンポーネント サービスで登録されているほかのコンポーネントである場合、これらのインスタンスは同じトランザクションの一部としてコンポーネント サービスにより処理されます。次の図は、ASP と IISWAM の関係を示しています。
コンポーネント サービスは、異なる 2 つの階層によってトランザクション サービスを IIS に提供します。コンポーネント サービスは、最下層で Microsoft® 分散トランザクション コーディネータ (MS DTC) と連携し、信頼のおけるトランザクション処理システムの条件である ACID (Atomic - 原子性、Consistent - 一貫性、Isolated - 独立、Durable - 永続性) を保証します。コンポーネント サービスは、コンポーネント インスタンスを、リソース マネージャとリソース ディスペンサという 2 つのメカニズムによって、MS DTC にリンクします。
リソース マネージャは永続的なデータを管理するシステム サービスです。 コンポーネント サービスは、Microsoft SQL Server 6.5 などの OLE トランザクション プロトコル、または X/Open DTP XA 標準のどちらかが実装されたリソース マネージャです。リソース ディスペンサはコンポーネントとともに機能して、ステータス情報を共有するという点ではリソース マネージャに似ています。しかし、ここで共有される情報は永続的なものではありません。たとえば、リソース ディスペンサを使用して、標準 ODBC インターフェイスを使用するコンポーネントに対するデータベース接続プールを管理することができます。ODBC 3.0 ドライバ マネージャは ODBC 接続のためのリソース ディスペンサです。
コンポーネント サービス トランザクションの詳細については「トランザクションを理解する」、および Platform SDK の「Component Services and Message Queuing」のマニュアルを参照してください。トランザクション スクリプトの例については、「ASP の例」の「ASP トランザクション サービス」を参照してください。