“煙囪”與“一體化”
一種觀點認為我國網絡應用的歷史不長,規模不大,沒有發達國家那么多“煙囪”,因此易于在一體化設計的指導下開發網絡計算系統,但實際情況并非如此。例如,電信、郵政、社保等領域的網絡信息系統的開發者在做“三互(即互連、互通、互操作)”的需求調研時就遇到困難:用戶提不出具體需求。這也難怪,因為用戶連局部應用的體會還沒有,何來綜合集成的需求呢?在這種情況下,用戶往往是先開發當時能夠講清楚的局部系統,然后再考慮各局部系統的集成問題。由此看來,我們在網絡計算系統方面雖然沒有發達國家那么多“煙囪”,但同時也缺乏一體化建設的深入需求和經驗。這是否意味著我們一定要走先建“煙囪”的老路呢?
回答和解決這些問題需要深入研究Internet環境下網絡計算的特點,遵從網絡計算系統建設的一般規律。
“無木不言林,孤木不成林”
網絡計算系統是把分布各處的多個局部自治的系統通過網絡集成在一起,以實現資源(包括信息、應用和計算資源)的廣泛共享。網絡計算系統需要解決的問題就是如何將各局部自治的應用系統聯合成為能夠發揮綜合效能的大系統。因此,沒有多個自治的局部系統,也就無所謂網絡計算系統,或者說,人們也就提不出所謂廣泛共享性的需求。但這并不意味著我們一定要走先建“煙囪”再拆“煙囪”的老路,我們的觀點是“植樹造林”,在“造林(建設網絡計算系統)”的目標引導下“植樹(開發局部系統)”,讓網絡計算系統“成長”起來。
“木在壤中生,林在地上長”
那么如何使今天栽下的“樹”長大之后不至于成為“孤木”,免遭“砍伐”之災或免受“移植”之苦呢?一個簡單的辦法是將所有的“樹”栽在同一塊土地上。對于網絡計算系統而言,首先就是將各自獨立的局部系統建立在公共平臺上。
基于以上對網絡計算系統建設規律的認識,我們認為,網絡計算系統的設計應該遵循“可成長性”原則,即所謂“如何栽樹,使之成林”的設計。
可成長性設計原則
所謂一個系統是可成長的是指該系統在一定條件下具有“可代謝性”和“可生長性”。系統的可代謝性特指系統的組成部分可以更新;系統的可生長性指系統的組成成分可以不斷增加。這里的“一定的條件”可以是投入/產出、時效、技術或功能等因素。
回顧計算機技術的發展歷程,許多有生命力的計算系統都具有某種可成長性,其中的關鍵技術也因此成為主流技術,人們熟知的有以下一些:
● 面向對象的應用系統
面向對象的應用系統由若干接口清晰的對象組成,對象的封裝特性使應用系統的組織成分易于替換、升級和重用;趯ο蠹夹g的構件/構架技術的發展使得應用系統具有更靈活的擴展能力。面向對象的分析、設計和程序設計方法、工具成為開發可成長的網絡計算系統的主流技術。
● 基于層次結構的網絡系統
網絡系統的層次模型要求下層構件為上層構件提供標準的服務接口,上層通過下層構件的標準接口請求服務,因此,只要保持各層的接口不變,下層構件內部機制的變化(如協議構件的變化)不會對上層構件產生大的影響,這使得網絡系統的代謝成本較低,易于應用生長。這種層次結構已經被許多系統采用,成為提高系統代謝能力和生長能力的主流技術。
● 基于客戶/服務器模型的分布式應用系統
客戶/服務器模型將分布式應用系統的數據管理邏輯與應用及表現邏輯分開,前者部署在服務器上,后者部署在客戶機上?蛻魬猛ㄟ^標準接口共享服務器上的數據。該模型使客戶數可以充分擴展,而服務器及數據庫管理系統的升級也不會影響分布在各地的客戶的正常工作。
● 基于WWW技術的Internet信息系統
標準HTML文件格式使任何HTML瀏覽器可以解釋豐富多彩的HTML頁面,標準的HTTP協議使瀏覽器可以與任何HTTP服務器交互,統一的URL地址格式使用戶可以透明地訪問網絡上任何HTTP服務器管理的頁面。WWW技術使任意的HTTP服務器或HTML瀏覽器可以在任何時候加入系統。WWW技術使Internet迅速成長為新型媒體。
基于歷史的分析,我們可以梳理出網絡計算系統可成長性設計的若干原則:
可繼承性原則 一個壽命很短的系統不是可成長的系統。這一原則要求網絡計算系統的組成成分之間具有較好的兼容性和可重用性。
可替換性原則 可替代性是保證系統可代謝能力的基礎。這一原則要求網絡計算系統的組成成分局部性好,升級或移植的成本低,對系統其他成分的影響小。
可擴展性原則 可擴展性是保證系統可生長能力的基礎。這一原則要求網絡計算系統的組成成分之間有較好的“三互”,尤其需要動態組合與配置能力。
根據以上原則,網絡計算系統的可成長性設計應該重視以下技術途徑:
層次化 系統設計需要將環境相關的部分與環境無關的部分置于不同的層次,以使系統能夠比較方便地適應環境的變化,并盡可能多地重用已有成分;另外需要將領域相關和領域無關的成分置于不同的層次,以便共享或重用公共服務,或在公共平臺上擴展功能。
構件化 系統每一個層次應該由若干可重用、易替換的構件組成。
局部化 系統的層次之間應該接口清晰,各層次之間、構件之間的關聯完全通過標準接口,不應涉及實現細節和其他環境因素。
標準化 采用標準,特別是采用被廣泛接受的工業標準對于系統構件的可重用性、可移植性和互操作性具有重要的基礎性作用。
案例分析
這里,我們分析一種當前主流的支持網絡計算系統可成長性的二維體系結構,其中一維是層次化的平臺體系結構,另一維是三層應用體系結構(圖1)。
結合我們的實踐,我們認為三層體系結構是支持網絡計算系統成長的有效應用體系結構。三個層次是指應用表現層、應用邏輯層和資源管理層(圖1)。圖2推薦了一種三層體系結構的解決方案,其中,應用表現層是用戶使用網絡計算系統的用戶界面,采用標準的Web瀏覽器,內嵌遵循IIOP協議的Java ORB和Java Applet解釋器,用戶以標準的瀏覽器方式使用網絡計算系統。應用邏輯層上包括HTTP Server和應用服務器。應用服務器上運行各類網絡計算系統應用對象,例如數據庫訪問對象、數據綜合對象、決策支持對象、任務規劃對象、數據交換對象、流程控制對象等。HTTP Server上安裝網絡計算系統的HTML主頁和訪問應用對象的Java Applet,以支持應用界面能夠按照Web的方式工作。資源管理層涉及數據庫管理系統或其他資源管理對象。
三層體系結構的典型工作流程如下:
、 用戶通過瀏覽器從HTTP服務器上下載指定網絡應用系統的HTML主頁;
、 用戶通過該主頁從HTTP服務器上下載訪問應用對象的Java Applet;
、 瀏覽器裝載Java Applet;
、 用戶通過Java Applet訪問應用服務器上的應用對象;
、 應用對象在必要時訪問資源管理層的資源對象,或接受資源對象的通告。
這種三層體系結構使網絡計算系統具有良好的可成長性。
首先,只要遵循標準,某一層次的升級不會影響其他層次;第二,應用表現層的表現方式不會因為應用邏輯的變化而變化,界面軟件的繼承性高,另外,應用表現層的瀏覽器框架結構使用戶可以及時在線下載所需要的最新應用邏輯,適應了可擴展性的要求,大大降低了應用部署成本;第三,應用開發者可以在應用服務器上不斷開發、部署新的集成框架和網絡信息系統應用,無需顧及應用表現層和資源管理層,其繼承性、替換性和擴展性皆佳;第四,通過資源注冊管理器,資源管理層可以隨時將新的資源對象加入系統之中。
按照可成長性原則分析正在發展中的Web Service技術,我們不難發現,該技術能夠更好地支持Internet環境下網絡計算系統的成長,這也許正是Web Service技術近年來為什么備受青睞的內在原因。
尚需研究的問題
Internet環境下,網絡計算系統的成長面臨三大客觀障礙:一是系統的無序性;二是系統的異構性;三是系統的局部自治性。
人們已經注意到,未來的網絡計算系統不是以今天的某一個系統為核心擴展而成,它應當是由若干局部自治的系統綜合而成的。例如,未來支持社會主體信用評估的信息系統需要集成今天的金融、社保、交通、電信、公安等信息系統,而非現有系統的擴展。因此,一個值得進一步研究的問題是采用什么樣的網絡計算系統模型和實體交互機制,才能使我們構造的局部自治系統易于綜合到未來的(今天還不能預見的)大系統中。
今天的許多研究工作在解決這一問題上已經顯現潛力,例如,基于Agent的網絡計算模型、增訂/發布機制、事件通告機制、動態配置與綁定機制等。
文章來源于領測軟件測試網 http://www.kjueaiud.com/