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