Windows SharePoint Services のコンテンツ階層

Windows SharePoint Services 3.0 オブジェクト モデルは、3 つの階層に分けて効果的に使用できます。このトピックでは、リスト アイテムなど、データのパブリッシュ可能アイテムを表すクラスを含むコンテンツ階層について説明します。リスト、コンテンツ データベース、Web サイト、Web アプリケーションと呼ばれるサイト コレクションのグループなど、データの入れ子のコンテナを表すクラスもあります。

重要

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

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

3 番目のサービス階層には、サービスやサービスのインスタンスを表すクラスが含まれます。この階層については、「Windows SharePoint Services のサービス階層」で説明しています。

注意

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

コンテンツ階層

コンテンツ階層の 7 つの主要クラスを図 1 に示します。

図 1. コンテンツ階層の主要オブジェクト

コンテンツ階層の主要オブジェクト

図 1 の各オブジェクトの種類には、その下にある種類のオブジェクトも含まれます。このトピックでは、SPListSPListItem、および SPField クラスについては説明しません。

SPWeb

SPWeb オブジェクトは Windows SharePoint Services 3.0 Web サイトを表します。SPWeb クラスの特性は、次のとおりです。

  • SPWeb オブジェクトは、別の SPWeb オブジェクトまたは SPSite オブジェクトの子にすることができます。SPSite オブジェクトの子の場合、このオブジェクトは、サイト コレクションのトップレベル Web サイトです。

  • SPWeb オブジェクトには、他の SPWeb オブジェクトのコレクションを返す Webs プロパティがあります。具体的には、すぐ下の子サブサイトが返されます。

  • クラスには、Web サイトをプログラムで管理およびカスタマイズするための豊富なメンバがあります。

Web サイトの階層には、常にトップレベル Web サイトが 1 つあります。このサイトは、SPSite オブジェクトの子です。

注意

Windows SharePoint Services 3.0 で "Web サイト" (または "サイト") と呼ばれているものは、Windows SharePoint Services の元のバージョンである Microsoft SharePoint Team Services では "Web" と呼ばれていました。したがって、これを表すクラスは SPWeb と呼ばれます。同様に、サイト コレクションは、単に "サイト" と呼ばれていました。このため、サイト コレクションを表すクラスには SPSite という名前が付けられています。

SPSite

SPSite オブジェクトは、Web サイトのコレクションを表しますが、SPSite クラスは、ICollection を実装するクラスという意味では、コレクションではありません (SPSiteCollection クラスは、後者のインターフェイスを実装します。このクラスは、SPSite オブジェクトのコレクションを表します)。

SPSite クラスの特性は、次のとおりです。

  • SPSite オブジェクトは、SPContentDatabase オブジェクトのコンテンツのサブセットを表します。

  • SPSite クラスには、子のトップレベル Web サイトを保持するRootWeb プロパティがあります (トップレベル Web サイトは、Windows SharePoint Services、Microsoft SharePoint Team Services の最初のバージョンでは "ルート Web" と呼ばれていました)。そして、トップレベル Web サイトを表す SPWeb オブジェクトには、そのすぐ下にあるすべての子サブサイトを保持する Webs プロパティがあります。(サブサイトのサブサイトは含まれません (AllWebs プロパティは、すべてのサブサイトとトップレベル Web サイトを返します)。

  • SPSite には、管理機能の開発に使用できる多数のメンバがあります。いくつかのより重要なメンバは、以下の管理に役立ちます。

    • Web サイトの URL の最大長

    • RSS フィード

    • 監査

    • 停止している Web サイト

    • フィーチャー

    • サイト コレクションの所有権

    • サイト コレクションのサイズ クォータ

    • サイト利用状況データ

    • サイト コレクションのワークフロー

    • テンプレートと Web パーツ ギャラリー

    • Self-Service Site Creation

  • SPSite クラスの約半分のメソッドは、なんらかの種類の情報を返す Get* メソッドで、そのプロパティのほとんどは読み取り専用です。

SPContentDatabase

SPContentDatabase オブジェクトは、すべてのデータ (リスト、リスト アイテム、ブログ記事とコメント、Wiki ページ、ドキュメント ライブラリ内のドキュメント) と、データベースに属するサイト コレクションを構成するほとんどのページ ファイルが格納されている SQL Server データベースを表します。

以下に SPContentDatabase クラスの特性をいくつか示します。

  • SPContentDatabase オブジェクトは SPWebApplication オブジェクトの子です。Web アプリケーションのコンテンツ データベースのコレクションは、Web アプリケーションの ContentDatabases プロパティで参照されています。

  • SPContentDatabase クラスには、すべての子 SPSite オブジェクトを保持する Sites プロパティがあります。

  • SPContentDatabaseSPPersistedObject を継承します。つまり、クラスをインスタンス化するオブジェクトは構成データベースに保存されます。

  • SPContentDatabase には、管理機能の開発に使用できる数多くのメンバがあります。いくつかのより重要なメンバは、以下の管理に役立ちます。

    • データベースのバックアップと復元

    • データベースのアップグレード

    • データベースの移行 (移動)

    • データベースの修復

    • データベースの接続文字列およびログオン ユーザー名とパスワード

    • サイト コレクション数の制限

  • SPContentDatabase のほとんどのプロパティは読み取り専用です。

SPWebApplication

SPWebApplication オブジェクトは、 のコンテンツ発行 Web アプリケーションを表します。1 つ以上のサイト コレクションのデータを保持する 1 つ以上のコンテンツ データベースが含まれます。このような各 Web アプリケーションは、ISS Web サイトによって提供され、通常、ISS に独自のアプリケーション プールを持っています。

SPWebApplicationクラスの特性をいくつか示します。

  • SPWebApplication オブジェクトは SPWebService オブジェクトの子です (SPWebService クラスの詳細については、「Windows SharePoint Services のサービス階層」を参照してください)。

  • SPWebApplication クラスには、すべての子 ContentDatabases オブジェクトを保持する SPContentDatabase プロパティがあります (始めに 1 つ以上のコンテンツ データベースへの参照を取得しなくても、属するすべてのコンテンツ データベースのあらゆるサイト コレクションへの参照を取得できる便利な Sites プロパティもあります)。

  • サーバーの全体管理アプリケーションと同じように、管理者は、SPWebApplication クラスを使用して、IIS マネージャを開かずに IIS プロパティにアクセスできます。たとえば、IisSettings プロパティや、 Windows SharePoint Services Web アプリケーションが割り当てられている IIS アプリケーション プールのプロパティにプログラムからアクセスできるようにする ApplicationPool プロパティがあります。

  • SPWebApplicationSPPersistedObject を継承します。つまり、クラスのオブジェクトは構成データベースに保存されます (コードでのこれらのオブジェクトの使用方法については、「概要 : オブジェクト モデルを使用して管理をカスタマイズする」と「[ウォークスルー] コンテンツ サービス オブジェクトを作成する」を参照してください)。

  • SPWebApplication には、管理機能の開発に使用できる数多くのメンバがあります。いくつかのより重要なメンバは、以下の管理に役立ちます。

    • セキュリティ ポリシー

    • 通知

    • ドキュメントの変換

    • Web アプリケーションのバックアップと復元

    • Web アプリケーションに対する変更のログ

    • 電子メールの送信

    • 外部のワークフローへの参加

    • Windows Live MetaWeblog API の使用

    • ごみ箱の使用

    • 使用されていないサイト コレクション

    • Web.config ファイルの変更

  • SPWebApplication クラスは、SPHttpApplication クラスと密接に関連しています。後者のクラスのオブジェクトは、HTTP 要求ハンドラです。Windows SharePoint Services Web アプリケーションが割り当てられているプロセス (IIS アプリケーション プール) には、Web アプリケーションに送信されるページ要求を処理する 1 つ以上の SPHttpApplication オブジェクトがあります。

See Also

参照

SPWebApplication

SPDatabase

SPSite

概念

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

Working with List Objects and Collections (英語)

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

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

Windows SharePoint Services のコンテンツ階層

バックグラウンド : Windows SharePoint Services のコンテンツ エンティティ

Windows SharePoint Services の物理オブジェクト階層

バックグラウンド : Windows SharePoint Services の物理オブジェクト

Windows SharePoint Services のサービス階層

バックグラウンド : Windows SharePoint Services でのサービス エンティティ

その他のリソース

Windows SharePoint Services 3.0 の管理オブジェクト モデル

Windows SharePoint Services の管理

Windows SharePoint Services Administration Development Resource Center