摘 要:軟件資源共享是“軟件變服務”的主要手段,是網絡化制造ASP平臺的主要支撐技術。基于服務器計算是軟件資源共享的基本思路。研究了各類基于服務器計算技術的特點、原理等。對X終端、Windows終端、MetaFrame、GoGlobal、Tarantella和VNC等進行了較深入的探討。介紹了基于服務器計算技術在網絡化制造ASP服務平臺中的應用。
關鍵詞:基于服務器計算;軟件資源共享;網絡化制造;ASP平臺
中圖法分類號:TP311 文獻標識碼:A 文章編號:1001-3695(2006)10-0205-03
ServerBased Computing Technology and Its Application on ASP Platform
JU Wenjun,SUN Linfu
(CAD Engineering Center, Southwest Jiaotong University, Chengdu Sichuan 610031, China)
Abstract:Software resource sharing is the fundamental technology supporting networked manufacturing ASP platform. The idea to implement software resource sharing is serverbased computing technology. The principles and characteristics of several serverbased computing technologies are researched. X terminal, Windows terminal, MetaFrame, GoGlobal, Tarantella and VNC are discussed. The application of serverbased computing technology working in networked manufacturing ASP platform is introduced.
Key words:ServerBased Computing(SBC);Software Resource Sharing;Networked Manufacturing; ASP Platform
我國中小企業占企業總數的99%,產值占整個國民生產總值的70%,從業人員占從業人員總數的80%以上[1],中小企業在國民經濟中占有重要地位。隨著我國加入WTO與經濟全球化,中小企業的生存與發展面臨著極大的機遇和挑戰,信息化是企業提高競爭力的有效手段。然而相對于大型企業而言,中小企業信息化基礎較差,可投入信息化建設的資金、計算機軟/硬件資源與人力資源等嚴重不足。對于在推進制造業信息化過程中處于劣勢群體的中小型制造業企業而言,采用ASP模式來實現制造業信息化,是以專業化、社會化的方式提高企業信息化水平,具有周期短、投資少、見效快、成本低等優點。
制造業企業的信息化建設需要企業產品設計制造、經營運作管理等軟件資源的支持。但是,這類軟件一般是單機版或C/S架構的軟件,不能像B/S架構的軟件那樣直接集成到ASP平臺上。本文分析了各類基于服務器計算技術,結合四川省制造業信息化ASP平臺(www.easp.cn)的開發實踐,采用基于服務器計算技術將這類軟件Web使能化(Webenabling),使得這類軟件可以集成到ASP服務平臺為多家企業提供在線服務。
1 基于服務器計算技術
基于服務器計算(ServerBased Computing,SBC)也稱為瘦客戶端計算(Thin Client Computing,TCC),是一種應用程序在一臺或多臺中心服務器上運行的計算模型。SBC的基本原理是在服務器上運行應用軟件,瘦客戶端只處理I/O,網絡上傳輸的是鍵盤鼠標消息與屏幕更新數據,而不是程序代碼與數據[2,3]。SBC的核心是SBC協議。SBC協議由兩部分組成,即SBCS(SBC Server,SBC服務器)和SBCC(SBC Client,SBC客戶端)。SBCC發送用戶輸入(鼠標和鍵盤消息)到SBCS,SBCS發送相應的輸出到SBCC。當SBCC通過SBC協議的通道發送用戶輸入消息到SBCS時,SBCS接收該輸入消息,并傳送給相應的應用程序,然后將應用程序輸出界面的圖像壓縮后通過SBC協議的另一個通道傳送給SBCC。一旦SBCC有了服務器會話的基本視圖,SBCS就只傳送屏幕的變化以節省網絡帶寬。
1.1 X終端
目前在UNIX/Linux上的桌面應用多是基于X窗口系統的。X窗口系統具有網絡透明性,允許將應用程序的用戶界面顯示在遠端設備上,這樣可使遠端設備使用UNIX/Linux應用。然而X窗口系統幾個固有問題限制了X終端的廣泛應用[4]:①X系統需要顯示用戶界面的客戶端也裝有X環境;②X的安全模型有缺陷;③由于X系統要求高的網絡帶寬,不適合在窄帶網絡環境下運行;④ X系統不支持用戶會話狀態的保存。
1.2Windows終端服務
WTS (Windows Terminal Service,Windows終端服務)使用RDP (Remote Desktop Protocol,遠程桌面協議),讓瘦客戶端能使用網絡上終端服務器的應用軟件。該協議基于國際電信聯盟 (ITU)T.120 協議,它是一種國際通用的標準多通道會議協議,Microsoft NetMeeting 會議軟件產品目前使用的就是這種協議。RDP在服務器端用自身的視頻驅動程序渲染顯示輸出,并將渲染信息封裝成RDP協議包,通過網絡發送到客戶端。客戶端將接收到的渲染數據翻譯成相應的Win 32 GDI API函數調用。客戶端的鼠標和鍵盤消息被重定向至服務器端。RDP在服務器端用其自身的虛擬鍵盤和鼠標驅動程序接收這些鍵盤和鼠標事件 [5]。
WTS基于多用戶的Win 32內核,通過虛擬通道為每個遠程登錄用戶創建一個Win 32子系統實例,遠程用戶通過遠程桌面操作Win 32子系統實例。但是,WTS支持的本地資源映射能力有限,只支持本地COM端口和音頻的映射,不支持本地磁盤映射。另外,只有Windows 2003的終端服務(使用RDP 5.0)支持終端真彩色。
1.3 MetaFrame
MetaFrame是Citrix公司的基于服務器計算技術,采用ICA(Independent Computing Architecture,獨立計算架構)協議,實現應用軟件的集中訪問[6]。
ICA在概念上與X窗口系統的協議相似。ICA允許一個應用程序的邏輯部分在應用服務器上執行,而只有用戶界面(如敲擊鍵盤和鼠標移動)通過任何網絡或通信協議在服務器與客戶端設備之間傳輸,因此使用了最少的客戶端資源。與RDP協議相比,ICA協議支持映射本地磁盤;另外,ICA的無縫窗口模式使得遠程調用的軟件與本地桌面無縫集成,外觀及窗口操作與本地運行的軟件一樣。
MetaFrame具有完善的應用軟件管理功能。系統管理員可以利用MetaFrame的獨立管理架構(Independent Management Architecture, IMA)集中管理、部署組織內部的所有應用軟件;利用MetaFrame的Web接口(NFuse或NFuse Classic)可以方便地使用Web服務器建立應用軟件門戶;還可以將多臺MetaFrame服務器組成服務器場以實現負載平衡。另外,MetaFrame具有完善的應用軟件使用情況的統計功能。但是,Windows版的MetaFrame必須構建于微軟終端服務應用程序模式上,每個到MetaFrame服務器連接的成本(終端服務連接授權+ICA連接授權)較高。
1.4 Tarantella
Tarantella Enterprise是Tarantella公司(原SCO公司)在全球享有盛譽的集中式管理的解決方案。它可以在不修改應用、不觸動企業原有系統架構的前提下,快速地將各種非Web應用——UNIX,Linux,Windows,AS/400,Mainframe——轉變為可以用瀏覽器進行直接訪問的Web應用[7]。另外,通過Tarantella服務器,各種不同平臺類型的應用服務器能夠同時提供服務給瘦客戶端,以實現企業應用的集中式管理。Tarantella通過不同的協議引擎將各種遠程桌面協議,如RDP,ICA,Telnet,SSH及X協議等,轉換為AIP(Adaptive Internet Protocol)協議傳輸到瘦客戶端;同時Tarantella采用智能啟發式的機制來不斷地進行監控、測量和適應應用與客戶端設備間數據傳輸的線路情況,以優化網絡響應。Tarantella服務器為實現負載均衡,將服務器按主從服務器方式組成服務器陣列,當啟動一個應用服務時,基于CPU的負載來決定最適合的陣列成員運行相關的協議引擎。Tarantella公司的New Moon Canaveral iQ號稱是Citrix MetaFrame的替代品,與Windows 2003 Server配合,可以支持應用真彩色、串口重定向、聲音重定向、本地文件關聯等。
1.5 GOGlobal
GraphOn公司的GOGlobal是一種簡單經濟的應用程序發布和應用程序Web化(Webenabling)解決方案。GoGlobal可以在Linux和UNIX客戶端上運行Windows應用程序,或在Windows客戶端上運行UNIX或Linux應用程序,而不需要對應用程序進行任何修改,也不需要諸如Citrix MetaFrame,Windows Terminal Services或本地X服務器等基礎構件。GOGlobal只發布應用程序的GUI,而不是整個桌面;完全的跨平臺兼容性;在低帶寬上也可獲得較高的性能;對服務器進行安全操作,連接完全加密;支持本地打印、本地文件訪問和剪貼板;支持會話重連和會話屏蔽。
GOGlobal for Windows的原理如圖1所示。它不需要諸如WTS或Citrix MetaFrame等基礎構件,并且不像WTS,多個GOGlobal會話可以在一個32位Windows子系統實例中運行。GOGlobal for UNIX的原理如圖2所示。它與X終端不同,客戶端不需要X服務器。
GOGlobal對用戶而言是不可見的,其Web化的應用程序與本地桌面系統完全集成[8]。但是,由于GraphOn公司并非微軟的合作伙伴,其在Windows環境下實現的基于服務器計算技術是“非正統的”,因而在穩定性方面有所欠缺。
1.6 VNC
VNC (Virtual Network Computing,虛擬網絡計算)是RealVNC公司在GPL協議下開發的一種簡單的遠程訪問GUI (Graphical User Interfaces,圖形用戶界面)的解決方案。目前,已經有多個基于VNC的開源項目,并且有的已經商品化(如Tridia公司的TridiaVNC Pro)。
VNC工作在幀緩沖 (Frame Buffer)層次,因而可應用于所有的窗口系統,包括X11,Windows和Macintosh,如圖3所示。
VNC采用RFB (Remote Frame Buffer)協議。用戶端(如顯示器加鍵盤鼠標)稱為RFB客戶端,改變幀緩沖源(如窗口系統和應用程序)的一端稱為RFB服務器。RFB協議的顯示端基于這樣的圖形原語:“將像素數據塊放到(x, y)處”。RFB協議采用以下的Raw,CopyRect (Copy Rectangle,復制像素塊),RRE (Rise and Runlength Encodeing,行程編碼),CoRRE (Compact RRE,壓縮行程編碼),Hextile及ZRLE等編碼方案,RFB客戶端在連接RFB服務器時可以根據需要選擇相應的編碼方案[9]。
VNC在X環境下可以通過Linux/UNIX的多用戶內核實現多個用戶并發訪問VNC服務器;但在Windows環境下,由于在系統中幾乎沒有位置插入監視顯示更新的API鉤子,并且Windows的多用戶操作模型定義不是很清晰,因而很難實現多用戶并發訪問VNC服務器[10]。
2 應用實例
四川省制造業信息化ASP平臺采用了基于服務器計算技術,集成了國家“863”計劃支持的10多家軟件廠商的30多個軟件產品,實現了軟件發布、軟件訂閱、軟件在線試用、軟件在線租用及計費等功能。平臺已經集成了十多家軟件廠商的三十多個軟件產品,軟件種類包括CAx,PDM,SCM,ERP等。
圖4所示的ASP平臺軟件資源門戶,終端用戶可通過Web瀏覽器在線使用平臺上集成的軟件資源。經授權的用戶單擊某個軟件的圖標,Web瀏覽器將該軟件資源請求發送到平臺服務器,服務器接收該請求,并返回包含服務器IP地址、用戶認證數據、軟件名稱信息的SBC文件,SBCC通過SBC文件遠程訪問相應的軟件。
圖5是終端用戶遠程訪問集成在平臺上的新中大銷售管理系統清軟英泰三維CAD系統的場景。
3 結論
基于服務器計算技術的特點是軟件資源管理維護方便,對軟件資源的集成不需要對軟件進行修改。利用基于服務器計算技術,ASP平臺可以快速有效地集成各類軟件資源。ASP平臺運營商可以根據本文介紹的基于服務器計算技
術各自的特點,結合自身需求,采用相應的基于服務器計算技術來構建ASP平臺。
參考文獻:
[1]楊海成,敬開石,王海龍.ASP應用服務平臺——需求、概念、內容、應用與發展[J].中國制造業信息化,2003,32(12):1214.
[2] B O Christiansen,K E Schauser,M Munke.A Novel Codec for Thin Client Computing[C].Snowbird, UT:Proceedings of IEEE Data Compression Conference, 2000.
[3] Barrie D. Thin Client Benefits[EB/OL]. http://www.thinclient.net/technology/Thin_Client_Benefits_Paper.pdf,2004.
[4] Tristan Richardson, Quentin StaffordFraser,et al. Virtual Network Computing[J]. IEEE Internet Computing,1998,2(1):33-38.
[5] Remote Desktop Protocol (RDP) Features and Performance[EB/OL].http://www.microsoft.com/windows 2000/techinfo/howitworks/terminal/rdpfandp.asp,2005.
[6] Christa Anderson. The Definitive Guide to Citrix MetaFrame XP[EB/OL]. http://www.citrix.com,2005.
[7]Tarantella公司. Tarantella Enterprise簡介[EB/OL]. http://www.tarantella.com.cn,2005.
[8]The Benefits of Webenabled Application Publishing in a Tight Economy[EB/OL]. http://www.graphon.com,2005.
[9]Tristan Richardson,Kenneth R Wood.The RFB Protocol(version 3.3)[EB/OL].http://www.realvnc.com/docs/rfbproto.pdf,2002.
[10]VNC——How It Works[EB/OL]. http://www.realvnc.com/howitworks.html,2005.
作者簡介:
居文軍(1977-),男,江蘇江陰人,博士研究生,主要研究方向為網絡化制造、CIMS、網絡計算等;孫林夫(1963-),男,教授,主任,國家“863計劃”CIMS主題專家,博士,博導,主要研究方向為網絡化制造、CIMS、智能CAD等。
注:本文中所涉及到的圖表、注解、公式等內容請以PDF格式閱讀原文