Microsoft SharePoint Foundation のコンテンツ エンティティ

最終更新日: 2010年10月8日

適用対象: SharePoint Foundation 2010

この記事の内容
概要
SharePoint Foundation Web サイト
SharePoint Foundation Web アプリケーション
SharePoint Foundation コンテンツ データベース
SharePoint Foundation サイト コレクション

このトピックでは、Microsoft SharePoint Foundation のコンテンツ エンティティの階層について説明します。これらのエンティティは、SharePoint Foundation オブジェクト モデルのコンテンツ階層の上位クラスによってモデル化されます。SharePoint Foundation 展開の物理的エンティティおよびサービス エンティティに関する基礎的な情報については、「[バックグラウンド] Microsoft SharePoint Foundation の物理オブジェクト」および「バックグラウンド: Microsoft SharePoint Foundation のサービス エンティティ」を参照してください。

概要

SharePoint Foundation では、ページではなく、リストとリスト アイテムが主要エンティティである新しい抽象的な Web ワールドが作成されます。ただし、ブラウザーにとっては、World Wide Web (インターネット) は互いがリンクされたページの世界です。これらのページは、サーバーにホストされたファイルとして特定の URL アドレスに存在しています。このため、SharePoint Foundation サイトは、ユーザーおよびある種のサイト管理者に、リストで構成された世界として提示する必要がある一方で、1990 年代前半 (ブラウザーでレンダリングされたページを表示していた世代) の古い世界に実装する必要があります。

SharePoint Foundation はページの世界に構築する必要があるため、SPWeb クラスで表される SharePoint Foundation Web サイトは一連のファイル (特に .aspx ファイル)、関連データ、ユーザー、および権限ポリシーです (実際には一連のファイルというだけでは十分ではありません)。Web サイトにはサブサイトが含まれている場合があります。サブサイトは、SPWeb クラスで表されます。また、各 SharePoint Foundation 展開では、その Web サイトが 1 つ以上のサイト コレクションにグループ化されます。これは、オブジェクト モデル内で SPSite クラスで表されます。さらに、サイト コレクション自体は、コンテンツ データベースと呼ばれる 1 つ以上のセットにグループ化されます。これは、SPContentDatabase クラスで表されます。SharePoint Foundation では、サイト コレクションは 1 つ以上の Web アプリケーションの子です。Web アプリケーションは SPWebApplication クラスで表されます。

注意

元のバージョンの SharePoint Foundation (Microsoft SharePoint Team Services) では、サイト コレクションは単純に "サイト" と呼ばれていました。このため、サイト コレクションを表すクラスには、SPSite という名前が付けられています。同様に、SharePoint Foundation で "Web サイト (または "サイト")" と呼ばれているものは、もともと "Web" と呼ばれていました。このため、これを表すクラスには SPWeb という名前が付けられています。SPSite オブジェクトは何かのコレクションを表しますが、ICollection を実装するクラスという意味では、SPSite クラスはコレクションではありません。SPSiteCollection クラスは前者のインターフェイスを実装します。これは、SPSite オブジェクトのコレクションを表します。

このため、SharePoint Foundationでは、Web サイト、サイト コレクション、コンテンツ データベース、および Web アプリケーションは、すべて SharePoint Foundation 展開におけるコンテンツの区分であると言えます。

SharePoint Foundation Web サイト

SPWeb クラスで表される SharePoint Foundation Web サイトは、コンテンツ管理およびグループ作業向けに最適化された ASP.NET Web サイトです。これは、主に次のような点において、他の ASP.NET アプリケーションとは異なります。

  • このサイトでは、ページではなく、リストとリスト アイテムに重点が置かれています。たとえば、SharePoint Foundation サイト (STS タイプ) の [サイド リンク バー] には、サイト、サブサイト、およびリスト (リストのリストを含む) の階層がページの代わりに表示されます。サイトにページを追加した場合、そのページは、ホーム ページや他のページの子ノードとしてではなく、[サイド リンク バー] の共有ドキュメントのリストに新しいアイテムとして表示されます。

  • ユーザーはサイトを管理することができます。管理能力の範囲は、そのユーザーに付与されている権限により異なります。通常、エンド ユーザーは新しい Web サイト全体を既存の Web サイトのサブサイトとして作成できるだけでなく、既存の Web サイトのコンテンツを編集および追加することができます。

  • これは、SharePoint Foundation 機能をアクティブ化できる 4 つのレベルのうちの 1 つです。他のレベルはサイト コレクション、Web アプリケーション、およびファームです。SharePoint Foundation オブジェクト モデルにおけるファームの役割の詳細については、「Microsoft SharePoint Foundation の物理オブジェクト階層」を参照してください。

Web サイトはサイト コレクションのコンテンツの一部ですが、特定のコレクションの 2 つの Web サイトのコンテンツが相互に排他的であるということはありません。たとえば、特定のリストを 1 つ以上の Web サイトに表示することができます。

サイト コレクション内の Web サイトの階層には、常に 1 つのトップレベル Web サイトが含まれています。トップレベル Web サイトについては、後述の「SharePoint Foundation サイト コレクション」のセクションで説明します。

SharePoint Foundation Web アプリケーション

SPWebApplication クラスで表される SharePoint Foundation Web アプリケーションは、基本的に一連のコンテンツ データベースです。各データベースにはサイト コレクションが格納されています。サイト コレクション自体は一連の Web サイトであり、Web サイトは一連のファイルです。

ただし、SharePoint Foundation Web アプリケーションは、Web サイトの最上位のグループというだけではありません。これは、SharePoint Foundation 展開を IIS に表示するためのレイヤーでもあります。各 SharePoint Foundation Web アプリケーションは IIS Web サイトを通して公開され、IIS マネージャーの Web サイト ツリーに表示されます (図 1 を参照)。このため、SharePoint Foundation Web アプリケーションのすべてのサイト コレクション、Web サイト、およびサブサイトは、IIS にとっては 1 つの大きな Web サイトです。

注意

ここで使用する用語に注意する必要があります。SharePoint Foundation で「Web アプリケーション」と呼ばれているものは、1 つ以上の IIS の「Web サイト」によって提供されます。

図 1. アプリケーション プールおよび IIS Web サイトを示す SharePoint Foundation フロントエンド Web サーバー上の IIS マネージャー

Web サイトとアプリケーション プールを示す IIS

サイトが作成され、各アプリケーション プールに独自のプロセスがある場合、IIS では各 IIS Web サイトに独自のアプリケーション プールが自動的に提供されます。このため、各 SharePoint Foundation Web アプリケーションでは独自のプロセスが実行されます。これらのプロセスの 1 つがクラッシュした場合は、他のプロセスが続いて実行されます。これは、SharePoint Foundation Web アプリケーションをオブジェクト モデル階層の低いレベルのレイヤーと差別化する最も重要な点です。Web アプリケーションとは異なり、コンテンツ データベースおよびサイト コレクションでは、プロセスはこのような方法で実行されません。

注意

厳密に言うと、IIS Web サイトとアプリケーション プールの一対一の関係を維持する必要はありません。IIS マネージャー内では、Web サイトを別のアプリケーション プールに移動することができます。このため、複数の SharePoint Foundation Web アプリケーションを同じプールに移動すると、同じプロセスを共有することになります。場合によっては、クラッシュの発生頻度が高まる危険性よりも、このようにプロセスを共有することから得られるパフォーマンスのほうが重視されることがあります。ただし、プロセスの共有は頻繁には行われません。このため、ここでは各 SharePoint Foundation Web アプリケーションに独自にプロセスがあることを前提としています。

また、SharePoint Foundation Web アプリケーションと SharePoint Foundation サイト コレクションには、他にも次のような重要な相違点があります。

  • 各 Web アプリケーションには 1 つ以上の子コンテンツ データベースがあります。一方、各サイト コレクションは 1 つの親コンテンツ データベースにのみ属しており、この親コンテンツ データベースを同じ Web アプリケーション内にある他のサイト コレクションと共有している可能性があります。

  • 認証、匿名ユーザーの有効化などのセキュリティ ポリシーは、SharePoint Foundation Web アプリケーションのレベルで設定されます。

図 1 は、SharePoint Foundation が 1 台のサーバーにインストールされた直後の IIS マネージャー (ISS 6.0 用) を示しています。このインストールによって 2 つの IIS Web サイトが作成されたこと、および各サイトには独自のアプリケーション ツール (およびプロセス) が含まれていることに注意してください。IIS Web サイトの 1 つは、エンド ユーザーにコンテンツを提供するメインの SharePoint Foundation Web アプリケーション用で、"SharePoint - 80" という名前が付けられています。"80" は、SharePoint Foundation ページの要求を受信したサーバー ポートの番号です。もう 1 つの Web サイトには "SharePoint Central Administration v3" という名前が付けられており、IT 担当者によって高ベルな管理タスクに使用されます。1 つのサイト コレクションまたは Web サイトではなく、別の SharePoint Foundation Web アプリケーションが "SharePoint – 80" 内に作成された理由は想像がつきます。2 つの SharePoint Foundation Web アプリケーションからプロセスを分離することによって、"SharePoint – 80" 内の一部の Web サイトにある不正なコードが原因で、後者の Web アプリケーションが再起動のたびにクラッシュする場合でも、ネットワーク管理者はサーバーの全体管理にアクセスすることができます。さらに、管理アプリケーションを別の Web アプリケーションにすることによって、管理者はそのアプリケーションに認証および匿名ユーザーに関する別のポリシーを指定することができます。

SharePoint Foundation が複数のサーバーを含むファームにインストールされ、フロントエンド サーバーとバックエンド サーバー (SharePoint Foundation ではアプリケーション サーバーと呼ばれる) で構成が区別される場合、"SharePoint - 80" はフロントエンド サーバーでのみ実行されます。"SharePoint Central Administration v3" は、アプリケーション サーバーのいずれかで実行されます。ファーム、異なる種類のサーバー、およびその役割については、「Microsoft SharePoint Foundation の物理オブジェクト階層」および「Microsoft SharePoint Foundation のサービス階層」を参照してください。

「SharePoint Central Administration v3」アプリケーション以外の SharePoint Foundation Web アプリケーションは、コンテンツ発行 Web アプリケーションと呼ばれます。

最初の「SharePoint - 80」Web アプリケーションが作成される際に、またコンテンツ発行 Web アプリケーションが作成されるたびに、Web アプリケーションには新しいコンテンツ データベースが作成されます。次に、データベースにサイト コレクションが作成され、サイト コレクションにトップレベル Web サイトが作成されます。

複数のコンテンツ発行 Web アプリケーション

小中規模の機関の多くでは、既定でインストールされる 2 つの SharePoint Foundation Web アプリケーションの他に、アプリケーションを作成することはありません。これは、「SharePoint – 80」Web アプリケーションを集中的に使用しているため、それをホストするサーバー ファームが必要になった場合も同様です。ただし、コンテンツ発行 SharePoint Foundation Web アプリケーションを追加し、それぞれに IIS Web サイトと対応アプリケーション プールを追加する必要がある場合もあります。次に、このような場合の例を示します。特定のファームに、複数の「サーバーの全体管理」 SharePoint Foundation Web アプリケーションが存在することはありません。

  • 機関において、SharePoint Foundation から Windows SharePoint Services 3.0 に徐々に切り替える場合は、両方を同じサーバーに展開します。この場合、各バージョンには、別の SharePoint Foundation Web アプリケーションまたは別の一連の Web アプリケーションが含まれます。

  • 実稼働環境の SharePoint Foundation 展開もホストしているサーバー (または一連のフロント エンド サーバー) で新しい SharePoint Foundation ソリューションを開発している場合、テストが終了するまで、そのソリューションを別の SharePoint Foundation Web アプリケーションに実装することができます。こうすると、新しいソリューションがクラッシュしても、実稼働環境の SharePoint Foundation Web アプリケーションが停止することはありません。また、テストされていない Web アプリケーションのコンテンツ データベースは、実稼働環境の Web アプリケーションのデータベースと常に切り離されます。最後に、テストされていない Web アプリケーションには、80 以外のポート番号を指定できます。こうすることにより、認証されていないユーザーがアプリケーションにアクセスする回数を減らすことができます。これは、ポート 80 を使用する Web サイトを除いて、ポート番号を Web URL に含める必要があるためです。ポート番号が含まれていない場合、IIS では要求されたページを見つけることができません。

  • 少数の顧客に SharePoint Foundation ホスティング サービスを提供する企業は、通常、各顧客に独自の SharePoint Foundation Web アプリケーションを提供しています。こうすると、他の顧客の SharePoint Foundation Web アプリケーションに含まれる不正コードが原因で、顧客の Web サイトが停止することがなくなります。また、顧客のデータベースに他の顧客がアクセスできなくなります。さらに、認証および匿名ユーザーに関するポリシーを顧客ごとに指定することができます。

  • 含まれるサイトの構造が似ている場合、Web アプリケーションのパフォーマンスは向上します。たとえば、「個人用サイト」のコレクションには小さなサイトが複数含まれている一方で、チーム サイトのコレクションには、通常、大きなサイトが少数含まれています。チーム サイトのコレクションを別の Web アプリケーションに格納することにより、両方のコレクションのパフォーマンスが向上します。

  • Web アプリケーションには 5 つのセキュリティ ポリシーを指定することができます。つまり、要求の発信元である 5 つの領域 (インターネット、イントラネット、エクストラネット、既定、およびユーザー設定) に別のセキュリティ ポリシーを指定することができます。さらにポリシーが必要な場合は、追加 Web アプリケーション (既存 Web アプリケーションと同じコンテンツを含めることが可能) を作成し、それぞれに 5 つのポリシーを設定します。

  • SharePoint Foundation に加えて、Microsoft Office SharePoint Server 2007 などの拡張グループ作業サーバー ソフトウェアがインストールされている場合、そのソフトウェアを使用して Web アプリケーションを論理的にグループ化することができます。こうすることにより、グループに共通のサービスを提供したり、他の Web アプリケーションからグループを分離して管理することができます。このような場合は、ソフトウェアを使用して、グループの論理的な親またはコンテナーとして機能する特殊な Web アプリケーションを作成する必要があります。この論理的な親は "共有サービス プロバイダー (SSP)" と呼ばれます。ただし、このような論理グループは IIS 6.0 では認識されず、SharePoint Foundation オブジェクト モデルではモデル化されません。SSP は、IIS では別の Web サイトに過ぎず、SharePoint Foundation では別の Web アプリケーションに過ぎません。

注意

SharePoint Foundation では、新しい Web アプリケーションは、IIS ではなく、サーバーの全体管理の [アプリケーション構成の管理] タブで作成されます。

SharePoint Foundation コンテンツ データベース

各 SharePoint Foundation Web アプリケーションには、SPContentDatabase クラスで表されるコンテンツ データベースが 1 つ以上含まれています。このデータベースは、Web アプリケーションの作成時に自動的に作成されます。Web アプリケーションには、必要に応じて、コンテンツ データベースを追加することができます。コンテンツ データベースにはすべてのデータ (リスト、リスト アイテム、ブログ投稿およびコメント、Wiki ページ、ドキュメント ライブラリのドキュメント)、およびデータベースに属するサイト コレクションを構成するページ ファイルのほとんどが格納されます。

サイト コレクションに属するファイルの一部は、SharePoint Foundation 展開のフロントエンド サーバーのファイル システムに保存されます。このため、コンテンツ データベースの一部であるサイト コレクションの図が壊れるように思われますが、データベースでは、コンテンツ データベースに保存されないファイルも行で表されます。このようなファイルを表すテーブル行は、ファイルの一種のエイリアスとして機能します。

SharePoint Foundation サイト コレクション

SPSite クラスで表されるサイト コレクションは、サイト所有者、サーバー管理者、および SharePoint Foundation ホスティング サービスを販売する業者による管理業務をより簡単にすることを目的として提供されています。次に、SharePoint Foundation サイト コレクションの最も重要な特性を示します。

  • SharePoint Foundation サイト コレクションを使用すると、通常は IT 担当者ではないサイト所有者が特定の Web サイトを管理する場合でも、SharePoint Foundation Web アプリケーションによって提供される SharePoint Foundation 展開をより詳細に管理することができます。

  • 各サイト コレクションには、トップレベル Web サイトが 1 つだけ含まれています。ある種の管理タスクでは、サイト コレクションとそのトップレベル Web サイトを 1 つのエンティティと考えたほうがよい場合があります。たとえば、トップレベル サイトの [サイトの設定] ページには [サイト コレクションの管理] 領域があります。トップレベル Web サイトの所有者は、この領域を使用して、サイト コレクションの機能をアクティブ化したり、サイト コレクションの削除されたコンテンツをごみ箱から復元することができます。また、トップレベル Web サイトでは、カスタム列など、特定のユーザー定義エントリを作成することができます。これらのエンティティは、サイト コレクションのすべての Web サイトで使用できます。

  • サイト コレクションの管理責任は、サイト所有者と通常は IT 担当者ではないサイト コレクションの管理者の両方にあります。前述のように、サイトコレクション レベルでの管理タスクの一部は、トップレベル Web サイトの所有者によって実行されます。ただし、サーバー管理者とネットワーク管理者は、サーバーの全体管理の [アプリケーション構成の管理] タブを使用して、サイト コレクションを作成および削除したり、サイト コレクションのサイズ クォータを設定することができます。

  • サイト コレクション (厳密には、そのトップレベル Web サイト) は、階層リンク ナビゲーションの最上位オブジェクトです。サブサイトのユーザーは、階層の上位にあるすべての Web サイトへのアクセス権限を持つとは限りませんが、階層リンク ナビゲーションでこれらのサイトを見ることができます。

  • サイト コレクションは、サイト コレクションおよび Web サイトを対象とした機能のプール、コンテンツ タイプ、リスト、テーマ、およびワークフローを維持し、それらをサブサイトで使用可能にするレベルです。

  • サイト コレクションは、SharePoint Foundation機能をアクティブ化できる 4 つのレベルのうちの 1 つです。他のレベルは Web サイト、Web アプリケーション、およびファームです。

  • サイト コレクションは、ユーザーのグループを維持し、それに既定の権限を割り当てるレベルです。この権限は、Web サイト、リスト、またはリスト アイテムのレベルで変更することができます。グループは Web サイトの [サイトの設定] ページで作成できます。ただし、その作成場所に関係なく、グループはサイトコレクション レベルに配置されるため、コレクション内のすべての Web サイトで使用することができます。

  • マスター ページおよび Web パーツは、サイト コレクション内では共有できますが、サイト コレクション間では共有できません。

  • サイト コレクションは階層の最上位オブジェクトであり、そのアクセスを監査することができます。また、サイト コレクションは、データベース監査を維持するレベルです。

  • サイト コレクションは、検索に含めることができる最上位のレベルです。

関連項目

参照

SPWebApplication

SPDatabase

SPSite

概念

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

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

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

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

Microsoft SharePoint Foundation のコンテンツ階層

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

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

Microsoft SharePoint Foundation のサービス階層

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

その他の技術情報

SharePoint Foundation の管理

Windows SharePoint Services Administration Development Resource Center (英語)