Sharepoint学习笔记 –架构系列—11 Sharepoint的服务器端对象模型(Server Object Model) 3.服务层次结构
??? 前面我們看了一下Sharepoint服務(wù)器對象模型的物理對象層次(Physical Objects Hierarchy)和對象內(nèi)容層次(Content Hierarchy)中的相關(guān)類,這里來看看服務(wù)層次結(jié)構(gòu),其中包括表示?Web 服務(wù)(WebService)、Windows 服務(wù)(WindowService)、其他類型的服務(wù)(IcomingEmailService, UsageService,OutBoundMailService)、服務(wù)實(shí)例以及的服務(wù)的已配置場范圍實(shí)例(CFCI)。
?? 服務(wù)層次結(jié)構(gòu)相關(guān)類圖:
??
?
SPService類
?? SharePoint Foundation 服務(wù)由一個從 SPService 繼承的類表示。
?? 對象模型中已經(jīng)有幾個這樣的類,您可以從 SPService 及它的一些派生類中派生新類。 這些類提供了相關(guān)成員支持你獲取它們當(dāng)前所執(zhí)行的服務(wù)。
?? 服務(wù)繼承樹(實(shí)心邊框表示密封類)如下圖:
????????
???? 除了從 SPPersistedObject 繼承的內(nèi)容外,SPService 還提供成員,以獲取有關(guān)服務(wù)正在執(zhí)行的作業(yè)(Job)的信息。每個派生類型都提供與其特定的類型相關(guān)的附加功能。
?
SPServiceApplication類
??? 如果某個服務(wù)符合Sharepoint的服務(wù)應(yīng)用程序框架(Service Application Framework)規(guī)范,則 SPService 對象具有 Applications 屬性來存放所有在服務(wù)器場中運(yùn)行的服務(wù)的 CFSI(已配置場范圍實(shí)例化)。
??? 服務(wù)的 CFSI 由一個從 SPServiceApplication 類繼承的類的對象表示。對象模型中已經(jīng)有一些從 SPServiceApplication 派生的類,并且您可以從SPServiceApplication 及其派生類中派生新的類。
??? CFSI 繼承樹(實(shí)心邊框表示密封類)如下:
?????????
?
??? 除了它從 SPPersistedUpgradableObject 繼承的內(nèi)容外,它的成員主要存放有關(guān)對 CFSI 進(jìn)行設(shè)置和訪問的權(quán)限的設(shè)置。
SPServiceInstance屬性
???? 每個 SPService 對象都有一個 Instances 屬性,該屬性存儲服務(wù)器場中的各臺服務(wù)器上運(yùn)行的所有服務(wù)實(shí)例。
???? 這些承載特定 CFSI 的實(shí)例保存在表示 CFSI 的 SPServiceApplication 對象的 ServiceInstances 屬性中。在任意一臺服務(wù)器上運(yùn)行的每個 CFSI 的實(shí)例不超過一個,但是給定的服務(wù)可有多個 CFSI 并且它們可以在相同的服務(wù)器上運(yùn)行。
???? 另外,給定的 CFSI(以及給定的服務(wù))可在多個服務(wù)器上運(yùn)行,在這種情況下,每個服務(wù)器均有自己實(shí)際的 CFSI 實(shí)例(一個正在運(yùn)行的進(jìn)程)。
???? 如果服務(wù)沒有 CFSI,則它在運(yùn)行的每臺服務(wù)器上仍有實(shí)例,但是在給定的服務(wù)器上此服務(wù)的實(shí)例不能超過一個。
???? 每個實(shí)際的實(shí)例均可以看作既是服務(wù)的實(shí)例,又是服務(wù)的一個 CFSI 的實(shí)例(如果有任何 CFSI)。
???? 每個實(shí)例由從 SPServiceInstance 派生的類的一個對象表示。
???? SPServiceInstance 的繼承樹幾乎與 SPService 的樹完全平行。
???? 服務(wù)實(shí)例繼承樹(實(shí)心邊框表示密封類)如下圖:
??????????
????? 除了從 SPPersistedObject 繼承的內(nèi)容外,SPServiceInstance 還提供成員以啟動和停止服務(wù)器上的服務(wù)。每個派生類型都提供與其特定的類型相關(guān)的附加功能。
?
SPLoadBalancerServiceInstance 類
??? SPLoadBalancerServiceInstance 類不 由服務(wù)器場的負(fù)載平衡軟件或硬件使用,它也不表示 Application Discovery and Load Balancer Service的實(shí)例。
??? 它是一個基類,開發(fā)人員可以將它與 SPWindowsService 一起使用,從而開發(fā)負(fù)載平衡的文檔轉(zhuǎn)換服務(wù),例如使最終用戶能夠以 HTML 格式查看 PDF 文檔的服務(wù)。
??? 下圖顯示 SharePoint Foundation 的服務(wù)應(yīng)用程序框架的主要基類之間的關(guān)系。
??? 實(shí)心箭頭從一個父類指向父類的屬性集中保存的子類類型。
??? 虛線箭頭指示 SPServiceInstance 類表示一個正在服務(wù)器上運(yùn)行的進(jìn)程,此進(jìn)程在某種意義上"實(shí)例化"了由 SPService 類表示的服務(wù)器場范圍的服務(wù)。
?
?? 下面列舉的對象保存在配置數(shù)據(jù)庫中,因?yàn)樗鼈兌祭^承自SPPersistedObject類:
- SPService
- SPServiceApplication
- SPServiceInstance
- SPServiceProxy
- SPServiceApplicationProxy
總結(jié)
以上是生活随笔為你收集整理的Sharepoint学习笔记 –架构系列—11 Sharepoint的服务器端对象模型(Server Object Model) 3.服务层次结构的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 新能源汽车火灾率多高?官方数据:平均每日
- 下一篇: 【转】超详细的UML状态图符号,初学者也