摘要:本文首先介紹了嵌入式發展的現狀,隨后深入分析B/S架構和C/S架構,比較二者的各自的優勢和存在的不足,最后在此基礎上,建立了一種基于嵌入式平臺,集B/S架構和C/S架構于一體的智能終端。
關鍵詞:嵌入式系統 B/S架構 C/S架構 智能客戶端
隨著網絡的迅速發展,基于網絡化應用的B/S架構管理系統的應用被迅速推廣,但受目前的網絡水平和終端用戶操作水平的限制,B/S架構系統需要進一步完善,綜合其他網絡構架的優勢,形成新的模式,并且需要更為合適的數據終端設備進行支持。就目前的計算機數據終端來講,普遍存在對終端用戶來講功能過多,維護要求較高和價格偏高的問題。需要開發一種能夠滿足終端數據記錄、簡單處理和傳輸的設備,功能明確、操作簡易并且價格低廉的產品。針對上述問題,本文提出以嵌入式設備為平臺進行開發集B/S架構和C/S架構優勢于一體的智能終端。
1.終端設備——嵌入式系統
1.1 嵌入式系統的定義
嵌入式系統是將先進的計算機技術、半導體技術和電子技術和各個行業的具體應用相結合后的產物,這點就決定了它必須是一個技術密集、資金密集、高度分散、不斷創新的知識集成系統。典型的嵌入式應用ROM及RAM容量在0~32M之內,外設更為簡化,工作于室外、野外等惡劣環境當中。嵌入式系統工業的基礎是以應用為中心的"芯片"設計和面向應用的軟件產品開發。
1.2 嵌入式系統的特征:
① 嵌入式處理器的功耗、體積、成本、可靠性、速度、處理能力、電磁兼容性等方面均受到應用要求的制約,這些也是各個半導體廠商之間競爭的熱點。② 嵌入式處理器要針對用戶的具體需求,對芯片配置進行裁剪和添加才能達到理想的性能;但同時還受用戶訂貨量的制約。因此不同的處理器面向的用戶可能是一般用戶、行業用戶或單一用戶。③ 嵌入式系統一般要求高可靠性,在惡劣的環境或突然斷電的情況下,要求系統仍然能夠正常工作。還有許多嵌入式應用要求實時功能,這就要求操作系統具有實時處理能力。④ 嵌入式系統的升級換代和具體產品同步進行,因此嵌入式系統產品一旦進入市場,具有較長的生命周期。
1.3 嵌入式操作系統
目前嵌入式操作系統主要有商業化的Palm OS,Windows CE,EPOC, Vxwork, QNX, ECOS,LYNX等,以及新興的開源的嵌入式Linux操作系統。這些操作系統都對嵌入式硬件設備有很好的支持,對于嵌入式系統的高級功能,如圖形化界面和網絡通訊等,也有非常成熟的技術支持。有了以上操作系統的支持,在開發終端的網絡通訊功能時,開發人員只需要針對網絡應用進行跟PC機上相同的編程,如用socket接口等,完全不必關心網絡通訊的第一,二層的工作情況,這兩層的工作都有操作系統來輔助完成。
嵌入式系統擁有以上眾多優勢,再結合Linux或者WINCE等操作系統,完全可以代替普通的PC機作為終端。于是本文選擇嵌入式系統作為智能終端的主機設備。
2.網絡架構——智能終端
在信息系統的開發建設中,開發商比較常用的網絡結構為C/S結構、B/S結構。B/S和C/S結構是IT技術在不同發展時期的產物,C/S模式已經有十多年的歷史,開發工具已經非常成熟,而B/S模式僅有幾年時間,雖然有很大的發展潛力,但是就目前來說還不能滿足所有應用需求,同時也有一些硬傷,如B/S 結構給系統管理者帶來的好處遠遠超過給操作人員帶來的好處。下面首先簡單介紹一下這兩種架構。
2.1 B/S架構
B/ S 結構如圖1所示,在邏輯上分為三個層次: 客戶層、應用服務層和數據服務層??蛻魧又饕撠煍祿拇鎯凸芾?。B/ S模式簡化了客戶機的工作, 用戶只要裝有網絡瀏覽器, 就可以通過互聯網連接遠程服務器接受服務。由于數據都在應用服務器上進行分析處理, 客戶端只起顯示結構的作用,所以傳輸數據量小, 對網絡要求不高。B/ S 結構增強了系統的可擴展性, 更新方便, 易于管理和維護。
圖1. B/S架構
2.2 兩層C/S架構
兩層C/S 結構如圖2所示。在這種架構中,服務器一般是指數據庫服務器,而客戶機一般是指PC 機,服務器與客戶機之間通過局域網連接??蛻魴C上運行處理業務邏輯的應用軟件,同時客戶機上的軟件還負責圖形用戶界面的處理。當客戶機需要獲取數據或更新數據時,它通過網絡向服務器發出請求,一般這種請求是SQL 語句或對數據庫中存儲過程的調用,服務器接受客戶機的請求后通過對數據庫的操作,將完成后的結果再通過網絡返回給客戶機,客戶機把顯示結果顯示在圖形用戶界面上。
2.3 B/S和C/S的比較
圖2 兩層C/S架構
從性能上分析,無論是B/S還是C/S它們各有優點,都是當前非常重要的計算架構。B/S的優勢在于適用于Internet、維護工作量?。欢鳦/S的優勢是運行速度快、數據安全性高、人機交互方便等。正因為二者各有所長,導致它們無法相互取代。例如,對于以瀏覽為主、錄入簡單的應用程序,B/S技術有很大的優勢,現在遍及全球的Web網站就是明證;而對于交互復雜的ERP等企業級應用,B/S則很難勝任,從全球范圍看,成熟的ERP產品大多采用二層或三層C/S架構,B/S的ERP產品并不多見。
這里兩種結構有各自的特性和優缺點,又不能簡單地相互替代,最好就是找到一種技術,能夠將兩者有效地結合,充分體現這兩者的優點,這種方式就是下面將要介紹的智能客戶端的模式。
2.4 智能客戶端:
智能客戶端技術完全是基于Web的應用體系,既不屬于C/S,也不屬于B/S,應該是兼具二者的優勢。
和B/S或C/S相比,智能客戶端技術具有非常明顯的優勢。總結起來可以概括為三點:
本地資源充分利用和享受本地用戶體驗
具備離線連接能力
智能部署和自動更新
在企業或Internet范圍內,智能客戶端應用程序能夠輕松地與系統連接并與之進行數據交換。Web 服務使智能客戶端解決方案能夠利用行業標準協議(例如,XML、HTTP 和 SOAP)來與任何類型的遠程系統交換信息。更為重要的是,無論是否連接到 Internet,智能客戶端應用程序都可以正常工作:連接到internet時,作為普通的終端使用;斷開internet后,智能客戶端可以依靠本地的數據庫和應用程序獨立運作,并保存數據以便連上internet后自動上傳更新。這樣就一定程度上排除了網絡問題對終端正常工作的影響,使終端使用起來更加方便[4]。
3. 基于嵌入式系統的智能終端
本文提出的這種嵌入式平臺的智能終端在網絡方面結合B/S架構和C/S架構的優點,充分體現智能客戶端技術的優勢,盡可能的將終端對網絡的依賴性降低到最?。辉谟布嬙旆矫骟w現了嵌入式系統的特色和優勢。綜合來講,這種智能終端造價低,可靠性好,功能專一,抗干擾性強,擴展性好,軟件的可移植性強,又可以在線和離線結合使用,更加靈活方便。
在設計終端應用程序時,對于數據處理的體系結構,有兩種概括性的方法:以數據為中心的方法和面向服務的方法(如圖3)。
圖3 面向服務的方法(左)和以數據為中心的方法(右)
使用以數據為中心的策略的應用程序具有一個在客戶端上本地安裝的關系數據庫管理系統 (RDBMS),并且使用該數據庫系統的內置功能將本地數據更改傳回服務器,處理同步過程,并檢測和解決任何數據沖突。
使用面向服務方法的應用程序將信息存儲在消息中,并且當客戶端脫機時將這些消息排列到隊列中。在重新建立連接以后,排隊的消息將被發送到服務器進行處理[5]。
由于本文是建立離線與在線相結合的智能終端,于是采取面向服務的方法,當網絡不好的時候,就采取離線的方式,該終端就作為一臺獨立的數據采集處理器使用,數據庫和應用程序等都在本地存儲介質中,即可以執行根連接internet時相同的業務功能,不同點是將數據存到了本地數據庫,并且將離線這段時間的交易數據等有效信息保存在特定文件中,等待在線時自動上傳這些數據。當連接internet的時候,這套智能終端就是一臺瀏覽器終端,瀏覽遠程服務器提供的網絡服務,執行相應的輸入輸出和數據處理操作,此時,數據庫等都在后臺遠程服務器上,所有交易數據都實時地傳送到后臺服務器的數據庫和相應的文件中,同時,離線時在本地存儲的數據文件也將在此時自動傳送到后臺指定的接收緩存區域,經過后臺服務器簡單處理后也添加到數據庫或相應的文件中。采取以上措施形成間斷性在線的工作模式,將網絡對終端的影響將為最低。
4. 總結
通過比較分析,本文闡述了融合了嵌入式技術和集B/S架構、C/S架構優勢于一體的智能客戶端兩者的優勢,并結合面向服務的數據處理的體系結構,構造了基于嵌入式平臺的智能終端。該終端克服了傳統的終端對網絡的極度依賴性,又融合了先進的嵌入式技術,使該終端功能專一、結構緊湊、操作簡便、價格低廉,在性能不變的基礎上,提高了實用性,并降低了成本。