




已閱讀5頁,還剩7頁未讀, 繼續(xù)免費閱讀
版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
瘦客戶端和智能客戶端簡介表示層是應用程序中至關重要的一部分 構建不適當?shù)谋硎緦涌赡軙е聫碗s性太高、缺少靈活性,并使得用戶體驗效率低下、不盡人意。眾所周知,在部署和可管理性方面,瘦客戶端應用程序比傳統(tǒng)的胖客戶端應用程序更具優(yōu)勢,這使得它們在近些年頗受歡迎。但是,隨著智能客戶端的到來,表示層體系結構的選擇不再那么直捷了當了。胖客戶端已經(jīng)演變?yōu)橹悄芸蛻舳耍C合了瘦客戶端在中央管理方面的優(yōu)勢,以及胖客戶端的靈活性、更佳的響應效果和高性能。本文討論了瘦客戶端和智能客戶端方法,并提供了有關如何在它們之間進行選擇的指南。大多數(shù)應用程序的表示層對于該應用程序的成敗常常都是至關重要的。表示層實際上代表了用戶和應用程序其余部分之間的接口。打個比方說,它就是輪胎和路面接觸的地方。如果用戶與應用程序的交互方式不能使他們以高效和有效的方式執(zhí)行自己的工作,那么應用程序在總體上的成功將大打折扣。表示層這個術語實在不足以表示這個層的功能和重要性。它很少只是向用戶顯示信息 更常見的是向用戶提供對應用程序的交互性訪問??赡軐τ谶@個層來說,更為適當?shù)拿Q是用戶交互層。不過,為簡單起見,在本文中繼續(xù)使用這個層的廣為人們接受的名稱。無論如何,在設計這個層時,您都希望向用戶提供適當?shù)挠脩趔w驗,使用戶能夠以有效和高效的方式與應用程序進行交互。當然,在構建這個層的體系結構然后實現(xiàn)它時,您還需要充分地考慮業(yè)務的開發(fā)、維護和運行需要。為應用程序的表示層選擇正確的體系結構,對于實現(xiàn)這些目標來說,極其重要。瘦客戶端方法和智能客戶端方法是兩種常被采用的表示層體系結構和設計方法。當然,有許多因素會影響有關哪種方法最適用于特定應用程序的決策 如客戶端平臺要求、應用程序部署和更新、用戶體驗、性能、客戶端集成、脫機功能等 而各種方法都有與生俱來的優(yōu)點和缺點,自然而然地支持某種特定樣式的應用程序。但是,您會發(fā)現(xiàn),它們之間的區(qū)別可能被混淆,而這很容易導致應用錯誤的基本方法,進一步導致以后的問題。例如,有人可能會使用基于瀏覽器的表示層來提供胖用戶界面,同樣,另一些人則可能會使用智能客戶端提供完全動態(tài)的用戶界面。這兩者實現(xiàn)起來都不容易,而且都很可能會導致不必要的復雜性、缺乏靈活性以及高昂的開發(fā)和維護成本。許多單位不加思索地選擇瘦客戶端體系結構,而沒有充分考慮其他方案。雖然并不能適用于所有情況,但智能客戶端體系結構可以提供比瘦客戶端方法顯著優(yōu)越的優(yōu)點,而不會帶來傳統(tǒng)上與胖客戶端相關聯(lián)的缺點。單位應當審慎地考慮各種方法,以便能夠從開始就選擇正確的方法,盡可能降低應用程序整個生存周期的 TCO。在下面的部分中,將對瘦客戶端和智能客戶端方法以及它們幕后的一些技術進行探討。對于每種方法,將介紹其基本體系結構,并討論該方法內(nèi)的一些設計選項。之后,將以您在為自己的應用程序確定最佳方法時需要考慮的一些常見因素和要求為前提,討論各個方法的相對優(yōu)缺點。許多瘦客戶端技術都是有關服務器端的,而目前有許多 Web 服務器平臺和框架(ASP、ASP.NET、JSP 及其他)可供選擇。每種平臺都具有一些特定的功能,試圖簡化編寫瘦客戶端應用程序的過程,但它們都通過一系列 HTML 頁面來向客戶端上的瀏覽器提供用戶界面。瘦客戶端應用程序可以很簡明地定義為:使用瀏覽器來提供應用程序(以 HTML 定義的)用戶界面的執(zhí)行環(huán)境的客戶端應用程序。除了呈現(xiàn)用戶界面和允許用戶與之交互外,瀏覽器還提供一般的安全性、狀態(tài)管理和數(shù)據(jù)處理功能,外加所有客戶端邏輯的執(zhí)行環(huán)境。對于后者,瀏覽器通常會提供一個腳本引擎和承載其他可執(zhí)行組件(如 Java Applets、ActiveX 和 .NET 控件等)的能力(雖然大多數(shù)定義并不認為這些可執(zhí)行組件屬于瘦客戶端技術 參見下面的混合型應用程序)。體系結構被構建為使用瘦客戶端表示層的應用程序可以分解為一些頁面,而每個頁面都在被請求時“部署”到客戶端。每個頁面都包含用戶界面說明,并通常會包含少量客戶端腳本邏輯和少量狀態(tài)/數(shù)據(jù)(視圖狀態(tài)、Cookies、XML 數(shù)據(jù)島等)。圖 1 所示為一種瘦客戶端表示層體系結構的圖形表示。瀏覽器與客戶端環(huán)境(硬件和在客戶端上運行的其他軟件應用程序)交互的能力是有限的。它的確提供了一種使得能夠在客戶端上存儲少量數(shù)據(jù)(通過 Cookies)的機制,有時還提供緩存頁面的能力,但除了作為分別提供簡單的會話管理或跟蹤,以及基本的只讀脫機功能的一種方法外,這些功能作用有限。瀏覽器還提供安全性基礎結構,以便使不同的應用程序(頁面)能夠分配到更多或更少的權限,這樣,它們就可以圍繞狀態(tài)(如 Cookies)執(zhí)行不同的任務,就可以承載組件和執(zhí)行腳本。Internet Explorer 通過不同的區(qū)域、受信任站點、分級等實現(xiàn)了這些功能。為了提供更豐富、響應效果更佳的用戶界面,一些 Web 應用程序采用了 DHTML 和類似的技術來提供更為豐富的用戶界面。雖然這些技術是非標準的,即并不是所有的瀏覽器都以相同的方式支持它們,但它們的確提供了在 Web 頁面中包括更高級的用戶界面元素(如下拉菜單、拖放等)的能力。圖 1:瘦客戶端體系結構的圖示其他的 Web 應用程序采用了在頁面內(nèi)承載復雜組件(包括 Java Applets、ActiveX 和 .NET 組件)的方法。這些組件要么可以提供響應效果更佳的用戶界面,要么提供出于性能或安全原因而不能在腳本中實現(xiàn)的客戶端邏輯。正是在這里,瘦客戶端開始與智能客戶端發(fā)生重疊,導致出現(xiàn)所謂的混合型應用程序。您當然可以使用這樣的混合型應用程序來利用或規(guī)避各種方法的優(yōu)缺點,但在本文檔中,我將把術語“瘦客戶端”定義為指代不依賴于這些組件,而僅使用瀏覽器環(huán)境所提供基本功能的通用 Web 應用程序。由于混合型應用程序需要依賴于智能客戶端功能來避免管理和運行問題,我將在稍后介紹智能客戶端應用程序的部分中對其進行介紹。智能客戶端應用程序可能不像瘦客戶端應用程序那么容易定義,這是因為它們可以采取許多種不同的形式,而不限于瘦客戶端應用程序那樣一成不變的方式。智能客戶端和瘦客戶端之間的主要區(qū)別在于智能客戶端不依賴于瀏覽器來為其操作提供執(zhí)行、安全性和用戶界面環(huán)境。此外,智能客戶端(而不是 HTML 和 Jscript)通常采用在客戶端計算機上運行的已編譯代碼部件(組件、程序集等)來提供應用程序的用戶界面和客戶端邏輯。智能客戶端與胖客戶端有何關系?胖客戶端應用程序已經(jīng)發(fā)展為智能客戶端應用程序。相較于瘦客戶端應用程序,胖客戶端提供了許多優(yōu)點,包括改進了的性能、更佳的響應效果和靈活性以及脫機工作的能力,但是在以可靠的方式部署和更新方面,胖客戶端存在一系列運行問題。瘦客戶端解決方案當然地在部署和更新方面更具優(yōu)勢,這也是它們受歡迎的一個主要原因。但是,智能客戶端應用程序通過借鑒瘦客戶端應用程序的可管理性優(yōu)勢,并結合以胖客戶端應用程序的優(yōu)點,代表了一種面面俱到的方法。智能客戶端是革除了劣勢的胖客戶端,通過采用新技術和技巧避免了傳統(tǒng)胖客戶端應用程序的缺陷。例如,構建在 .NET 平臺上的智能客戶端應用程序可以利用一系列 .NET Framework 用以解決傳統(tǒng)上與胖客戶端應用程序相關聯(lián)問題的重要技術。雖然始終都可以生成最小化或者避免了部署和安全缺陷的胖客戶端應用程序,但 .NET Framework 提供的功能大大簡化了這一工作。.NET 提供了從 Web 服務器部署應用程序或應用程序一部分的能力。這種技術稱為無接觸部署 (No-Touch Deployment),使您能夠通過 URL 部署應用程序。這使得您能夠將應用程序發(fā)布到一個中心位置(即發(fā)布到一臺 Web 服務器),這樣就可以根據(jù)需要自動部署該應用程序。所有客戶端都可以自動保持最新狀態(tài),這是因為應用程序會在每次應用程序運行時自動檢查更新,且每個客戶端應用程序在必要時都可以下載新的代碼。圖 2:智能客戶端體系結構的圖示.NET 還提供了代碼訪問安全性 (CAS) 基礎結構。CAS 根據(jù)它所提供的證據(jù)分配 .NET 代碼特定的權限。CAS 提供與瘦客戶端應用程序中的瀏覽器大致相同的功能,提供應用程序運行的沙箱環(huán)境。無接觸部署可以與 (CAS) 集成。默認情況下,使用無接觸部署部署的應用程序將被根據(jù)部署它們時所處的 URL 區(qū)域授予一組有限的權限。網(wǎng)絡管理員可以通過安全策略來修改權限,這樣,就可以根據(jù)需要授予或者拒絕給予應用程序特定的權限。使用 .NET Framework 創(chuàng)建智能客戶端應用程序,可以得到更為穩(wěn)定的應用程序。以前,安裝胖客戶端應用程序可能會導致其他應用程序被破壞,這是因為它會替換其他應用程序共享的重要組件和 DLL。.NET 允許分離應用程序,將所有的應用程序部件存放在一個本地目錄中,這樣,所有的程序集都是分離的。而且,這樣的應用程序在部署時并不需要任何注冊過程,從而進一步降低了破壞其他應用程序的風險。此外,.NET Framework 允許并列部署一個程序集的多個版本。這確保了在執(zhí)行一個應用程序時,該應用程序是使用生成和測試它時原本版本的程序集運行的。體系結構被構建為使用智能客戶端作為其表示層的應用程序通常會提供一個中央部署服務器(通過該服務器,可以將智能客戶端的部件部署到客戶端)和一些提供對后端業(yè)務功能(即智能客戶端使用的業(yè)務邏輯和數(shù)據(jù))進行訪問的 Web 服務。由于智能客戶端在客戶端上運行代碼,因此它可以更為明晰地將用戶界面與客戶端數(shù)據(jù)和邏輯分開。此外,視它被授予的權限而定,它可以更為自由地與其他客戶端資源(如本地硬件和客戶端上運行的其他軟件)進行交互。圖 2 所示為這種體系結構的圖示。智能客戶端是什么樣子的?智能客戶端應用程序可以采取多種形式,這種應用程序的架構師需要應對多種設計選擇。要作出的第一個決策是選擇最適當?shù)膽贸绦驑邮?即向用戶顯示智能客戶端的方式。通常,設計智能客戶端應用程序的方法有三種:Windows 應用程序。傳統(tǒng)的 Windows 樣式的應用程序,通常使用 Windows 窗體或者在 .NET Compact Framework 上生成的的移動應用程序生成。Office 應用程序。經(jīng)過擴展包括了智能客戶端功能的 Microsoft Office 程序,將用戶與商業(yè)應用程序和業(yè)務處理連接了起來?;旌闲蛻贸绦?。結合使用瘦客戶端和智能客戶端技術的應用程序。例如,在瀏覽器頁面內(nèi)承載 Windows 窗體控件,或者在 Windows 窗體應用程序中承載瀏覽器的應用程序。如果您想充分實現(xiàn)智能客戶端方法的優(yōu)點,那么選擇正確的應用程序樣式就非常關鍵。部署、安全性、開發(fā)和脫機功能都影響智能客戶端應用程序樣式的選擇,但是可能要考慮的最重要的因素還是總體的用戶體驗。每個選項都代表不同類型的用戶體驗,如果選擇正確,用戶將可以得到他們所需要的靈活性和性能的完美組合。Windows 應用程序用戶會將智能客戶端應用程序與傳統(tǒng)的 Windows 樣式的應用程序相聯(lián)系,這是因為它們提供了胖客戶端功能,包括工具欄、菜單欄、上下文菜單、拖放支持、上下文相關的幫助、撤銷/重復等。開發(fā)人員可以在 .NET Framework 或者 .NET Compact Framework 上生成這些類別的智能客戶端應用程序,使用 Windows 窗體來提供這些胖用戶界面功能。這些開發(fā)人員還可以通過利用 Microsoft Patterns and Practices 工作組提供的應用程序塊 (Application Blocks) 來利用預建的智能客戶端功能。這些塊可以向應用程序提供常見的智能客戶端功能,如本地數(shù)據(jù)緩存、無縫部署和脫機工作的能力。Windows 窗體應用程序可以提供對用戶體驗的最大程度的控制,開發(fā)人員能夠精心設計用戶界面和用戶交互模型,充分滿足自己的需要。對于需要特定的用戶體驗,而這種體驗又不是任何 Office 應用程序本身能夠提供的應用程序來說,采用這種方法最合適。Office 2003 智能客戶端應用程序Microsoft Office 程序提供了一種非常優(yōu)秀的生成智能客戶端解決方案的平臺。擴展 Office 應用程序,使之形成分布式解決方案的一部分,將它們連接到遠程數(shù)據(jù)源和業(yè)務服務,不僅對用戶有利,還可以提高編寫應用程序和需要部署和管理它們的開發(fā)人員的效率。許多用戶很熟悉 Office,在日常工作中都會用到它。通過將 Office 應用程序連接到遠程數(shù)據(jù)源和業(yè)務服務來擴展這些應用程序,意味著解決方案可以從用戶對這些程序的熟悉中得利,從而避免或者大幅降低了重新培訓用戶的需要。對用戶也有好處,這是因為他們可以繼續(xù)使用自己熟悉的應用程序。許多單位廣泛使用了 Microsoft Office。大多數(shù)商業(yè) PC 您的、您客戶的、服務提供商的和供應商的 都安裝了 Office 應用程序。使用 Office 作為商業(yè)系統(tǒng)的客戶端,可以降低安裝和維護遞增的客戶端應用程序以訪問后端數(shù)據(jù)源和服務的需要。常見的是,來自商業(yè)應用程序的數(shù)據(jù)被復制到 Office 應用程序(如 Word 或 Excel)中以進行進一步的操作、編輯、分析和呈現(xiàn)。復制和粘貼不光耗時,而且還帶來了發(fā)生錯誤的風險。更重要的是,指向數(shù)據(jù)的鏈接丟失,因此用戶需要不斷刷新,重復復制和粘貼過程,這可能會帶來并發(fā)問題。Office 應用程序還可以提供顯示和操作數(shù)據(jù)所需的眾多功能,使用戶能夠利用 Office 的全套工具與解決方案交互。這可以節(jié)省大量時間和工作量,使您能夠更快地開發(fā)和發(fā)布解決方案。例如,Excel 提供了用以排序、操作和顯示數(shù)據(jù)的強大功能。在您的智能客戶端解決方案中重用這些功能可以大幅節(jié)約成本。當然,用戶在一段時間內(nèi)可以將其他功能集成到他們的 Office 應用程序中。某些情況下,這導致了一些非正式但是對于業(yè)務很關鍵的解決方案,這些解決方案很難管理,這是因為它們并不是由 IT 部門開發(fā)和維護的。使用智能客戶端技術生成這些解決方案使得部署和更新它們將更為簡便,這是一種能夠保留解決方案的價值,并同時解決其中的一些可管理性問題的方法。Office 2003 支持將智能客戶端功能集成到 Office 應用程序中,并將它們連接到提供數(shù)據(jù)和業(yè)務處理訪問的遠程服務。以下是一些 Office 2003 支持的用于創(chuàng)建智能客戶端解決方案的更為重要的技術:XML 支持。Office 2003 提供了一些功能,使開發(fā)人員能夠通過 XML 更為簡便地將 Office 應用程序連接到遠程數(shù)據(jù)源和業(yè)務處理。Word、 Excel 和 InfoPath 可以使用 XML 以人或計算機可讀的 XML 形式存儲文檔的內(nèi)容和結構。Microsoft 已經(jīng)為這些文件格式發(fā)布了 W3Ccompliant XSD 架構,任何人都可以在自己的解決方案中免費使用這些架構。這些架構使得能夠在服務器上輕松地構造 Word 和 Excel 文檔以及 InfoPath 表單,并通過 XML Web 服務提供給客戶端,用戶則可以方便地顯示和編輯這些文檔。這種技術還可用于提供文檔撰寫、索引或者搜索功能。當然,由于這些文檔是 XML,因而可以與任何其他系統(tǒng)或過程交換它們,這提供了一種跨異類系統(tǒng)的數(shù)據(jù)互換方法。這種技術非常適合以文檔為中心的解決方案。Word、 Excel 和 InfoPath 也可以使用符合自定義或用戶定義架構的 XML 消息或文檔。用戶可以將他們的 Office 應用程序在以數(shù)據(jù)為中心的解決方案中用作表示層服務,在這種解決方案中,業(yè)務處理或服務已經(jīng)定義了消息架構。這種類型的智能客戶端應用程序將消息中的元素和屬性映射到文檔的特定區(qū)域,以使 Office 應用程序正確地顯示它們,并在確保用戶輸入的數(shù)據(jù)符合基礎架構的同時允許用戶編輯值。使用 XPath 查詢語句,可以以編程方式查詢、設置或引用特定的值。“擴展 Office 應用程序,使之形成分布式解決方案的一部分,將它們連接到遠程數(shù)據(jù)源和業(yè)務服務,不僅對用戶有利,還可以提高編寫應用程序和需要部署和管理它們的開發(fā)人員的效率?!盝OURNAL4 | Choosing the Right Presentation Layer Architecture 9智能文檔。智能文檔解決方案通過根據(jù)用戶在文檔內(nèi)的當前位置向用戶提供附加數(shù)據(jù)和指南,幫助用戶與文檔進行交互。在用戶與文檔交互時,它可以使用任務窗格向用戶顯示相關的信息或指南,或者,它會根據(jù)當前的任務自動填充缺少的數(shù)據(jù)。將這種體驗連接到遠程服務以獲取活動數(shù)據(jù)或啟用與業(yè)務處理的交互,將能夠生成強大的集成式應用程序。信息橋框架 (IBF)。IBF 是一種聲明式解決方案,構建在智能文檔技術之上,使文檔能夠通過元數(shù)據(jù)連接到服務。Office 應用程序內(nèi)的智能標記與通用 IBF 基礎結構和與可用的 Web 服務相關聯(lián)的元數(shù)據(jù)進行交互,根據(jù)文檔的內(nèi)容和用戶的當前活動,從文檔內(nèi)提供對相關數(shù)據(jù)和業(yè)務處理的訪問。例如,如果用戶收到了一個文檔,其中提到了某個特定的提供商,IBF 基礎結構就可以訪問有關該公司的數(shù)據(jù),并在任務窗格中顯示。它還可以提供對可用選項的訪問,使文檔能夠連接到其他業(yè)務處理。Visual Studio Tools for Office (VSTO)。VSTO 提供對 Word 和 Excel 的托管代碼擴展的對象模型的訪問。開發(fā)人員可以使用 VSTO 生成復雜和綜合性的 Office 智能客戶端解決方案,不僅提供對 Word 和 Excel 的全部功能的訪問,還可以訪問 .NET Framework 的所有功能,如 Windows 窗體,從而可以輕松地集成豐富并具有優(yōu)秀響應效果的用戶界面。VSTO 還能夠提供絕佳的開發(fā)體驗,使開發(fā)人員能夠方便地創(chuàng)建和調試解決方案。VSTO 基本上提供了文檔后的代碼,以便形成能夠利用“宿主”應用程序所提供功能的解決方案。混合型應用程序混合型智能客戶端應用程序結合了智能客戶端和瘦客戶端方法。它們提供了一種用智能客戶端功能擴展現(xiàn)有瘦客戶端應用程序的方法,或者將基于瀏覽器的應用程序集成到智能客戶端應用程序的方法。例如,智能客戶端應用程序可以承載一個瀏覽器實例,這樣就能夠使用瘦客戶端方法提供特定的內(nèi)容和應用程序功能。當應用程序需要集成現(xiàn)有的瘦客戶端應用程序,或者需要利用瘦客戶端方法的某項關鍵性優(yōu)勢來提供 Web 服務器所提供的鏈接動態(tài)內(nèi)容時,這種體系結構很有用。當然,這樣的內(nèi)容和功能僅當用戶聯(lián)機時才可用,但應用程序的智能客戶端部分卻可以在脫機時提供有用的功能,并在聯(lián)機時以對瘦客戶端功能的訪問增強應用程序。某些情況下,混合方法可用于擴展現(xiàn)有的瘦客戶端應用程序,方法是在 Web 頁面內(nèi)承載智能客戶端控件或組件。這些組件可以提供豐富的、具有優(yōu)秀響應效果的用戶界面以及特定的應用程序功能(如呈現(xiàn)和可視化數(shù)據(jù)),雖然應用程序的其余部分是按照瘦客戶端的方式提供的。但是,這種體系結構不適用于提供脫機支持,原因是宿主 Web 頁面在沒有連接時不可用,它也不適用于提供軟件或硬件的客戶端集成,除非已經(jīng)進行了適當?shù)陌踩呗愿?。很明顯,瘦客戶端和智能客戶端方法分別有自己的功用。各種方法都各有優(yōu)缺點,如何在它們之間選擇有賴于特定應用程序的要求或業(yè)務需要。采用正確的方法,可以在充分考慮應用程序的開發(fā)、維護和運行等方面的同時,向用戶提供良好的用戶體驗,使他們能夠以有效和高效的方式與應用程序進行交互。有些單位確立了對所有應用程序采用瘦客戶端方法的策略。在默認情況下選擇瘦客戶端方法可能會對某些應用程序造成嚴重的技術問題,這是因為瀏覽器平臺不能方便地支持中等復雜性的應用程序的要求。開發(fā)具有傳統(tǒng)的胖客戶端應用程序的外觀、感覺和功能的瘦客戶端應用程序,是一項極其困難而又代價高昂的工作。為什么呢?瀏覽器在狀態(tài)管理、客戶端邏輯、客戶端數(shù)據(jù)和提供拖放、撤銷/重復等胖用戶界面功能方面,會對開發(fā)人員造成嚴重限制。相反,為所有應用程序選擇智能客戶端方法也不合適,這是因為它會導致為只是動態(tài)顯示數(shù)據(jù)并需要高度動態(tài)用戶界面的好處的應用程序采用過分復雜的解決方案。此外,如果您的應用程序必須支持多個客戶端操作系統(tǒng),則由于跨平臺限制,智能客戶端方法可能并不適用。因此,對所有應用程序采用一種單一的方法可能會導致不必要的成本、復雜性、缺乏靈活性和可用性降低。視特定應用程序和業(yè)務的需要而定,兩種方法可以在企業(yè)內(nèi)共存。選擇一種方法而不是另一種,應當分別就每個應用程序決定,當然,某些情況下兩種方法可以結合使用,或者適當?shù)丶墒菘蛻舳撕椭悄芸蛻舳思夹g,或者采用雙通道方法,讓某些用戶使用瘦客戶端訪問應用程序,而讓要求更嚴格的用戶使用智能客戶端。對于任一種方法,關鍵都是在適當?shù)臅r候利用適當?shù)募夹g,以滿足用戶的預期和業(yè)務的總體需要。瘦客戶端方法在易于獲得以及部署和運行的便捷性方面享有眾所周知的優(yōu)勢。但是,智能客戶端技術到來后,智能客戶端在這個方面正逐步縮小距離,現(xiàn)在已經(jīng)在某些情況下成為瘦客戶端的可行替換方案。特別是,智能客戶端并沒有胖客戶端解決方案在部署和管理方面的問題,而在靈活性、響應效果和性能方面,智能客戶端解決方案具有更強的優(yōu)勢。那么,如果部署和可管理性不再是影響兩種方法之間選擇的決定性因素,我們又該如何進行選擇?隨著瘦客戶端方法在這一領域的優(yōu)勢被逐漸削弱,平衡發(fā)生著變化,必須考慮的因素增多了。視要求的相對優(yōu)先級而定,一種方法將比另一種更合適,而選擇正確的方法帶來的是更快和更簡單的開發(fā)過程、更為簡便的使用和更高的用戶滿意度。前面介紹了各種方法的功能、優(yōu)點和缺點,那么,在確定了特定應用程序的要求時,如何將以上信息應用到?jīng)Q策中?公司企業(yè)必須考慮的一些更為重要的因素包括:客戶端平臺要求部署和更新要求用戶體驗要求性能要求客戶端集成要求脫機要求以上并不是完整的因素列表,您公司的 IT 部門可能會添加對于特定應用程序至關重要的其他因素。特別是,這個因素列表主要關注的是運行或功能要求,而并不包括開發(fā)和設計時因素。而這些因素可能具有足夠的重要性,足以顛覆一種方法與另一種方法之間的平衡。正確方法的確定,是 IT 人員和企業(yè)主的共同決定。所采用的方法應當產(chǎn)生一個使雙方都滿意的解決方案:管理方的 IT 部門,和功能方的企業(yè)主。對于面向主要使用者位于單位外部的應用程序的客戶或合作伙伴,或者對于不能規(guī)定使用特定客戶端平臺的客戶或合作伙伴,或者必須從非 Windows 操作系統(tǒng)訪問的應用程序來說,客戶端平臺靈活性可能非常重要。瘦客戶端提供了面向多種客戶端平臺運行的能力,雖然這通常要求應用程序確定目標平臺的確切類型,以便它能夠更改其運行或行為以適應各種瀏覽器之間的區(qū)別,特別是在目標平臺必須包括移動設備時。瘦客戶端框架本身可以處理許多這樣的區(qū)別。例如,服務器上的 ASP.NET 可以確定目標瀏覽器的類型,并相應地為各種瀏覽器呈現(xiàn)內(nèi)容。但是,如果使用其中一些更為高級的瀏覽器功能,將可能導致不得不開發(fā)特定的代碼,以處理瀏覽器類型之間的區(qū)別。智能客戶端方法不提供這種功能,雖然僅面向 Windows 操作系統(tǒng)的應用程序可以使用 .NET Framework 和/或 .NET Compact Framework(對于移動應用程序)來基于各式各樣的客戶端設備(甚至向外部用戶)提供智能客戶端解決方案。如果您的應用程序必須支持外部用戶或者運行在非 Windows 操作系統(tǒng)上的客戶端,那么應當優(yōu)先考慮瘦客戶端方法。瘦客戶端和智能客戶端方法都需要將用戶界面、應用程序邏輯和數(shù)據(jù)部署到客戶端。兩種情況下,這些部件都位于一個中央位置并集中管理,根據(jù)需要部署到客戶端。在瘦客戶端方法中,這些部件并不保存在客戶端上,而需要在用戶每次運行應用程序時進行“部署”。在智能客戶端方法中,客戶端可以保存這些部件以啟用脫機使用,或者優(yōu)化部署和更新過程。由于兩種方法都允許公司集中存放應用程序的部件,因此他們在用戶授權、應用程序部署、更新等方面都提供了集中式管理。公司可以使用瘦客戶端和智能客戶端提供解決方案,以確保用戶僅運行應用程序的最新版本,但是智能客戶端可以實現(xiàn)附加的靈活性,如能夠讓不同的用戶運行應用程序的不同版本(如試驗組),或者讓應用程序脫機運行。但是,要實現(xiàn)這些優(yōu)勢,解決方案可能需要進行附加的安全策略更改和/或在客戶端部署一個更新管理器組件。如果您的方案要求應用程序脫機運行,您應當優(yōu)先考慮智能客戶端方法。但是,如果在客戶端上保存部件對應用程序沒什么好處,那么采用瘦客戶端方法可能更合理。后一種情況下,對于主要顯示動態(tài)數(shù)據(jù)或者并發(fā)問題(對于應用程序邏輯或數(shù)據(jù)來說)可能較嚴重的應用程序,使用瘦客戶端效果一般更佳。瘦客戶端和智能客戶端應用程序分別適用于特定的用戶界面樣式。許多瘦客戶端應用程序都試圖提供較豐富用戶體驗,但是由于瀏覽器(相對于智能客戶端平臺)的局限性,總是在某些重要的方面表現(xiàn)欠佳。例如,在瘦客戶端解決方案中,基本的胖客戶端功能(如拖放和撤銷/重復)開發(fā)起來很困難。與提供這些功能相關聯(lián)的復雜性可能相當高,并可能因此減損瘦客戶端方法在跨平臺方面的優(yōu)勢。您還應當考慮用戶與應用程序的交互方式。有些應用程序的線性很明了,這是因為用戶通常以預定義或者類似的方式與它進行交互。其他應用程序則是非線性的,用戶可以啟動一個任務然后掛起,完成另一個任務,然后回到原先的任務。在瘦客戶端解決方案中,管理提供這種功能所需狀態(tài)可能非常具有挑戰(zhàn)性。例如,如果用戶在重要事務的過程中按下“返回”按鈕,就必須將瘦客戶端解決方案設計為能夠處理這一狀況。在智能客戶端應用程序中,這種情況更容易處理。智能客戶端還可以利用本地資源來提供本地數(shù)據(jù)搜索、排序、可視化和客戶端驗證,從而提高應用程序的可用性,改善用戶體驗。這些功能可以提高數(shù)據(jù)質量、用戶滿意度和工作效率。這兩種方法之間的一個重大區(qū)別是,相對于它的瘦客戶端對手,智能客戶端應用程序能夠提供更高的性能。就基礎層面來說,瘦客戶端通常使用腳本(瘦客戶端必須在運行過程中解析腳本)作為提供和執(zhí)行客戶端應用程序邏輯的工具。與此相對,智能客戶端解決方案可以向客戶端提供特定的已編譯代碼。此外,也可能更為重要的是,智能客戶端應用程序中的客戶端邏輯在與用戶界面、本地數(shù)據(jù)存儲或者位于網(wǎng)絡上的服務進行互動的方式方面受限更少。出于這些原因,好的智能客戶端體系結構可以使解決方案開發(fā)人員能夠更輕松地開發(fā)出高性能的解決方案。用戶對性能的感覺是由他們使用應用程序的方式和他們對應用程序行為的預期決定的。不常使用、或者用戶并不與之進行很多互動的應用程序(如只是獲取和顯示數(shù)據(jù)的應用程序)并不能從更高的原始客戶端性能獲得多少好處。但是,對于使用頻率很高的應用程序,即使常用的功能只有少許遲延,看上去都會顯得性能很差。例如,在呼叫中心應用程序中,在檢索客戶訂單詳細信息時的四五秒鐘的遲延,可以很輕易地累積為嚴重的用戶不滿(和高額成本)。當然,對于在網(wǎng)絡上發(fā)送或檢索數(shù)據(jù)的功能,兩種方法都會表現(xiàn)出相同的原始性能。但是,設計良好的智能客戶端解決方案可以在一個單獨的線程上執(zhí)行其網(wǎng)絡通訊,這使得應用程序能夠在通過網(wǎng)絡發(fā)送和接收數(shù)據(jù)時保持較好的響應能力。這樣的后臺工作可以主動完成,例如在對撥入的客戶電話作出響應時。此外,智能客戶端解決方案在本地緩存數(shù)據(jù)更為方便,而這可以降低網(wǎng)絡調用的數(shù)量,或者降低執(zhí)行同一功能所需的帶寬。這些功能可以顯著影響用戶所感知到的應用程序的性能。智能客戶端解決方案可以提供更為嚴格的客戶端數(shù)據(jù)驗證。例如,由于智能客戶端解決方案可以在本地緩存數(shù)據(jù)和邏輯,因此可以緩存只讀的參考數(shù)據(jù),而應用程序可以使用這些參考數(shù)據(jù)來提供域和交叉域驗證。使用這種驗證的應用程序可以較快地向用戶提供反饋(從而提高被感知的應用程序性能),降低通過網(wǎng)絡傳輸數(shù)據(jù)的次數(shù),并確保更高的數(shù)據(jù)質量。瘦客戶端解決方案可能需要依賴復雜的腳本來提供相同級別的功能,而對于沒有在當前頁面上顯示的其他數(shù)據(jù)來說,可能無法在本地驗證數(shù)據(jù)。智能客戶端解決方案還可以最大程度地利用本地處理、存儲和顯示功能,使用戶可以在客戶端上對數(shù)據(jù)進行查詢、排序和可視化,而無需發(fā)出網(wǎng)絡調用。在使用 Office 應用程序(如 Excel)作為智能客戶端宿主環(huán)境時,這種能力表現(xiàn)特別突出。這可以顯著降低瘦客戶端應用程序執(zhí)行同一功能所需的網(wǎng)絡調用的數(shù)量。由于智能客戶端解決方案用戶界面通常是由在客戶端運行的特定代碼提供的,因此它可以向用戶提供響應更為迅捷的用戶界面。胖客戶端用戶界面功能,如拖放、撤銷/重復、上下文相關的幫助、鍵盤快捷方式等,都有助于改善用戶體驗以及被感知的應用程序性能。如果性能是重要的問題,您應當考慮智能客戶端解決方案。用戶所感知的應用程序性能通常比各個操作的實際性能更為重要。好的應用程序的最終目標是確保在保持用戶滿意度的情況下,使用戶能夠有效和高效地執(zhí)行他們的工作。很多時候應用程序需要訪問客戶端資源,以便將它們集成到總體解決方案中??蛻舳速Y源有時包括硬件(打印機、電話、條形碼識別器等)或軟件(集成其他行業(yè)或桌面應用程序)。當然,瘦客戶端和智能客戶端方法都在一個沙箱內(nèi)運行。對于瘦客戶端,瀏覽器提供了沙箱;對于智能客戶端,.NET Framework 運行庫提供了沙箱。將客戶端資源集成到瘦客戶端應用程序通常需要使用混合型應用程序體系結構,將組件(如 ActiveX 控件)承載到頁面內(nèi),以便擴展到瀏覽器沙箱之外。這種方法不夠靈活,通常要依靠用戶來作出是否下載組件并在客戶端上用戶的登錄帳戶下運行的安全性決策。.NET Framework 運行庫采用了一個更為靈活的方法,根據(jù)它所提供的證據(jù)和本地安全策略來授予托管代碼權限。默認情況下,從 Web 服務器下載的代碼非以嚴格受限和特定的方式,不能與本地資源交互。但是,您的應用程序邏輯可以授予代碼訪問特定資源(如磁盤上的特定目錄、對其他應用程序的訪問、本地數(shù)據(jù)庫等)的附加權限。這種托管方法代表了一種在控制應用程序的安全性方面更為精細和更為靈活的機制,它使得智能客戶端能夠集成其他客戶端資源,而不會帶來安全風險。更為重要的是,由網(wǎng)絡管理員而不是各個用戶來使用安全策略作出安全性決策,這樣應用程序代碼就無法在沒有得到授權的情況下執(zhí)行操作或訪問資源。智能客戶端應用程序常常使用代碼訪問安全性來控
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 核醫(yī)學輻射管理制度
- 檢驗科安全管理制度
- 民企本土化管理制度
- 氨制冷機房管理制度
- 漢堡店培訓管理制度
- 汽車安檢臺管理制度
- 汽車裝卸站管理制度
- 家庭教育中的閱讀習慣培養(yǎng)與指導方法
- 家庭教育數(shù)據(jù)的分析與利用
- 家庭消防安全預防知識
- 肺炎衣原體醫(yī)學課件
- 公司銷售清單
- 《多邊形的面積》課件
- 《行政執(zhí)法基礎知識》課件
- 信息安全保密教育培訓課件
- 燈具安裝協(xié)議
- 工業(yè)機器人視覺20
- TL226 大眾試驗測試標準
- 毛澤東思想和中國特色社會主義理論體系概論(復旦大學)智慧樹知到課后章節(jié)答案2023年下復旦大學
- 關于退租的申請書
- 吳川市中醫(yī)院新增數(shù)字減影裝置(DSA)項目環(huán)境影響報告表
評論
0/150
提交評論