Sharepoint服務是Sharepoint的重要組成,可以說Sharepoint的許多網站功能都是基於這些服務構架起來的。這里把Sharepoint服務的相關要點總結一下。
1、什么是 SharePoint 服務?
SharePoint 服務是一項 IT 服務,它是運行在后台,為調用者提供所需的數據、運算或者功能的代碼,當然,它的調用者也可能是其它服務,即一種服務調用另一種服務。
2、服務與應用程序的關系
一個應用程序可以看成是提供一系列服務的集合,它有比較統一和豐富的用戶交互界面。如Excel應用程序,它提供的不僅僅是文字編輯和表格處理,還提供了圍繞電子表格的一整套各式各樣的服務功能。當然,應用程序的范疇遠超過服務,在某種程度上它們更偏向於與用戶打交道。
而服務則更偏向於專向性和公共性,它是應用程序的組成,你也可把它視為應用程序的插件或一個系統的中間層。比如定時服務,它可以在所有要用到它的應用程序中出現,它更像一個通用模塊可以嵌入到所有要用到它的應用程序中去。所以與應用程序相比,它更趨向於后台,更底層一些。
但在Sharepoint中你又會遇到服務應用程序(Service Application)的概念,這可能會讓你容易混淆。事實上,服務在Sharepoint中是抽象的東西,它需要被實例化為服務應用程序(Service Application)實例才能真正的提供相應的服務功能。這怎么理解呢?這就是說我們需要把一個服務實例化為一個或多個服務應用程序實例並配置到Sharepoint場中的服務器上具體運行才能真正的提供相應的服務。
為什么要這樣做呢?這是因為Sharepoint的服務可能會針對不同的環境和要求提供相應層次的功能級別(如搜索服務,人事部門與銷售部門在搜索相關信息時都有不同的限制,各有不同的保密信息),這種級別是通過配置信息來控制的。所以,Sharepoint可以創建一個服務的多個服務應用程序實例,每個服務應用程序實例可以有不同的設置,甚至可以有不同的數據庫用於存放服務應用程序單獨的數據。而每一個服務應用程序實例也就被稱為服務的一個可配置服務器場實例(Configured Farm-Scoped Instantiation) 。
3、服務與Sharepoint場服務器的關系
Sharepoint中的服務與服務器的關系是一對一,一對多或多對多關系,一個服務既可以在一個服務器上運行,也可以在多個服務器上運行。反之,一個服務器可以跑一個服務也可以跑若干個服務。
4、什么是Sharepoint的服務應用程序框架(Service Application Framework )
服務應用程序框架是Sharepoint的一個開發平台,通過此平台,使得開發人員能夠構建可伸縮中間層應用程序,這些應用程序可向其他 SharePoint 2010 Web 服務提供數據或處理資源。也就是說讓開發人員開發在Sharepoint平台上運行的各種各樣的"服務"。
5、是否Sharepoint的所有服務都是基於服務應用程序框架(Service Application Framework)創建的呢?
答案是否定的,並非所有SharePoint 2010服務都是基於服務應用程序架構來構建。例如,訂閱設置, 沙盒代碼服務服務等。
6、既然Sharepoint有些服務並非基於服務應用程序框架創建,那么Sharepoint場中的服務包括哪些類型呢?
Sharepoint場中的服務可以分成四個種:
第一種、Windows Services :
是指由操作系統承載、可供本地運行的應用程序使用的任何服務。這些服務將在服務器的"控制面板"中的"服務"列表中出現。由於 SharePoint Foundation 的用戶界面上顯示了這些服務的狀態,並且此類服務使用了 SharePoint Foundation 的對象模型,因此管理員和開發人員無需使用"控制面板"即可啟動、停止和管理這些服務。如:
管理 :在服務器場部署中,SharePoint Foundation 使用此特殊服務代表服務器場中的所有前端 Web 服務器和應用程序服務器上的管理員執行特權操作。(此服務由不是派生自 SPService 的內部類表示。它以名稱"SharePoint 服務"出現在服務器場的每個前端 Web 服務器和應用程序服務器的"服務"列表中。)
搜索: 利用此服務,可在 SharePoint Foundation 部署中搜索內容。在包含多台服務器的服務器場中,此服務將在一台或多台應用程序服務器上運行。
用戶代碼: 此服務可為管理 SharePoint Foundation 中的用戶代碼基礎結構提供集中設置。它將在所有前端 Web 服務器上運行。
定時服務:管理員能夠利用此服務將作業設置為在指定時間運行。它將在所有前端 Web 服務器和應用程序服務器上運行。
數據庫服務: 實際上是對已安裝的 SQL Server Windows 服務進行的包裝。它使 SharePoint Foundation 對象能夠訪問內容數據庫和配置數據庫。在多服務器 SharePoint Foundation 部署中,此服務通常只在承載數據庫的服務器上運行
SharePoint Foundation 服務的名稱以"SharePoint"開頭,后跟此服務"所服務"的某類對象的名稱。因此,就產生了"SharePoint 數據庫"服務和"SharePoint Web 應用程序"服務。但請記住,"SharePoint 數據庫"服務本身並不是一個數據庫,而是一種提供數據庫訪問的服務。類似地,"SharePoint Web 應用程序"服務也不是一個 Web 應用程序,而是一種提供 Web 應用程序的內容發布的服務。
第二種、Web Services :
是在網絡服務器上承載的一種服務(hosted on a network server),可供在遠程客戶端上運行的應用程序(如瀏覽器)訪問。如
內容發布服務:使數據和網頁可供瀏覽器訪問。此服務在前端 Web 服務器上運行,它是 SharePoint Foundation 中最重要的服務
管理中心: 管理中心的內容是其自身的 Web 應用程序,因此它能夠具有自己的進程以及自己的安全策略。 同樣,此 Web 應用程序由其自身的 Web 服務提供支持。通常,此服務只在單服務器部署中才在前端 Web 服務器上運行。在其他部署中,此服務將在一台且僅在一台應用程序服務器上運行。
第三種、IIS Web Services
這些服務是在服務應用程序框架上實現的WCF服務,它們在 IIS UI 中顯示為 SharePoint Web Services IIS 網站的子"應用程序。如:
業務數據目錄: 該 Web 服務支持訪問業務數據目錄。
Application Discovery and Load Balancer: 該 Web 服務通過發現配置的服務器場范圍內的服務實例化 (CFSI) 並使其負載平衡來支持服務應用程序框架。
第四種、Configuration Services
不同於上面三種服務,它主要用於保存配置設置。如:
診斷(也稱作跟蹤): 此服務支持跟蹤統一日志記錄服務 (ULS)。它在所有前端 Web 服務器和應用程序服務器上運行。
傳入電子郵件: 此服務通常只在一台應用程序服務器上運行,它使 SharePoint Foundation 網站能夠接收電子郵件。這樣做可以使用戶得以通過電子郵件向列表中添加項。
傳出電子郵件: 此服務通常只在一台應用程序服務器上運行,它使 SharePoint Foundation 具有電子郵件功能,例如,在列表發生更改時發出電子郵件通知。
工作流計時器 :此服務使用定時工作流事件的配置設置對主要定時服務進行補充。
訂閱設置: 此服務支持網站訂閱。由於它是 WCF Web 服務,因此具有一些與 IIS Web 服務相同的特征,並且在運行時代表此服務的對象是從 SPIisWebService 派生的對象。但是,它不能實現服務應用程序框架。
上面的四種分類中的后面兩種(IIS Web Services與Configuration Services)可基於Sharepoint的服務應用程序框架(Service Application Framework)來創建。Sharepoint Foundation與Sharepoint Server內置的許多服務都是遵循Sharepoint的服務應用程序框架(Service Application Framework)創建的。這些遵循框架創建的服務可以被實例化成多個場范圍內的配置實例(CFSIs)。每個配置實例都提供服務功能,但每個又有各自的權限和配置設定。 每個在特定服務器上運行的服務實例,或者CFSI,都由一個SPServiceInstance對象代表。服務應用程序框架的這種工作模式也使得同一服務的不同版本的實例同時運行成為可能。
7、如何訪問到基於服務應用程序框架(Service Application Framework)創建的服務呢?
前面我們說了某些服務可實現 SharePoint Foundation 的服務應用程序框架。這些服務可拆分為多個配置的服務器場范圍內的實例 (CFSI)。其中每個實例都可提供此服務的功能,但各自有各自的單獨權限和設置。
CFSI 不是特定服務器上實際運行的進程。同一 CFSI 可在多台服務器上運行,但它與完全抽象的服務又並不相同。運行 CFSI 的每台服務器都有自己的實際 CFSI 實例(運行進程)。此外,給定服務的多個 CFSI 可在相同的服務器上運行。因此,該框架提供了一種同時 提供同一基本服務的不同版本的方法。前端 Web 服務器上的消費型應用程序可以特定 CFSI 為目標。
想要使用某服務的特定 CFSI 的應用程序可借助代理(Service Application Proxy)來實現這一目的。承載該應用程序的前端 Web 服務器具有一個代表該服務本身的代理和一個代表目標 CFSI 的代理。
8、基於服務應用程序框架(Service Application Framework)創建服務能帶來哪些好處呢?
第一、服務可以跨FARM共享
在 Service Application Framework 中,聯合功能使服務應用程序能夠跨越多台遠程服務器。例如,一個服務器場(子服務器場)中的搜索服務應用程序可以從遠程服務器場(父服務器場)使用搜索服務應用程序。您不必在子服務器場中安裝搜索服務應用程序二進制文件。通過在其他服務器場中安裝服務應用程序代理並將其指向在發布服務應用程序時由"管理中心"提供的特定 URI,可以將您的服務應用程序發布到其他服務器場中。這樣,企業就可以擁有可為提供的服務(例如搜索和分析)專門配置的專用服務場。然后可以與其他 SharePoint 場共享這些服務。服務必須分別在 SPService 和 SPServiceApplication 派生類上實現 IServiceAdministration 和 ISharedServiceApplication 接口。 這些接口支持 Service Application Framework 服務管理功能,包括 SharePoint 技術服務,通過該服務可以從遠程服務器場發現和使用服務。您還可以在管理中心的"服務應用程序管理"頁上實現這些接口。
第二、服務更加靈活和可擴展
Service Application Framework 創建的服務需要實例化為服務應用程序。服務器場中可包含任意數目的服務應用程序。Web 應用程序與服務應用程序相關聯。可在服務器場以外共享服務應用程序,並且可遠程使用這些應用程序。作為開發中間層的平台,服務應用 程序框架(Service Application Framework )支持第三方開發各種各樣相關服務並融入到Sharepoint大環境中來,它為服務功能的擴展提供了強大的支持。
第三、支持負載平衡
Service Application Framework 應用程序通常承載在多台計算機上,並可從在前端 Web 服務器上運行的服務客戶端應用程序進行調用。必須使用負載平衡器將服務應用程序代理方法調用從前端 Web 服務器傳送到適當的應用程序服務器。SharePoint 2010 在 SPRoundRobinServiceLoadBalancer 類中提供了簡單的負載平衡器實現。服務應用程序代理可使用內置的負載平衡器將請求傳送到適當的后端服務應用程序
第四、統一便捷的管理
Service Application Framework 服務模型提供了一個共享管理用戶界面,從而使服務管理協調一致。它提供的共享基礎結構使您能夠重點關注業務邏輯。您不需要為基本任務或"維護管理"任務(例如創建 Internet Information Services (IIS) 網站、安裝安全套接字層 (SSL) 證書、創建虛擬目錄、管理應用程序池憑據、管理和緩存分布式設置、對端點進行跟蹤和負載平衡或備份和還原數據庫)編寫代碼。SharePoint Foundation 2010 提供了一個高度結構化的服務器端對象模型,以便輕松訪問表示 網站的各個方面的對象。
Service Application Framework 可提供與 SharePoint Foundation 2010 管理體驗的集成。服務將其管理用戶界面插入向管理員提供常規體驗的 SharePoint 服務管理頁面中。常規 SharePoint 2010 管理工具(如升級、備份/還原和帳戶管理)對服務很有幫助,從而提供一個常規用戶界面,管理員可使用該界面來管理、啟動、停止、分組、關聯、聯合和備份 SharePoint 2010 服務。服務可以定義它們自己的額外的專門管理角色。還可以將服務管理委派給不是服務器場管理員的用戶。在此情況下,管理中心用戶界面是經過安全修整的,以便僅顯示服務應用程序管理員有權訪問的頁面。SharePoint 2010 提供一組用於在配置數據庫中注冊服務的界面。可通過 SharePoint 管理中心網站、Windows PowerShell 命令和 SharePoint 2010 API 管理注冊服務
9、Sharepoint都有哪些現成的服務呢
下面列舉了Sharepoint提供的一些開箱即用的服務.
a) Access Service :在瀏覽器中查看與編輯Microsoft Access 2010數據庫
b) Application Discovery and Load Balancing Service :發現服務應用程序、提供場的拓撲信息和支持負載平衡
c) Application Registry Services:存儲定義在SharePoint 中定義外部數據時如何連接到該外部數據的應用程序定義
d) Business Data Connectivity Services:訪問和修改后端業務系統的數據
e) Excel Service Application:在瀏覽器中查看Excel文件。
f) PowerPoint Service Application:在瀏覽器中查看、編輯和廣播PowerPoint幻燈片
g) Managed Meta Data Service:提供了對企業級托管元數據的存儲和管理,同時可以在網站集之間共享內容類型。
h) Performance Point Service:提供了PerformancePoint Services所包含的BI報表功能。
i) Search Service Application :提供了SharePoint 2010的企業級搜索功能。
j) Secure Store Service:用來存儲訪問其他應用系統的用戶憑證信息,這些憑證信息可用於SSO單點登錄場景
k) State Service:暫時存儲用戶的會話(Session)數據
l) User Profile Service:為"我的網站"、配置文件頁面、社會化標簽和其他社會化功能提供支持
m) Web Analysis Service – 為Web Services提供界面
n) Word Automation Services –批量文檔自動轉換
o) Visio Graphics Service – 允許用戶在瀏覽器中查看與更新Visio圖表。
你可以進入Sharepoint的管理中心並看到這些服務

