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

最終更新日: 2010年1月22日

適用対象: SharePoint Foundation 2010

この記事の内容
エントリ ポイント
サーバー アーキテクチャ
サイト アーキテクチャ

Microsoft SharePoint Foundation では、SharePoint Web サイトのさまざまな特徴を表すオブジェクトに簡単にアクセスできるように、高度な構造化サーバー側オブジェクト モデルを提供しています。オブジェクト階層の上位レベルのオブジェクトからドリルダウンして、コードで使用する必要のあるメンバを含むオブジェクトを取得することができます。

エントリ ポイント

作成しているカスタム アプリケーションおよびソリューションのタイプによって、適切なオブジェクトを取得するための起点となる、オブジェクト モデルのエントリ ポイントが異なります。たとえば、展開の管理および構成をカスタマイズする場合、静的 ContentService プロパティを使用して、現在の Web サービス オブジェクトと Web アプリケーションのコレクションを取得します。管理 Web アプリケーションの設定を変更するには、代わりに AdministrationService プロパティを使用します。Microsoft.SharePoint.Administration.SPPersistedObjectCollection<T> クラスから派生したコレクション クラスには、コレクションから指定したオブジェクトを選出するために使用できる GetValue メソッドが継承されます。

注意

サイト コレクション、個々のサイト、またはリストを操作する Web パーツ、カスタム Web サービス、または Web アプリケーションを作成している場合、Microsoft.SharePoint.SPContext クラスのメンバを使用して、現在のサイト コレクション、Web サイト、またはリストを取得できます。/_layouts 仮想ディレクトリに Web アプリケーションを作成すると、その機能は、Web サーバー上のすべてのサイトで使用できるようになります。コンソール アプリケーションや Windows アプリケーションなど、HTTP コンテキストの外部では、SPSite クラスのコンストラクタを使用して、特定のサイト コレクションを取得し、そのコレクション内のさまざまなオブジェクトにたどり着きます。詳細については、「サイト、Web アプリケーション、およびその他の主要オブジェクトへの参照を取得する」を参照してください。

サーバー アーキテクチャ

以下の図は、SharePoint Foundation サーバー アーキテクチャと Microsoft.SharePoint.Administration 名前空間のコレクションやオブジェクトとの関係を表しています。

サーバー アーキテクチャと管理名前空間

  1. SPFarm オブジェクトは、SharePoint Foundation オブジェクト モデル階層の最上位オブジェクトです。Servers プロパティは、展開内のすべてのサーバーを表すコレクションを取得し、Services プロパティは、すべてのサービスを表すコレクションを取得します。

  2. SPServer オブジェクトは、それぞれ物理サーバー コンピュータを表しています。ServiceInstances プロパティは、個々のコンピュータ上で実行される各サービス インスタンスのセットにアクセスできるようにします。

  3. SPService オブジェクトは、サーバー ファームにインストールされた論理サービスを表しています。SPService クラスの派生タイプには、タイマー サービス、検索、データベース サービスなどの Windows サービス用のオブジェクトだけでなく、Web アプリケーションをサポートする基本コンテンツ公開 Web サービスなどの Web サービス用のオブジェクトも含まれます。

  4. SPWebService オブジェクトは、特定の論理サービスまたはアプリケーションに関する構成設定にアクセスできるようにします。WebApplications プロパティは、サービスを実行する Web アプリケーションのコレクションを取得します。

  5. サービスが SharePoint Foundation の Service Application Framework を実装している場合は、複数の構成済み Farm を対象範囲とするインスタンス (CFSI) に分割できます。各 CFSI がサービスの機能を提供しますが、独自の権限と準備に関する設定があります。

  6. 特定のサーバー上で実行される各サービス インスタンス (CFSI) は、SPServiceInstance オブジェクトによって表されます。

  7. SPDatabaseServiceInstance オブジェクトは、データベース サーバー コンピューター上で実行されているデータベース サービスの 1 つのインスタンスを表します。SPDatabaseServiceInstance クラスは SPServiceInstance クラスから派生し、Service プロパティを継承しているため、インスタンスが実装するサービスやアプリケーションへのアクセスを可能にします。Databases プロパティは、サービスで使用されるコンテンツ データベースのコレクションを取得します。

  8. SPWebApplication オブジェクトは、Internet Information Services (IIS) Web サイトでホストされている Web アプリケーションを表します。SPWebApplication オブジェクトは、資格情報およびその他のサーバー ファーム全体のアプリケーション設定にアクセスできるようにします。Sites プロパティは Web アプリケーション内のサイト コレクションのコレクションを取得し、ContentDatabases プロパティは Web アプリケーションで使用されるコンテンツ データベースのコレクションを取得します。

  9. SPContentDatabase オブジェクトは SPDatabase クラスから継承され、Web アプリケーション用のユーザー データが格納されたデータベースを表します。Sites プロパティはコンテンツ データベースにデータが格納されているサイト コレクションのコレクションを取得し、WebApplication プロパティは親 Web アプリケーションを取得します。

  10. SPSiteCollection オブジェクトは、Web アプリケーション内のサイト コレクションのコレクションを表します。

サイト アーキテクチャ

以下の図は、SharePoint Foundation サイト アーキテクチャと Microsoft.SharePoint 名前空間のコレクションやオブジェクトとの関係を表しています。

サイト アーキテクチャ

  1. SPSiteオブジェクトは単数形の名前ですが、論理的に関連する SPWeb オブジェクト (下記を参照) を表します。このようなセットは、一般に "サイト コレクション" と呼ばれますが、SPSiteSPWebCollection とは対照的に標準の Microsoft .NET コレクション クラスではありません。AllWebs プロパティは、サイト コレクション内の最上位サイトも含めたすべての Web サイトのコレクションを表す SPWebCollection オブジェクトへのアクセスを可能にします。SPSite クラスの SPSite.OpenWebメソッドは、特定の Web サイトを返します。

  2. 各サイト コレクションには、SPWeb オブジェクトをいくつでも含めることができ、各オブジェクトには、テンプレートやテーマなど、サイトを管理するために使用できるメンバだけでなく、サイト上のファイルやフォルダにアクセスするために使用できるメンバがあります。Webs プロパティは、指定したサイトのすべてのサブサイトを表す SPWebCollection オブジェクトを返し、Lists プロパティは、サイト内のすべてのリストを表す SPListCollection オブジェクトを返します。

  3. SPList オブジェクトは、リストまたはリスト内のアクセス アイテムを管理するために使用されるメンバを持ちます。GetItems メソッドを使用して、特定のアイテムを返すクエリを実行することができます。Fields プロパティは、リスト内のすべてのフィールド、あるいは列を表す SPFieldCollection オブジェクトを返し、Items プロパティは、リスト内のすべてのアイテム、あるいは行を表す SPListItemCollection オブジェクトを返します。

  4. SPField オブジェクトは、フィールドの設定を格納するメンバを持ちます。

  5. SPListItem オブジェクトは、リストの 1 行を表します。

関連項目

参照

Microsoft.SharePoint

Microsoft.SharePoint.Administration

概念

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

その他の技術情報

基本的なオブジェクト モデルのタスク