バックグラウンド: Microsoft SharePoint Foundation のサービス エンティティ
最終更新日: 2011年7月25日
適用対象: SharePoint Foundation 2010
この記事の内容
アプリケーションとサービス
SharePoint Foundation のサービス
展開例
このトピックでは、Microsoft SharePoint Foundation のサービス エンティティについて説明します。これらのエンティティは、SharePoint Foundation オブジェクト モデルのサービス階層の上位クラスによってモデル化されます。SharePoint Foundation の展開の物理的エンティティおよびコンテンツ エンティティに関する基礎的な情報については、「[バックグラウンド] Microsoft SharePoint Foundation の物理オブジェクト」および「[バックグラウンド] Microsoft SharePoint Foundation のコンテンツ エンティティ」を参照してください。
アプリケーションとサービス
ソフトウェアにおいて、"アプリケーション" と "サービス" という用語にはさまざまな意味があります。ただし、アプリケーションは、UI と多様な機能を含む大きなプログラムという意味で使用されることがほとんどです。これらの機能に共通する特徴は、通常、"ワープロ" や "スプレッドシート分析" といった広い意味を持つ言い回しでのみ表現されます。また、アプリケーションにはエンドツーエンドのさまざまな機能が用意されています。たとえば、ワープロでは、空のページに一連の下書きを記述したり、書式を設定したり、グラフィックを挿入することができます。また、レビューを管理したり、最終ファイルを XPS ドキュメントなどで発行することができます。スプレッドシート アプリケーションでは、数学関数を含む構造にデータを挿入してから、最終的なレポートを発行するまでのすべての段階がサポートされています。
一方、サービスが提供する機能の範囲は非常に狭く、通常は有益なエンドツーエンド機能は含まれていません。ただし、サービスが提供する機能は、さまざまなアプリケーションのコンポーネント パートとしては有益です。通常、サービスは目に見えない形で実行されます。またサービスには UI がほとんど含まれていないか、まったく含まれていません。サービスは、アプリケーションによって呼び出されるまで、メモリ内で待機します。Windows の印刷スプーラーは、ファイルを印刷する必要があるアプリケーションによって呼び出されるサービスの一例です。
Windows サービスは、オペレーティング システムによってホストされるサービスで、ローカルで実行中のアプリケーションから利用できます。Web サービスは、ネットワーク サーバーでホストされるサービスで、ブラウザーなど、リモート クライアントで実行中のアプリケーションからアクセスできます。IIS Web サービスは、このトピックで Windows Communication Foundation (WCF) サービスと呼ぶもので、SharePoint Foundation の Service Application Framework を実装し、しかも IIS の UI で [SharePoint Web サービス] IIS Web サイトの子 "アプリケーション" として表示されるサービスです。
SharePoint Foundation のサービス
SharePoint Foundation には、さまざまな Windows サービス、Web サービス、IIS Web サービス、およびそのいずれにも該当しないいくつかの構成サービスがあります。
**Web サービス **
コンテンツの発行 このサービスによって、ブラウザーからデータと Web ページを利用できるようになります。このサービスは、フロントエンド Web サーバーで実行され、SharePoint Foundation の最も重要なサービスです。フロントエンド Web サーバーの詳細については、「[バックグラウンド] Microsoft SharePoint Foundation の物理オブジェクト」を参照してください。
注意
SharePoint Foundation のサービスの名前は "SharePoint" で始まり、その後ろにサービスで提供される事柄の名前が続きます。たとえば、"SharePoint Database" や "SharePoint Web Application" というサービスがあります。ただし、SharePoint Database 自体はデータベースではないことに注意してください。これはデータベース アクセスを提供するサービスです。同様に、SharePoint Web Application は Web アプリケーションではなく、Web アプリケーションのコンテンツを発行するサービスです。
サーバーの全体管理 サーバーの全体管理のコンテンツは、独立した Web アプリケーションなので、独自のプロセスとセキュリティ ポリシーを保持できます。Web アプリケーションの詳細については、「[バックグラウンド] Microsoft SharePoint Foundation のコンテンツ エンティティ」を参照してください。また、この Web アプリケーションは独自の Web サービスによってサポートされます。通常、このサービスは、シングル サーバー展開のフロントエンド Web サーバーでのみ実行されます。他の展開では、1 台のアプリケーション サーバーでのみ実行されます。アプリケーション サーバーの詳細については、「[バックグラウンド] Microsoft SharePoint Foundation の物理オブジェクト」を参照してください。
IIS Web サービス Service Application Framework を実装する Windows Communication Foundation (WCF) サービスで、その中の 1 つは Service Application Framework をサポートしています。IIS の UI では、これらのサービスは [SharePoint Web サービス] IIS Web サイトの子 "アプリケーション" として表示されます。
Security Token この Web サービスはクレーム ベースのセキュリティをサポートします。
Business Data Catalog この Web サービスは、ビジネス データ カタログへのアクセスをサポートします。
Application Discovery and Load Balancer この Web サービスは、ファームを対象とした構成済みインスタンス化 (CFSI) の検出と負荷分散を可能にすることで、Service Application Framework をサポートします。
構成サービス SharePoint Foundation には、Windows サービス、Web サービス、IIS Web サービスのいずれにも該当しないいくつかのサービスがあります。これらのサービスには、主に構成設定が保持されます。
Diagnostics (別名 Tracing) このサービスは、統合ログ サービス (ULS) のトレースをサポートします。すべてのフロントエンド Web サーバーとアプリケーション サーバーで実行されます。SharePoint Foundation の ULS の詳細については、「SharePoint 開発者のためのログ記録」を参照してください。
Incoming E-mail このサービスは、通常、1 台のアプリケーション サーバーでのみ実行され、SharePoint Foundation サイトで電子メールを受信できるようにします。これにより、ユーザーは電子メールでリストにアイテムを追加できるようになります。
Outgoing E-mail このサービスは、通常、1 台のアプリケーション サーバーでのみ実行されます。リストが変更されたときに電子メール通知を送信するなど、SharePoint Foundation で電子メール機能を利用できるようになります。
Usage このサービスは、SharePoint Foundation の展開で利用状況のログと処理の設定をカプセル化します。すべてのフロントエンド Web サーバーとアプリケーション サーバーで実行されます。また、このサービスは Service Application Framework を実装します。ただし、これは IIS Web サービスではなく、フレームワークを実装する大部分の組み込み Web サービスと同様、実行時にこのサービスを表すオブジェクトは SPIisWebService 派生オブジェクトではありません。
Workflow Timer このサービスは、設定時刻に発生するワークフロー イベントの構成設定によってメインの Timer Service (下記を参照) を補足します。
Subscription Settings このサービスは、サイト購読をサポートします。WCF Web サービスであるという点、および実行時にこのサービスを表すオブジェクトが SPIisWebService 派生オブジェクトであるという点で、IIS Web サービスと共通するいくつかの特性を備えています。ただし、このサービスは Service Application Framework を実装しません。
Windows サービス これらのサービスは、サーバーの [コントロール パネル] にある [サービス] のリストに表示されます。これらのサービスは SharePoint Foundation の UI に表示され、SharePoint Foundation のオブジェクト モデルを使用しているため、管理者と開発者は、 [コントロール パネル] を使用することなく、これらのサービスを開始、停止、および管理することができます。
Administration ファーム展開では、この特殊なサービスは、SharePoint Foundation がファーム内のすべてのフロントエンド Web サーバーおよびアプリケーション サーバーで管理者に成り代わって特権操作を実行する場合に使用されます。このサービスは、SPService の派生クラスではない内部クラスによって表されます。ファーム内のすべてのフロントエンド Web サーバーおよびアプリケーション サーバーの [サービス] のリストに "SharePoint Administration" という名前で表示されます。
Timer このサービスを使用すると、管理者は指定した時刻にジョブを実行できます。このサービスは、すべてのフロントエンド Web サーバーとアプリケーション サーバーで実行されます。
Search このサービスを使用すると、SharePoint Foundation の展開内でコンテンツを検索できます。マルチサーバー ファームでは、このサービスが 1 台以上のアプリケーション サーバーで実行されます。
User Code このサービスを使用すると、SharePoint Foundation のユーザー コード インフラストラクチャの管理を一元的に設定できます。このサービスはすべてのフロントエンド Web サーバーで実行されます。
データベース これは、実際にはインストール済みの SQL Server Windows サービスのラッパーの一種です。このサービスを使用すると、SharePoint Foundation オブジェクトがコンテンツ データベースおよび構成データベースにアクセスできるようになります。マルチサーバー SharePoint Foundation 展開では、通常、データベースをホストするサーバーが、このサービスを実行する唯一のサーバーになります。
Service Application Framework
サービスの中には、SharePoint Foundation の Service Application Framework を実装するものがあります。このフレームワークを実装するサービスは複数の CFSI に分割できます。各 CFSI はサービスの機能を提供しますが、それぞれ独自の権限と準備の設定を備えています。CFSI は、特定のサーバーで実行される実際のプロセスではありません。同じ CFSI を複数のサーバーで実行できますが、完全に抽象的なサービス自体とも異なります。CFSI を実行している各サーバーには、CFSI の実際のインスタンス (実行中のプロセス) が個別に存在します。また、サービスの複数の CFSI を同じサーバーや複数のサーバーで実行できます。したがって、フレームワークはバージョンの異なる同じ基本サービスを同時に利用する手段を提供します。フロントエンド Web サーバーのアプリケーションから、特定の CFSI を使用対象に設定できます。
アプリケーションでサービスの特定の CFSI を使用するには、プロキシを利用します。アプリケーションをホストするフロントエンド Web サーバーには、サービス自体を表すプロキシと、使用対象となる CFSI を表すもう 1 つのプロキシがあります。
拡張性
Windows サービスと Web サービスは新規に作成できます。たとえば、ドキュメントをスキャンしてウイルスを検出する Windows サービスを SharePoint Foundation の展開に追加すると効果的です。Windows サービスの開発の詳細については、「Windows サービス アプリケーションの概要」を参照してください。SharePoint Foundation の Service Application Framework での Web サービスの開発については、「Service Application Framework」も参照してください。
すべてのサービス (Administration Windows Service を除く) は SPService の派生クラスによってモデル化され、各 CFSI は SPServiceApplication の派生クラスのオブジェクトによって表されます。特定のサーバー上のサービスのすべてのインスタンスは、SPServiceInstance の派生クラスによてモデル化されます (SharePoint Search Service には、実際は 2 種類のインスタンスがあります。1 つはサービス自体のインスタンス、もう 1 つは検索インデックスのインスタンスです)。サービスが Service Application Framework を実装している場合は、インスタンスを特定の CFSI のインスタンスと見なすことができます。サービスのコンシューマー プロキシは SPServiceProxy オブジェクトによって表され、CFSI のプロキシは SPServiceApplicationProxy オブジェクトによって表されます。
展開例
次に、SharePoint Foundation の展開の具体例をいくつか示します。図 1 は、SharePoint Foundation を 1 台のサーバーにインストールした直後の SharePoint Foundation オブジェクト モデル階層における主なオブジェクトを示しています。この図では、次の点に注意してください。
点線で囲んだボックスは、Service Application Framework を実装する Web サービスを表しています。最初のインストール時には、CFSI が 1 つずつあります。これを "サービス アプリケーション" と呼ぶことがあります。
サービス プロキシはファームに属しますが、各 CFSI プロキシ ("サービス アプリケーション プロキシ" とも呼ばれる) は Web アプリケーションに属します。コンテンツ発行 Web アプリケーションとサーバーの全体管理 Web アプリケーションには、それぞれ Business Data Catalog CFSI 用の独自のプロキシと、Usage and Health Data CFSI 用の独自のプロキシがあります。最初のインストール時には、どちらの Web アプリケーションにも Subscription CFSI または Application Discovery and Load Balancer CFSI 用のプロキシはありません。
図 1. 新しいシングル サーバー展開におけるサービス、CFSI、サービス インスタンス、および Web アプリケーション
図 2 は、10 台のサーバーを含むサーバー ファームのサービス、CFSI、およびサービス インスタンスを示しています。この例では、次の点に注意してください。
透明の長方形はサービスを表しています。これらのサービスは、SharePoint Foundation オブジェクト モデルで SP*Service クラスと共にモデル化されます。
より色の濃い半透明の長方形は CFSI ("サービス アプリケーション") を表しています。CFSI は、SharePoint Foundation オブジェクト モデルで SP*ServiceApplication クラスと共にモデル化されます。
より小さな塗りつぶされた長方形は、SharePoint Foundation オブジェクト モデルで SP*ServiceInstance クラスと共にモデル化されたサービスのインスタンスを表しています。
Diagnostics Service には、専用のデータベース サーバーを除くすべてのサーバーで実行されるインスタンスがあります。ただし、オブジェクト モデルには SPDiagnosticServiceInstance クラスはありません。これは、SharePoint Foundation にはこのクラスが必要ないためです。このため、これらのインスタンスを示す塗りつぶされた長方形はありません。
Administration、Timer、Diagnostics、Application Discovery、Security Token、Usage の各サービスは、専用のデータベース サーバーを除くすべてのサーバーで、必要に応じて実行されています。
Web Application Service は、5 台のフロントエンド Web サーバーでのみ実行されています。
専用の検索サーバーがあります。
専用の BDC サーバーが 2 台あります。
BDC Service には 2 つの CFSI (サービス アプリケーション) があります。1 つの CFSI のインスタンスは専用の各 BDC サーバーで実行されていますが、もう 1 つのインスタンスは 1 台の BDC サーバーでのみ実行されています。フロントエンド Web サーバーには、この 2 種類の CFSI を使用対象とする別々のサービス アプリケーション プロキシが必要です。
4 番目の多目的アプリケーション サーバーでは、サーバーの全体管理、各 E-Mail Service、および Subscription Service が実行されています。サーバーの全体管理 Web サービスはサーバーの全体管理 Web アプリケーションをホストするので、このサーバーで Service Application Framework を実装するサービスを使用する必要がある場合は、サービス アプリケーション プロキシを実行します。これは、フレームワークのコンシューマー プロキシはフロントエンド Web サーバーで実行するという通常の原則の例外です。
この例のように、SharePoint Foundation のデータベースが専用サーバー上にある場合、SharePoint Foundation をその専用サーバーにインストールする必要はありません。Database Service は、データベース サーバーで実行される SQL Server サービスのラッパーに過ぎません。このため、SharePoint Foundation コードは専用データベース サーバー上では実行されません。図にはサービスとそのインスタンスが表示されていますが、これはこれらが SPDatabaseService および SPDatabaseServiceInstance の各クラスと共にオブジェクト モデルに示されているためです。
図 2. 10 台のサーバーを含むサーバー ファームのサービスとサービス インスタンス
関連項目
参照
概念
サーバーとサイトのアーキテクチャ : オブジェクト モデルの概要
概要 : オブジェクト モデルを使用して管理をカスタマイズする
Microsoft SharePoint Foundation のコンテンツ階層
[バックグラウンド] Microsoft SharePoint Foundation のコンテンツ エンティティ
Microsoft SharePoint Foundation の物理オブジェクト階層
[バックグラウンド] Microsoft SharePoint Foundation の物理オブジェクト
Microsoft SharePoint Foundation のサービス階層