日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

将 SharePoint 开发与其他形式的开发进行比较

發(fā)布時間:2023/12/4 编程问答 42 豆豆
生活随笔 收集整理的這篇文章主要介紹了 将 SharePoint 开发与其他形式的开发进行比较 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

從三個視點檢查 SharePoint 開發(fā)很有用:

  • 為 .NET Framework 構(gòu)建可擴展的應(yīng)用程序
  • 構(gòu)建數(shù)據(jù)庫應(yīng)用程序
  • 構(gòu)建傳統(tǒng)的富客戶端應(yīng)用程序
將 SharePoint 應(yīng)用程序與可擴展的 .NET Web 應(yīng)用程序進行比較

您可以從開發(fā)人員的角度檢查 SharePoint 開發(fā),該開發(fā)人員構(gòu)建了在大型服務(wù)器場上運行的高度可擴展的松散耦合 Web 應(yīng)用程序。這些應(yīng)用程序每分鐘必須處理數(shù)百個或數(shù)千個頁面視圖。

SharePoint 的核心基于 ASP.NET,并在 IIS 上運行,它可具有多個處理負載平衡的前端 Web 服務(wù)器。SQL Server 提供了 SharePoint 網(wǎng)站中存儲的數(shù)據(jù)和文檔的完整性、可伸縮性、可靠性和安全性。以下是可伸縮性影響 SharePoint 開發(fā)的一些重要方法。

  • API 設(shè)計。可伸縮性將驅(qū)動 SharePoint 的編程接口的某些特征。當您了解編程接口的設(shè)計可提高可伸縮性時,就能更輕松地理解這些接口了。例如,托管客戶端對象模型,抽象地說,該模型與 SharePoint Foundation 服務(wù)器端對象模型非常類似,但實際上它更為復(fù)雜,因為它使您能夠在從服務(wù)器中檢索數(shù)據(jù)或內(nèi)容時明確進行控制。
  • 解決方案設(shè)計。可伸縮性將影響您設(shè)計基于 SharePoint 構(gòu)建的解決方案的方式。您必須避免在服務(wù)器上導(dǎo)致不必要的計算或查詢活動的設(shè)計。您必須編寫資源消耗量不會多于應(yīng)有資源消耗量的應(yīng)用程序。例如,這意味著合理使用協(xié)作應(yīng)用程序標記語言核心架構(gòu) 和 LINQ to SharePoint 來查詢列表項。
  • 最佳實踐。可伸縮性隱藏在作為 SharePoint 開發(fā)的最佳實踐 的某些編程方法和問題后面。例如,SharePoint 對象模型中的某些對象具有關(guān)聯(lián)的非托管數(shù)據(jù)。因此,您必須了解并遵循對象處理規(guī)則。類似地,在使用 SharePoint 中的大型列表時,可考慮幾個最佳實踐。如果您不遵循這些規(guī)則,則可能會對服務(wù)器場產(chǎn)生負面影響。有關(guān)詳細信息,請參閱 SharePoint Foundation 的最佳做法和 SharePoint Server 的最佳做法。另請參見Best Practices: Using Disposable Windows SharePoint Services Objects (該鏈接可能指向英文頁面)和釋放對象。您可使用自動化工具改進您的代碼評審。有關(guān)詳細信息,請參閱使用 SPDisposeCheck 自動執(zhí)行 SharePoint Dispose() 代碼評審(該鏈接可能指向英文頁面)。

有一些與構(gòu)建高度可擴展的 Web 應(yīng)用程序的開發(fā)人員所面臨的問題相同或類似的問題。我聽過這樣一個情景,一個 SharePoint 開發(fā)人員編寫代碼以便按設(shè)定時間間隔循環(huán)訪問其網(wǎng)站集中的所有文檔并收集要在樹控件中顯示的信息。這在其測試環(huán)境中能夠正常工作。但是,代碼設(shè)計會產(chǎn)生一個與文檔和列表項的實際數(shù)量相關(guān)的性能問題。

可伸縮性通過兩種不同的方式影響解決方案設(shè)計:

  • 您必須構(gòu)建可分發(fā)的應(yīng)用程序,這些應(yīng)用程序在部署到多個前端 Web 服務(wù)器上時可正常工作。例如,您可為在本地 XML 文件中存儲數(shù)據(jù)的 Microsoft Business Connectivity Services (BCS) 構(gòu)建小型 Create/Retrieve/Update/Delete Web 服務(wù)(請參閱 Business Connectivity Services)。但是,它在部署到負載平衡服務(wù)器場上時將無法正常工作。
  • 您必須構(gòu)建可正常執(zhí)行的應(yīng)用程序。例如,除非您確定某個列表將包含幾個列表項,否則不要使用對象模型循環(huán)訪問它;而是使用 LINQ to SharePoint,并為 SharePoint 提供優(yōu)化機會。

有關(guān) SharePoint 開發(fā)與 ASP.NET 開發(fā)的相似之處和不同之處的詳細信息,請參閱 針對 ASP.NET 開發(fā)人員的滑動路徑。另請參見 ASP.NET 開發(fā)人員的 SharePoint 2010 開發(fā)(該鏈接可能指向英文頁面)。

SharePoint Foundation 的最佳做法包含可幫助您避免對性能造成負面影響的缺陷的指南,其中包括有關(guān)對象處理、事件接收器、大型文件夾和列表以及代碼性能優(yōu)化的指導(dǎo)。

?

將 SharePoint 應(yīng)用程序與數(shù)據(jù)庫應(yīng)用程序進行比較

數(shù)據(jù)庫應(yīng)用程序開發(fā)是用于查看 SharePoint 開發(fā)的有利位置之一。SharePoint 網(wǎng)站中的自定義列表與數(shù)據(jù)庫表有很多相同之處。您可使用與列表中的列相關(guān)的豐富元數(shù)據(jù)來定義這些列。此外,SharePoint 列表可有效定義外鍵,以便您能對包含相關(guān)數(shù)據(jù)的更多有趣方案進行建模。SharePoint 將為刪除操作提供級聯(lián)和限制行為。您可以編程方式或聲明方式創(chuàng)建這些列表,也可以編寫使用用戶定義的列表的程序。這些列表可以是可見的或隱藏的。您可使用 SharePoint 的安全功能來限制訪問。

與 SQL 數(shù)據(jù)庫形成直接對比的 SharePoint 的一個方面是,您使用非程序的聲明性查詢語言來檢索數(shù)據(jù)。不過,將使用 LINQ to SharePoint 或使用通過 XML 編寫的協(xié)作應(yīng)用程序標記語言 (CAML),而不使用 SQL。

SharePoint 與數(shù)據(jù)庫技術(shù)的集成程度較深。您可通過 Business Connectivity Services 使用數(shù)據(jù)庫、Web 服務(wù)以及幾乎任何數(shù)據(jù)源。這些數(shù)據(jù)源將表示為外部內(nèi)容類型。

SharePoint 的數(shù)據(jù)功能的一個有趣特征是,它不具有事務(wù)性保證。例如,您無法確保以下兩個操作要么都發(fā)生,要么都不發(fā)生:在一個表中插入列表項,同時在另一個表中更新列表項。SharePoint 將不會用作實現(xiàn)事務(wù)性系統(tǒng)的平臺。相反,應(yīng)在可提供適當保證的外部數(shù)據(jù)庫中實現(xiàn)此類事務(wù)性系統(tǒng)。然后,您可通過使用 Business Connectivity Services 在 SharePoint 中顯示這些數(shù)據(jù)。當您設(shè)計 SharePoint 應(yīng)用程序時,您必須考慮此特征。

SharePoint 的數(shù)據(jù)功能與傳統(tǒng)數(shù)據(jù)庫開發(fā)的數(shù)據(jù)功能之間的一個重大區(qū)別是,SharePoint 列表(可與數(shù)據(jù)庫表進行比較)不一定是矩形。在 SharePoint 中,內(nèi)容類型將定義構(gòu)成列表中的列表項(可與行進行比較)的字段。可將其視為列表項的架構(gòu)。SharePoint 列表可包含多個內(nèi)容類型的列表項。下圖表示一個包含兩個內(nèi)容類型的項的 SharePoint 列表:LABOR 和 MATERIAL。

圖 2. 非矩形 SharePoint 列表

這將影響您設(shè)計和開發(fā)使用列表項以及列表項中的字段的應(yīng)用程序的方式。如果您必須有矩形數(shù)據(jù),則可定義列表,使其只能包含一個內(nèi)容類型。如果您啟用非矩形數(shù)據(jù),則當您循環(huán)訪問列表項時,您必須檢查內(nèi)容類型并相應(yīng)更改代碼的行為。

另一個有趣的特征是,由于存在內(nèi)部實現(xiàn)詳細信息,與使用 SQL 查詢表相比,使用 LINQ to SharePoint 或 CAML 查詢 SharePoint 的速度要慢得多。您不需要創(chuàng)建以下設(shè)計,其中的某些列表意外增長到 50,000 或 100,000 個項,并且用戶可隨意嘗試在瀏覽器中的窗口中顯示列表。SharePoint 2010 包含可阻止這類設(shè)計導(dǎo)致服務(wù)器場關(guān)閉的限制功能。但用戶界面將會變得無法對用戶作出響應(yīng)。可以通過多種方式處理包含大量項的列表。您必須有意地處理此問題。有關(guān)詳細信息,請參閱處理大型文件夾和列表。

SharePoint 基于 SQL Server 構(gòu)建。文檔庫和 SharePoint 列表存儲在數(shù)據(jù)庫中。當您查看 SharePoint 安裝的體系結(jié)構(gòu)圖時,您會發(fā)現(xiàn)這一點。實際 SharePoint 數(shù)據(jù)庫與 SharePoint 開發(fā)人員之間并沒有特別的關(guān)系。您從不直接訪問此數(shù)據(jù)庫。您總是使用編程接口來更改網(wǎng)站、列表和文檔庫。不過,您可使用相同的 SQL Server 安裝來承載您直接使用或通過 Business Connectivity Services 使用的數(shù)據(jù)庫。因此,它可以是您用來構(gòu)建 SharePoint 應(yīng)用程序的基礎(chǔ)結(jié)構(gòu)的一部分。

Microsoft Access 服務(wù)允許(但也有限制)您將 Access 數(shù)據(jù)庫發(fā)布到 SharePoint 網(wǎng)站。這會帶來一些很有用的機會,由于它允許 SharePoint 用戶以一致且熟悉的形式共享數(shù)據(jù)。

將 SharePoint 應(yīng)用程序與傳統(tǒng)的富客戶端應(yīng)用程序進行比較

SharePoint 與操作系統(tǒng)有很多共同之處:

  • SharePoint 包含存儲。包含文件夾的層次結(jié)構(gòu)的文檔庫與文件系統(tǒng)中目錄中的文件很類似。
  • SharePoint 具有可編程的用戶界面。
  • 在與操作系統(tǒng)一起使用時,您可編寫以不同級別的特權(quán)運行的代碼。通過使用 SharePoint 開發(fā),您可編寫必須使用服務(wù)器場管理憑據(jù)運行的代碼。您可編寫在沙盒解決方案中運行的代碼,也可編寫在客戶端瀏覽器中運行的 JavaScript。
  • 在與操作系統(tǒng)一起使用時,您可編寫服務(wù),這些服務(wù)為構(gòu)建具有復(fù)雜動態(tài)的 SharePoint 應(yīng)用程序提供必需的基礎(chǔ)結(jié)構(gòu)。

再次說明一下,規(guī)模是最大的差異。規(guī)模將驅(qū)動 SharePoint 的可編程性特征。您可編寫在數(shù)百臺服務(wù)器上以高性能運行的軟件,以便為整個企業(yè)提供一個可提高協(xié)作和工作效率的一致體驗。當您從傳統(tǒng)應(yīng)用程序開發(fā)轉(zhuǎn)向 SharePoint 開發(fā)時,處理可伸縮性問題是您要付出的準入代價。

總結(jié)

以上是生活随笔為你收集整理的将 SharePoint 开发与其他形式的开发进行比较的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。