Sharepoint学习笔记 –架构系列—09 Sharepoint的服务器端对象模型(Server Object Model) 1.物理对象层次结构
關(guān)于Sharepoint的服務(wù)器端對象模型的內(nèi)容很龐大很繁雜,而事實上,我們在這里只把最關(guān)鍵的對象梳理一下,我們會從三個體系來大致描述它們。
? 這三個體系分別是:
?? 1、物理對象層次結(jié)構(gòu)(Physical Objects Hierarchy)
?? 2、內(nèi)容層次結(jié)構(gòu)(Content Hierarchy)
?? 3、服務(wù)層次結(jié)構(gòu)(Services Hierarchy)。
? 希望通過我們的大致描述能讓你對Sharepoint的服務(wù)器端對象模型能有一個大致的了解。下面進入主題。
?這里先看看物理對象層次結(jié)構(gòu)(Physical Objects Hierarchy)
? 物理對象層次結(jié)構(gòu)中的類所表示的實體既可以是實際物理對象(SPFarm, SPServer),也可以是根據(jù)上下文(Context)被視為物理對象或非物理對象的對象(SPFolder,SPFile)。
? 下圖顯示了該層次結(jié)構(gòu)中的四個主要類。
?
???它們中最重要的兩個類就是Servers與Farms。
???Sharepoint Fundation Farm以及它的配置數(shù)據(jù)庫(configuration database)就是由SFarm類來表示的。
?? Sharepoint的服務(wù)器場(Farm)是一個物理服務(wù)器集群,包括一個或多個前端服務(wù)器(Front-End Web Server),零個或更多的應(yīng)用服務(wù)器(Application Server)以及SQL服務(wù)器,SQL服務(wù)器可能被寄存在專用的數(shù)據(jù)庫服務(wù)器(dedicated database Server,雖然在這種專用數(shù)據(jù)庫服務(wù)器上并不安裝Sharepoint,但它們?nèi)允荢harepoint場的組成成員,我們可以在Sharepoint場的管理中心界面上看到它們)上或者在其中一個應(yīng)用服務(wù)器上(如:在一臺前端服務(wù)器上)。 (嚴格的講,Windows SharePoint Services 3.0總是部署在場中,雖然有可能它是整個部署環(huán)境(場)中唯一的一臺計算機。
???SharePoint Foundation 場中的物理服務(wù)器具有 IP 地址和角色。以下是?SharePoint Foundation 中的服務(wù)器可能具有的三種(或四種)角色:
??? 1、單一服務(wù)器(Single Server):從名稱的含義可以得知,當且僅當服務(wù)器是場中的唯一服務(wù)器時,服務(wù)器將具有此角色。
??? 2、前端服務(wù)器(Front-End Web Server):多臺服務(wù)器都可以具有此角色。前端服務(wù)器接受來自客戶端計算機的 HTTP 請求。由于前端服務(wù)器提供響應(yīng)這些請求的內(nèi)容,因此前端服務(wù)器上必須運行內(nèi)容發(fā)布 Web 應(yīng)用程序。
??? 3、應(yīng)用程序服務(wù)器(Application Server):任何未用作前端服務(wù)器或單一服務(wù)器的 SharePoint Foundation 服務(wù)器都具有應(yīng)用程序服務(wù)器角色(有一種例外情況:見4)。這些服務(wù)器運行的是必須從前端服務(wù)器卸載的專用 SharePoint Foundation Web 服務(wù)或 Windows 服務(wù),這是因為它們需要大量使用服務(wù)器的處理器、硬盤或其他硬件資源。SharePoint Foundation 附帶了經(jīng)常卸載到應(yīng)用程序服務(wù)器的一些服務(wù),開發(fā)人員可以使用 SharePoint Foundation 對象模型來開發(fā)其他服務(wù),并將這些服務(wù)作為 SharePoint Foundation 部署的一部分運行。給定的 Web 服務(wù)或 Windows 服務(wù)可以在多臺應(yīng)用程序服務(wù)器上運行。例如,搜索服務(wù)可以在多臺服務(wù)器上運行。每臺服務(wù)器均具有該服務(wù)的單獨實例
??? 4、專用數(shù)據(jù)庫服務(wù)器(Dedicated Database Server):上面提到的例外情況是指承載 SQL Server 數(shù)據(jù)庫的服務(wù)器。此數(shù)據(jù)庫可以位于任何應(yīng)用程序服務(wù)器上,但通常情況下,如果 SharePoint Foundation 部署的規(guī)模大到需要多個服務(wù)器場,則此數(shù)據(jù)庫將需要自己的服務(wù)器(可能是一個服務(wù)器鏡像群集)。當此數(shù)據(jù)庫位于它自己的專用服務(wù)器(或群集)上時,甚至不會在此服務(wù)器上安裝 SharePoint Foundation。場的配置數(shù)據(jù)庫中將標識此服務(wù)器,并且此服務(wù)器會讓場以為它正在運行一個稱作"Windows SharePoint Services 數(shù)據(jù)庫服務(wù)"的服務(wù),而實際上,此服務(wù)只是數(shù)據(jù)庫服務(wù)器上運行的 SQL Server 服務(wù)的別名。此專用服務(wù)器上通常不會安裝 SharePoint Foundation,并且此專用服務(wù)器實際上不具有場中的角色。
?
關(guān)于場的負載平衡問題:
??? 如果Sharepoint場有多臺前端Web服務(wù)器,那么它們通常都需要負載平衡的(load-balance) 支持。你可以使用硬件支持或軟件支持的負載平衡解決方案(包括Windows Server2008內(nèi)置的網(wǎng)絡(luò)負載平衡(NLB:Network Load Balancing)方案)。你需要清楚的是:Sharepoint自身并不支持負載平衡解決方案。
??? 當使用了負載平衡方案后,系統(tǒng)將會把客戶端計算機的傳入網(wǎng)絡(luò)連接指引到場中當時最不繁忙的那一臺前端計算機。這樣,執(zhí)行服務(wù)的客戶端連接的工作負荷將分攤到多臺服務(wù)器,進而分攤到多個處理器、硬盤驅(qū)動器和其他外圍設(shè)備,從而讓客戶端獲得更好的性能。此外,這樣做還有這樣一個好處:如果某一臺服務(wù)器將發(fā)生崩潰,則其他服務(wù)器還可以繼續(xù)處理所有傳入連接。此時,服務(wù)的速度可能會減慢,但服務(wù)不會完全停止。
??? 由于場在外部網(wǎng)絡(luò)中作為單一服務(wù)器出現(xiàn),如果有客戶端計算機想要訪問場中的某個資源(如: 特定應(yīng)用程序、文件、數(shù)據(jù)庫或網(wǎng)頁),這個客戶端計算機不在乎(通常是不知道)它們將與場中的哪一臺物理服務(wù)器連接,因此必須對客戶端可能會連接到的所有計算機進行相同的配置。
??? 完成相同配置的最簡單方法是,在所有計算機上安裝相同的應(yīng)用程序并將任何所需文件、數(shù)據(jù)庫和網(wǎng)頁的副本放置在所有計算機上(使用相同的目錄路徑)。不過,由于此方法要求將客戶端對文件、數(shù)據(jù)庫或服務(wù)器上保留的任何其他項所做的每個更改傳播到所有其他服務(wù)器,因此幾乎不可行。若要確保服務(wù)器保持同步,場必須在傳播過程中阻止傳入連接。由所有傳播導(dǎo)致的性能降低會使場應(yīng)提供的優(yōu)勢不再存在。實際上,甚至于連適度使用的 SharePoint Foundation 部署也會陷于幾乎不停地傳播更改的狀態(tài)。 為了避免這些問題,可以為場中的某些服務(wù)器分配特殊任務(wù),如承載數(shù)據(jù)庫。雖然客戶端連接到的前端服務(wù)器不會將數(shù)據(jù)庫復(fù)制到它們上面,但仍需對這些服務(wù)器進行相同的配置,這是因為這些服務(wù)器將使用相同的連接字符串和網(wǎng)絡(luò)地址來訪問數(shù)據(jù)庫。
?
關(guān)于SPFarm類
??SPFarm類繼承自SPPersistedObject,它代表一臺或多臺物理服務(wù)器組成的場,因此它被包含在物理層次中。
??但是它同樣可以被認為是內(nèi)容層次結(jié)構(gòu)(Content Hierarchy)的最頂級; 例如,所有Windows SharePoint Services 場的(非配置)內(nèi)容都支持備份和恢復(fù)。
??在Windows SharePoint Services 3.0中,SPFarm類也可以被視作和服務(wù)器場相關(guān)的配置數(shù)據(jù)庫的代表,因為Windows SharePoint Services 3.0沒有代表配置數(shù)據(jù)庫的類。例如,SPFarm對象的?? DisplayName屬性也是配置數(shù)據(jù)庫的名字。?
??SPFarm對象有三個主要的子類型: SPServer、SPService和SPSolution。
??SPFarm從SPPersistedObject繼承,意味著它的對象(只有一個)實例保存在配置數(shù)據(jù)庫中。?
??SPFarm的靜態(tài)成員能夠建立服務(wù)器場和返回本地或遠程的服務(wù)器場。
??SPFarm類有許多成員可以用來開發(fā)管理功能,一些更重要的成員可以用來幫助管理,如下:
- Backup and restoration of the farm(備份和還原服務(wù)器場)
- Upgrades of the farm (升級服務(wù)器場)
- Migration of (moving) the farm(升級服務(wù)器場)
- Error reporting(錯誤報告)
- Caching (緩存)
下面是 SharePoint Foundation 場(Farm)的一些特征:
- 每個 SharePoint Foundation 場都具有一個配置數(shù)據(jù)庫(configuration database),此數(shù)據(jù)庫包含有關(guān)場、場的服務(wù)器和場的其他重要子類的信息。
- 場是對象模型的一個級別,可以在此級別安裝 SharePoint Foundation 解決方案,也可以從此級別將解決方案部署到服務(wù)器和 SharePoint Foundation Web 應(yīng)用程序(web application)。
- 場是可從中激活 SharePoint Foundation 功能(feature)的四個級別之一。其他三個級別為網(wǎng)站、網(wǎng)站集和 Web 應(yīng)用程序。
關(guān)于SPServer類
??? SPServer類在Windows SharePoint Services 場中代表一臺物理服務(wù)器。
??? 除許多被繼承的成員之外,SPServer類有個Address屬性,這個屬性保存了服務(wù)器的IP地址。而SPServer類的Role屬性用來分辨服務(wù)器角色。 如果只有一臺服務(wù)器,它的Role為SingleServer。
??? 如果有超過一臺的服務(wù)器,前端服務(wù)器的Role為WebFrontEnd,并且?guī)缀跗渌械姆?wù)器的Role為Application。
??? 然而,實際上寄存Windows SharePoint Services內(nèi)容服務(wù)器的服務(wù)器Role屬性值為Invalid。因為,這個服務(wù)器只運行一個Windows SharePoint service-數(shù)據(jù)庫服務(wù)(一個Windows服務(wù))-這個數(shù)據(jù)庫服務(wù)實際上是SQL Server Windows service的別名,該SQL Server Windows service并不是Windows SharePoint service的一部分。 因此,它實際上并不運行任何Windows SharePoint service代碼,并且它對應(yīng)用程序角色并不適用。
??? SPServer類還有一個ServerInstances 屬性,可以返回當前服務(wù)器上所有的Windows services和Web services的實例.
??? SPServer從SPPersistedObject繼承,SPPersistedObject的實例都保存在配置數(shù)據(jù)庫中
總結(jié)
以上是生活随笔為你收集整理的Sharepoint学习笔记 –架构系列—09 Sharepoint的服务器端对象模型(Server Object Model) 1.物理对象层次结构的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 刚买的理财可以赎回吗?这几种情况可以!
- 下一篇: 【转】注册Azure AD 应用程序