- SharePoint 2013 應用開發實戰
- 劉中正
- 1202字
- 2021-03-26 18:51:18
1.4 SharePoint API架構
SharePoint提供了豐富的API供開發人員使用。借助API,開發人員可以很容易地和SharePoint進行交互,而無須直接訪問SharePoint的任何數據庫。
值得一提的是,SharePoint API的兼容性做得非常好,雖然SharePoint歷經了幾次大的版本發布,但是舊版SharePoint開發的代碼,基本上不需要什么修改,或者只需要很小的改動,就能適應新版本的SharePoint。也就是說,您在本書里學到的SharePoint開發,絕大多數都可以被使用到SharePoint 2016上。
這里需要提到的一點是,在開發和SharePoint交互的程序時,一定不要直接連接SharePoint數據庫,一旦直接對數據庫做了操作(包括但是不限于查詢,添加,修改,刪除),微軟將不再對這個SharePoint場提供技術支持。
為了適用于不同的場景,微軟開發了多套API,包括:
● 服務器端對象模型(Object Module,簡稱OM)
● .NET客戶端對象模型
● Silverlight客戶端對象模型
● 移動設備對象模型
● JaveScript客戶端對象模型
● Web Service
● REST/OData終結點
圖1-11所示是各種API的適用范圍。

圖1-11 各種API的適用范圍
1.4.1 服務器端對象模型
這是一套基于.NET Framework的應用程序接口,引用這套API的程序必須運行在SharePoint服務器上(應用程序服務器或者Web前端服務器)。
服務器端對象模型的API存儲在SharePoint服務器的以下目錄:C:\Program Files\Common Files\microsoft shared\Web Server Extensions\15\ISAPI 。打開這個文件夾,可以看到里面有很多的dll文件。最常用的就是Microsoft.SharePoint.dll。通過調用這個文件,幾乎可以獲取和修改SharePoint從Web應用程序到列表項/文檔的任何內容。
1.4.2 托管客戶端對象模型
這個是相對于JavaScript等非托管代碼來說的。托管代碼的客戶端對象模型分為三種:
● .NET客戶端對象模型
如果程序運行在非SharePoint服務器的計算機上,那么就要使用.NET客戶端對象模型。.NET客戶端模型的dll文件同樣在C:\Program Files\Common Files\microsoft shared\Web Server Extensions\15\ISAPI里面,最常用的是Microsoft.SharePoint.Client.dll和Microsoft.SharePoint.Client.Runtime.dll。
● Silverlight客戶端對象模型
這種API適用于Silverlight程序,功能幾乎等同于.NET客戶端對象模型。但是隨著移動設備的發展,很多設備上的瀏覽器并不能支持Silverlight插件,因此這種程序并不多見,本書也不會講解這種API。
● 移動設備客戶端模型
Silverlight客戶端對象模型的一個專用版本可用于Windows Phone設備。但是因為Silverlight和Windows Phone的使用率都很低,所以這種客戶端模型我們也不會講解。
1.4.3 JavaScript客戶端對象模型
JavaScript客戶端對象模型是一組JS庫,開發人員通過引用這些庫,就可以實現和SharePoint的交互。和托管客戶端對象模型相比,這種方法是非常輕量級的,可以在任何支持JavaScript的瀏覽器中使用。JavaScript客戶端對象模型的代碼要運行在寄宿于SharePoint中的頁面上。
圖1-12是客戶端對象模型的架構圖。

圖1-12 客戶端對象模型架構圖
從圖1-12中可以看出,任何的客戶端對象模型的請求,都發到了Client.svc上。Client.svc是寄宿于SharePoint服務器上的一個服務,它也被部署到了C:\Program Files\Common Files\microsoft shared\Web Server Extensions\15\ISAPI,然后Client.svc調用服務器端對象模型,處理客戶請求。
1.4.4 REST/OData終結點
SharePoint 2013實現了OData協議的Representational State Transfer (REST) Web服務,這樣就可以通過HTTP請求對SharePoint列表數據執行增刪改查操作。因為REST是一個標準協議,因此即使對SharePoint服務器/客戶端對象模型不熟悉的開發人員,也可以快速上手。
1.4.5 Web Service
Web Service提供通過HTTP協議訪問SharePoint的方法,在之前版本的SharePoint里就存在了。但是微軟在SharePoint 2013里面宣布廢棄了這個API,而是推薦使用客戶端對象模型或者REST來代替。
該如何選擇使用哪種SharePoint API?表1-2列舉了一些情景。
表1-2 SharePoint API的使用選擇

- Linux Mint Essentials
- Learning Windows Server Containers
- 鴻蒙生態:開啟萬物互聯的智慧新時代
- Linux從零開始學(視頻教學版)
- FreeRTOS實時內核應用指南
- 混沌工程實戰:手把手教你實現系統穩定性
- 巧學活用Windows 7
- Mobile First Design with HTML5 and CSS3
- Windows 7案例教程
- INSTANT Migration from Windows Server 2008 and 2008 R2 to 2012 How-to
- 從實踐中學習Windows滲透測試
- Hadoop Real-World Solutions Cookbook
- 統信UOS應用開發進階教程
- Agile IT Security Implementation Methodology
- 程序員必讀經典(算法基礎+計算機系統)