Microsoft SharePoint Foundation のサービス階層

最終更新日: 2010年3月13日

適用対象: SharePoint Foundation 2010

Microsoft SharePoint Foundation オブジェクト モデルは、3 つの階層に分けることができます。このトピックではサービス階層について説明します。これには、Web サービス、Windows サービス、その他の種類のサービス、サービスのインスタンスを表すクラスが含まれます。

重要重要

階層内のクラスによって表されるエンティティについては、「バックグラウンド: Microsoft SharePoint Foundation のサービス エンティティ」を参照してください。

物理オブジェクト階層は、サーバー、ファイルなど、物理エンティティを表す各種クラス、およびそれらのエンティティを収めた、ファーム、フォルダーなど、各種コンテナーで構成されています。この物理オブジェクト階層については、「Microsoft SharePoint Foundation の物理オブジェクト階層」で説明しています。

3 番目の階層はコンテンツ階層で、リスト アイテムなどのデータの公開可能なアイテムを表すクラスが含まれます。リスト、コンテンツ データベース、Web サイト、Web サイトのコレクション、Web アプリケーションと呼ばれるサイト コレクションのグループなど、入れ子になったデータのコンテナーを表すクラスもあります。この階層については、「Microsoft SharePoint Foundation のコンテンツ階層」で説明しています。

注意

一部のクラスは簡単に分類できず、複数の階層に属すると見なされるという意味で、これらの階層は部分的に重なっています。

サービス階層

この階層内のクラスは、サービス、サービスのインスタンス、および、サービスの、ファームを対象とした構成済みインスタンス化 (CFSI) を表します。

図 1. サービス階層

サービス継承ツリー

注意

このトピックの図には、パブリック クラスのみが示されています。

SPService

SharePoint Foundation サービスは、SPService を継承したクラスによって表されます。オブジェクト モデルには、既にこうしたクラスがいくつかあり、SPService とその派生クラスのいくつかから新しいクラスを派生させることができます。

図 2. サービス階層ツリー (実線はシール クラスを示します)

サービスの継承

SPPersistedObject から継承するもの以外に、SPService には、サービスが実行するジョブの情報を取得するメンバーがあります。それぞれの派生タイプには、その特定のタイプに関連する追加機能があります。

SPServiceApplication

あるサービスが Service Application Framework を実装していれば、SPService オブジェクトは、そのサービスの CFSI のうち同じファームで実行中のものすべてを保持する Applications プロパティを持ちます。サービスの CFSI は、SPServiceApplication クラスを継承したクラスのオブジェクトによって表されます。オブジェクト モデルには、SPServiceApplication から派生したクラスが既にいくつかあり、SPServiceApplication とその派生クラスの 1 つから新しいクラスを派生させることができます。

図 3. CFSI 継承ツリー (実線はシール クラスを示します)

サービス アプリケーションの継承ツリー

SPPersistedUpgradableObject から継承されるものを別にして、そのメンバーは CFSI の準備と CFSI へのアクセス権に関する設定を最初から保持しています。

SPServiceInstance

すべての SPService オブジェクトには、そのサービスのインスタンスのうち同じファーム内のさまざまなサーバーで実行中のものすべてを保持する Instances プロパティがあります。特定の CFSI をホストするインスタンスは、その CFSI を表す SPServiceApplication オブジェクトの ServiceInstances プロパティで保持されます。各 CFSI のインスタンスが 1 台のサーバーで 2 つ以上実行されることはありませんが、1 つのサービスに複数の CFSI が存在したり、それらを同じサーバーで実行したりすることはできます。また、1 つの CFSI (つまり、1 つのサービス) を複数のサーバーで実行することもでき、その場合は、各サーバーがその CFSI の実際のインスタンス (実行中のプロセス) を個別に持ちます。CFSI を持たないサービスであっても、実行先の各サーバーにインスタンスを持ちますが、そうしたサービスのインスタンスが 1 台のサーバーに 2 つ以上存在することはありません。

実際のインスタンスは、サービスのインスタンスと見なせるほか、そのサービスの CFSI が存在する場合はそうした CFSI の 1 つのインスタンスとも見なせます。各インスタンスは、SPServiceInstance から派生したクラスのオブジェクトによって表されます。

SPServiceInstance の継承ツリーは、SPService のツリーとほぼ対応します。

図 4. サービス インスタンス継承ツリー (実線はシール クラスを示します)

サービス インスタンスの継承

SPPersistedObject から継承するものに加え、SPServiceInstance には、サーバー上でサービスを開始および停止するメンバーがあります。それぞれの派生タイプには、その特定のタイプに関連する追加機能があります。

注意

SPLoadBalancerServiceInstance クラスは、ファームの負荷分散ソフトウェアまたはハードウェアによって使用されることも、Application Discovery and Load Balancer Service (バックグラウンド: Microsoft SharePoint Foundation のサービス エンティティ を参照) のインスタンスを表すこともありません。これは基本クラスであり、開発者は SPWindowsService と共に使用して、エンド ユーザーが PDF ドキュメントを HTML として表示できるサービスなどの負荷分散ドキュメント変換サービスを開発できます。

次の図は、SharePoint Foundation の Service Application Framework の主な基本クラス間の関係を示しています。実線の矢印は、親クラスから、その親のコレクション プロパティで保持されている子クラスの種類へと向かっています。点線の矢印は、SPServiceInstance クラスが SPService クラスによって表されたファーム レベルのサービスをある意味で "インスタンス化" する、サーバーで実行中のプロセスを表すことを示しています。これらの関係の詳細については、[バックグラウンド: Microsoft SharePoint Foundation のサービス エンティティ」を参照してください。

図 5. Service Application Framework におけるクラスの関係

サービス アプリケーション フレームワークでのクラスの関連

Windows サービスと Web サービスは新規に作成できます。Windows サービスの開発の詳細については、「Services」を参照してください。SharePoint Foundation の Service Application Framework を実装する Web サービスの開発の詳細については、「Service Application Framework」を参照してください。

関連項目

参照

SPService

SPServiceInstance

SPServiceApplication

概念

サーバーとサイトのアーキテクチャ : オブジェクト モデルの概要

リストのオブジェクトとコレクションを操作する

概要 : オブジェクト モデルを使用して管理をカスタマイズする

コード例 : 管理オブジェクト モデルを使用する

Microsoft SharePoint Foundation のコンテンツ階層

[バックグラウンド] Microsoft SharePoint Foundation のコンテンツ エンティティ

Microsoft SharePoint Foundation の物理オブジェクト階層

[バックグラウンド] Microsoft SharePoint Foundation の物理オブジェクト

バックグラウンド: Microsoft SharePoint Foundation のサービス エンティティ

Service Application Framework

その他の技術情報

SharePoint Foundation の管理