




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