智能用戶端(超越瀏覽器 迎接Smart Client)

來源:互聯網
上載者:User
超越瀏覽器 迎接Smart Client

導語:越來越多的人發現,B/S架構雖然得到了最好的支援,但是對於不斷出現的新的需求,依舊有心無力,許多事情依舊需要迴歸到C/S架構,於是有人提出了“迴歸胖用戶端”的論調。姑且不去論證其準確性到底有多少,但是有一點可以肯定,一種新的文化正在漸漸顛覆經過許多年發展建立起來的B/S文化。
         自微軟.NET戰略推出以來,一個新的概念也隨之而廣為人知——智能用戶端。可以預見的是,在未來的幾年內,智能用戶端將成為應用開發的主流架構。
        面對當前B/S架構的種種問題,軟體業提出了一些新的架構作為解決方案。未來的應用在技術架構經曆了大型主機—C/S—B/S發展曆程之後,經過深刻的反思,擯棄了各個階段不同軟體架構的缺點,期待著既具有更加豐富表現力又契合開發、應用和維護需要的用戶端,智能用戶端正是如此。
開啟Smart Client之門

    那麼許多人會反問,什麼是智能用戶端,它又如何能夠代表下一代應用的趨勢,如何贏得未來呢?
        簡單而言,智能用戶端是一個串連Internet的裝置,允許使用者本地應用程式通過Web服務和伺服器應用程式互動,從而結合了胖用戶端應用程式的豐富特性和瘦用戶端應用程式的易於部署和可管理的特性。例如,運行文文書處理程式(比如Office Word)的智能用戶端可以通過網路和遠端資料庫互動,從資料庫擷取文檔處理需要使用的資料;運行Windows Mobile的智能手機可以從網路上擷取相關圖書的資訊,可以擷取天氣預報。要獲得這些功能,不需要其他裝置,只需要這些終端擁有網路連接和背景Web服務。
 智能用戶端必須具有下列部分或者全部特徵:
         靈活充分使用用戶端資源 這裡包含用戶端的硬體資源和軟體資源,可能是利用用戶端的CPU計算能力,也可能是利用其儲存能力,還可能是利用用戶端的資源提供更加友善的使用者體驗。
        智能整合網路資源服務 通常而言,智能用戶端是整個應用系統的一個部分,大部分的商務邏輯還是在伺服器端實現,那麼智能用戶端就必須儘可能利用通過網路可以擷取的資源和服務,不限於提供分別的應用程式,而是整合在分布式商業應用環境中的一個組成部分。
       強大的離線能力 並不是所有的應用都能夠保證隨時線上(always online),需要保證在明確離線,使用低頻寬或高延遲網路,或者串連時斷時續的情況下繼續高效地工作。
        易於部署和安裝 通過一個集中的伺服器,智能用戶端通過網路可以非常容易地實現部署和更新。這是和傳統胖用戶端程式最大的不同之處,智能用戶端應用程式可以在其運行時或位於後台時對自身進行自動更新,避免陷入版本的噩夢。
        終端裝置的多樣化 智能用戶端應用程式能夠運行在許多具有網路連接能力的裝置之上,包括台式機、工作站、筆記本、PDA、智能手機等等,支援多種語言,並能夠通過分布在不同平台上的Web Services實現跨平台應用。
        這些完整地反映了智能用戶端應用程式的優點,在融合了胖用戶端和用戶端的優勢之外,還引入了智能網路連接和資料管理的功能。由於智能用戶端應用程式涵蓋各個領域,這些程式在設計和實現上的差異比較大,這裡既與應用的要求有關,也和啟動並執行裝置有關。從最終運行平台來劃分,大致可以分為如下三類:
        Windows智能用戶端程式:通過.NET Framework 1.1,Windows智能用戶端應用程式極大的發展了原先的胖用戶端應用程式架構,並且在原來的基礎之上,提供了完整的智能用戶端特性,Microsoft Money和Microsoft Outlook就是這種應用的典型案例。
        Office智能用戶端應用程式:從Office 2003開始,已經不僅僅是一個文檔資料的靜態,通過內建的XML支援和Web Services的訪問能力,在公司專屬應用程式領域,Office System成為資訊工作者最有效工作平台,同時也成為智能用戶端應用程式的運行平台。使用者可以在不離開Office的情況下訪問企業資料,可以根據文檔提供的標記延伸操作企業業務。
         移動智能用戶端應用程式:自從微軟將Pocket PC和SmartPhone整合在統一的平台“Windows Mobile”下之後,基於Windows Mobile的應用也越來越多,與此同時Visual Studio.NET對於移動開發也提供了強有力的支援,通過.NET Compact Framework和越來越多的模擬器,基於移動的智能用戶端應用程式開發已不再是難題了。

 智能用戶端將帶來什嗎?
        在微軟的開發代號為“Longhorn”的新一代作業系統沒有到來之前,相信智能用戶端必將是從現在開始未來幾年中基於用戶端應用的主流軟體技術架構,因為大部分的用戶端應用都是承載在Windows作業系統之上。而在智慧型裝置領域,微軟經過幾年的努力也漸現佳績,得到越來越多的廠商支援,基於Windows Mobile的相關應用也越來越廣泛。在Avalon(Longhorn中的圖形和展示引擎)問世之前,智能用戶端將是用戶端開發的代名詞,與之競爭的技術還有Java的WebStart。隨著Visual Studio 2005的即將發布,它所提供的ClickOne技術會將智能用戶端推向一個更加成熟的階段。
         智能用戶端可以提供強大的用戶端體驗,動態適應不斷變化的商業需求,這與IBM倡導的“On Demand”戰略頗有異曲同工之感,但或許智能用戶端更進一步。
如何利用智能用戶端技術
        通過.NET Framework,通過Visual Studio.NET,微軟在智能用戶端的設計、開發、測試和部署等各個階段都提供了全面的支援,主要有以下這些相關的技術:
Application Block(應用程式塊)
        為了協助更多的開發人員利用.NET技術快速構建功能強大的應用系統,微軟的Practice & Pattern 小組編寫了大量的應用程式塊(Application Block)以協助開發人員從繁瑣重複的編程中解脫出來,從而更加專註於業務的實現。這些應用程式塊包括授權、緩衝、組態管理、資料訪問、異常管理、自動更新、日誌、智能用戶端離線支援及其使用者介面等方面,幾乎涵蓋了商業應用領域需要考慮的所有底層功能支援。其中的離線支援管理和自動更新為開發人員在開發智能用戶端應用程式的過程中提供了有效協助,可以利用這些應用程式塊,快速開發出智能用戶端應用程式。
        離線應用程式塊(OAB,Offline Application Block)可以為應用程式提供支援離線工作的功能。而更新應用程式塊(UAB,Updater Application Block)為客戶應用程式的自動更新和安裝提供了一個可伸縮的基礎架構,開發人員可以利用其構建一個需要智能更新的應用程式。在一些大型主機構的應用中,通常需要保證所有傳統型應用程式都是最新版本,系統管理員或者工程師只需做一次部署和安裝,在此後的運行過程中可自動及時更新應用程式。如果沒有這一組件的協助,開發人員將重新迴歸胖用戶端時代部署困難的災難之中,而UAB可以很好的解決這一問題。
        所有的應用程式塊都是以原始碼的形式提供的,同時提供了大量的文檔和樣本,開發人員可以非常方便地將代碼整合到自己的應用程式中去,從而構建出功能強大的智能用戶端應用程式。
智能文檔和資訊檢索服務
  作為Office 2003的創新,智能文檔(Smart Document)和資訊檢索服務(Research Services)在真正意義上為Office提供了內在的互動可能性,利用這些技術,我們可以輕鬆地構建出基於文檔的應用系統。
        利用智能文檔,我們可以在普通文檔中嵌入一些高度互動的應用,在原有文檔的基礎上提供了更加強大的互動功能;同時構建在Office System中的還有另外一個強大的功能——資訊檢索服務。
        雖然智能文檔和資訊檢索服務提供了強大的用戶端互動功能,但是其產生的標記是相對不容易理解的XML標記,微軟的MSDN開發網站提供了一些工具和SDK用來協助開發人員加速應用開發,並提供了必要的指導使XML更易被人理解。 
  同時微軟提供了Visual Studio.NET Tools for Office(VSTO),VSTO為Word和Excel提供了Managed 程式碼擴充的物件模型訪問入口。利用VSTO,開發人員能夠構建出功能強大的Office智能用戶端應用解決方案,因為其不僅提供了訪問Word和Excel的全部功能,並且能夠利用.NET Framework的全部特性諸如Windows Forms, 從而可以更加容易地提供豐富和高度響應的使用者互動環境。VSTO同時提供了出色的開發體驗,它允許開發人員非常方便的建立和調試應用解決方案。VSTO本質上來說是提供了程式碼後置(Code-Behind)的文檔來組成應用解決方案,從而能夠利用“宿主”應用程式提供的各種功能。

智能用戶端的安全支援
        作為一種用戶端表現技術,智能用戶端是分布式應用程式,通常跨越多種不同的產品和技術。那麼如何去保證這些應用程式的安全呢?在伺服器端,需要採用一套方法來保護網路、伺服器本身及其應用程式;在用戶端,應集中於利用平台(其中包括作業系統和 Microsoft .NET Framework)的安全特性、用戶端代碼可以執行的特權操作(代碼訪問安全)以及與伺服器平台(域)和伺服器應用程式的互動。
        智能用戶端技術通過一系列的安全措施,如身分識別驗證、授權、資料驗證、保護敏感性資料、審核和日誌記錄、異常管理和更改和組態管理等來去保證從伺服器到用戶端應用程式的安全。
  通過應用程式塊,在.NET Framework強大的安全性和可擴充性的基礎之上,智能用戶端提供了全面可靠的安全支援。智能用戶端技術構建在微軟“可信任計算”的基礎之上,從設計、開發、測試、部署的各個過程都提供了安全參考,利用.NET Framework全新的安全模型,可以開發出安全的應用,利用Office的IRM(Information Rights Management),使用者可以嚴格的控制文檔的閱讀、轉寄、複製等過程1。

Office 資訊橋架構(IBF)
         在商業企業辦公中用得最多的軟體是Office套件。但是問題是為了在Word中寫一篇給領導的報告或者在Excel中編寫財務收支表的時候,我們常常要切換到企業的內部系統中,或者用IE或者用專門的用戶端軟體來尋找自己需要的資訊,諸如客戶表、營業額、庫存情況等等。
  IBF(資訊橋架構)正是針對這樣的問題而提出的解決方案,它構建在智能文檔技術之上,目的是使Office文檔和企業提供的Web服務串連起來,其核心目標是:使典型的 Office 使用者或資訊工作者能夠在 Office 應用程式內部發現並執行企業業務對象。這些業務對象使用專門用於表現松耦合的企業業務線 (LOB) 系統中的資料和操作的 Web 服務進行公開。換句話說,作為解決方案的開發人員,可以使用資訊橋架構來實現某些方案,使使用者能夠在不離開 Microsoft Office 應用程式的情況下訪問重要的業務資料和過程。
  通過IBF,使用者可以:
       簡化解決方案開發。開發人員可以開發獨立於Web服務的Office解決方案,從而使Office到企業解決方案的開發大大簡化。因為解決方案是在中繼資料中定義的,所以開發人員編寫少量代碼或者不用編寫代碼就可以構建簡單而強大的Office解決方案。
        靈活高效的擴充應用解決方案。IBF很容易進行擴充、更新或修改。自描述中繼資料、UI 控制項、Web 服務可以在組織內的多個功能性解決方案中重用。因此,可以將新的解決方案部署或添加到現有的應用程式中,而無需進行重新編碼。
       方便部署。解決方案是在部門或企業伺服器上集中式部署的,因而可以減少推出新的解決方案或支援現有解決方案所需的人力物力。通過使用管理良好且安全可靠的代碼,並運行在廣為讚譽且進行了良好測試的 CLR 環境中,確保了可靠性和安全性。

案例研究
       智能用戶端絕不可能僅僅停留在概念上,不像Mozilla的XUL只是一個遠離商業的美好的技術夢幻——智能用戶端顯然更貼近實際,一系列成功的商業案例正在證明智能用戶端已經在商業應用中持續地創造出新的成就。
       作為中國高等教育的典型代表,複旦大學管理學院的MBA管理與教育服務資訊系統從很大程度上體現了高等教育體制、服務管理和資訊技術的完美結合。作為MBA項目的核心業務系統,它將支撐管理學院MBA管理與服務的日常運營,從系統上保證複旦MBA項目的長期競爭優勢;將支援MBA項目從新聞發布、招生宣傳、學生教學與教務管理、學位管理、日常資訊服務、就業資訊服務、到學生畢業資訊服務的各項工作;支援學院各項目的年度教學計劃、統計分析工作等一系列基礎業務。通過調研,他們選擇了智能用戶端技術,因為它可以解決目前管理學院MBA管理與教育服務存在的種種問題,一方面Smart Client可以擁有C/S的強大的表現能力,同時在部署簡潔上也不輸於B/S。還有一個優點就是可以將整個系統以模組的形式分割,每一個單獨的模組都有一個獨立的軟體模組,利用Web服務通訊,使整個系統松耦合,以後每個模組都可以剝開獨立使用,這樣也增加了複用的機會。智能用戶端技術提供了胖用戶端技術和瘦用戶端技術所沒有的優勢,包括如下幾點:
         

無接觸部署:安裝時只要將一個主程式檔案下載到本地,直接運行即可,無須改變註冊表或共用的系統組件,其他應用組件將在第一次運行時自動下載。
       自動更新:只需將新版本的程式發布在伺服器上,由用戶端自動探索最新版本的程式和應用組件,並自動下載和更新。
       離線運用:允許脫離伺服器時,利用本地的用戶端程式和應用組件進行工作。 
        動態載入應用組件:應用軟體開發商可根據公司專屬應用程式系統的公用介面進行開發,然後將應用組件發布在企業的伺服器上,用戶端應用程式將自動探索並載入該應用組件。
       個人化使用者介面:使用者可根據喜好自行設定用戶端應用程式,配置資訊將被儲存到伺服器上。
       上述提到的智能用戶端技術通過上面圖2所示的AppLoader,Smart Client Pool和Loaded Smart Client Assemblies三個方面提供了全方位的支援,目前的系統已經正式投入使用,同時因為架構的高度可擴充性也為二期開發帶來了極大的便利。
   
        LeySer System是一系列具有悠久曆史的學校系列管理系統軟體,具體產品有學校會計、學校給與、人事管理、學費管理、資產管理系統、PhotoBoard。目前LeySer軟體在同類軟體的日本市場佔有率排名第一,達到了70%之多,其版本也在不斷更新,為了滿足新的使用者需求和適應新技術的發展,Ver.8.0版本(.Net版)更是以大幅度地重新製作和全新設計實現了前所未有的多功能和高效能。在Windows環境、Internet環境下以更簡便的操作性成為面向學校法人的最強的會計系統。
        LeySer System的用戶端是一個Smart Client。它們可以為使用者提供內容豐富且響應迅速的使用者介面,提供離線工作的能力,並且提供利用本地硬體和軟體資源的方法。智能用戶端為使用者提供了在強大且直觀的用戶端環境中訪問資訊和遠程服務的能力,並且是一種用來開發靈活的、面向使用者的應用程式以及提高使用者工作效率和滿意度的有效解決方案。通過智能用戶端技術,LeySer比其他同類系統提供了更多的特性支援,包括自動更新、離線使用和資料緩衝。
       此外,在一些高端行業例如金融證券業中也採納了智能用戶端的解決方案,並且在實際應用中取得了很大的成功。一家國內的大型商業銀行的金融服務開發和管理平台採用了Windows表單技術實現的智能用戶端,提高了商務程序設計介面的可用性;更廣為人知的是中國工商銀行通過將自助終端系統構建在WinForm之上,內嵌IE控制項,不僅提供了強大的瀏覽能力,同時提供了豐富的用戶端體驗;銀河證券在其風險監控系統的開發中,也引入了智能用戶端技術,以實現程式的自動升級,免除了繁瑣的維護工作,融合了“瘦”用戶端易維護和“胖”用戶端功能豐富兩方面的優勢。甚至,在個人應用中也出現了採用智能用戶端技術的情況。就此看來,智能用戶端已經在各個領域得到比較成熟的應用,進入了一個百花齊放的時代。
        結束語:B/S架構的不足、終端裝置的多樣化、應用需求的不斷擴充,這些因素結合起來宣告了一個時代更替的到來。如同在一場燒荒的野火之後恢複旺盛生機的熱帶草原,軟體世界也正在構造其新一代的“生態系統”,從中催生出更加富有生命力的技術架構,而智能用戶端正是這一時代的產物。
        某些人或許不會很快轉變,畢竟B/S架構曾經是市場的主流。但是所有的技術都會被更新的技術所替代。儘管我們會繼續看到基於瀏覽器的應用程式仍會在某些情況下被開發和沿用許多年,但是下一代應用方向是明確的,智能用戶端定將隨著網路和應用的發展而成為主流。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.