官术网_书友最值得收藏!

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的使用選擇

主站蜘蛛池模板: 麦盖提县| 晋中市| 田东县| 宁德市| 娄烦县| 乾安县| 大姚县| 宁化县| 奇台县| 房产| 齐齐哈尔市| 偃师市| 厦门市| 雅江县| 乌兰县| 霍城县| 阿拉善右旗| 南溪县| 大冶市| 肥城市| 丹棱县| 阳曲县| 敦煌市| 会宁县| 蕲春县| 亳州市| 清苑县| 海淀区| 望城县| 徐州市| 沂源县| 汤原县| 长治县| 大田县| 德兴市| 岫岩| 沙坪坝区| 禹州市| 甘德县| 竹溪县| 黄石市|