COM+プログラミングの概要
COM+は、コンポーネントベースの分散アプリケーションを作成するための、Microsoftコンポーネントオブジェクトモデル(COM)に基づくエンタープライズ開発環境を提供します。 また、トランザクション対応の多層アプリケーションを作成するためのツールも提供します。 COM+は、従来のCOMベースの開発に対する拡張機能と、多くの便利なプログラミングおよび管理サービスを組み合わせたものです。 これらのサービスがすべて記載されている一覧については、「COM+サービス」を参照してください。
COMの拡張機能には、スレッド処理とセキュリティの両方の機能強化と、同期サービスの導入が含まれています。 サービスには、コンポーネントサービス管理ツールが含まれています。
COMプログラミングに慣れているユーザーにとって、COM+の機能強化は次のように重要です。
- COM+は、ニュートラルアパートメントスレッドと呼ばれるスレッドモデルを実装します。これにより、コンポーネントは、任意のスレッドで実行する機能と共に、シリアル化されたアクセスを持つことができます。
- COM+は、コンテキストと呼ばれる特別な環境を使用してコンポーネントをサポートします。コンテキストは、コンポーネントの実行環境を定義するプロパティの拡張可能なセットを提供します。
- COM+は、ロールベースのセキュリティ、非同期オブジェクト実行、およびアウトプロセスサーバーで実行されているオブジェクトインスタンスへの参照を表す組み込みのモニカーを提供します。
アプリケーションとコンポーネントの管理
COM+では、RegDBという名前の登録データベースに、コンポーネントを記述するメタデータが格納されます。 このデータベースは、COM+がコンポーネントのアクティブ化に必要とする情報の種類に合わせて高度に最適化されており、システムレジストリの代わりに使用されます。 さらにCOM+は、COM+カタログを公開します。これはRegDB内の情報にアクセスします。 COM+カタログは、特定のサーバーコンピューター上のCOM+アプリケーションの構成情報を格納するシステムデータストアです。
最後に、コンポーネントサービス管理ツールは、開発者と管理者がコンポーネントを管理し、クライアント側とサーバー側の両方の多層アプリケーションを展開するための、完全にスクリプト化可能なユーザーインターフェイスを提供します。 詳細については、 「COMスキーマの使用」 を参照してください。
自動トランザクション
COM+はすべての Microsoft Transaction Server (MTS) 2.0セマンティクスをサポートし、auto-doneを追加します。auto-doneはコンポーネントサービス管理ツールを使用して設定できます。 この機能により、システムは、例外がトリガーされた場合はトランザクションを自動的に中止し、例外がトリガーされなかった場合はコミットします。 詳細については、「COM+トランザクション」、および「COM+Just-In-Timeアクティブ化」 を参照してください。