翁健紅 劉幗暉
(湖南鐵道職業(yè)技術(shù)學(xué)院,湖南 株洲 412001)
在B/S 模式的塔吊遠程監(jiān)控系統(tǒng)中,為了提高用戶體驗,需要把塔吊的實時運動情況,在網(wǎng)頁上以動畫的形式展現(xiàn)出來,系統(tǒng)采用Silverlight 與WCF 技術(shù),實現(xiàn)了塔吊運動的動畫展示。
RIA(Rich Internet Application),即富因特網(wǎng)應(yīng)用程序,是一種具有高度互動性和豐富UI 功能的Web 應(yīng)用程序。隨著Web 應(yīng)用程序復(fù)雜性日益提高,傳統(tǒng)Web 應(yīng)用越來越無法滿足用戶的良好體驗需求。RIA 應(yīng)用整合了C/S 架構(gòu)及B/S 架構(gòu)的優(yōu)勢,將很大一部分服務(wù)器負載轉(zhuǎn)移至客戶端。在更新數(shù)據(jù)的時候,RIA 技術(shù)可將客戶端界面分為若干個獨立的模塊,需要更新數(shù)據(jù)的模塊可與服務(wù)器進行異步交互,而不需要刷新整個頁面。
現(xiàn)有的RIA 客戶端開發(fā)技術(shù)主要包括Macromedia 公司的Flash 和Flex、Sun 公司的Java FX 及微軟新推出的RIA 技術(shù)——Silverlight。
Silverlight 是微軟推出的新一代RIA 技術(shù),用于構(gòu)建和發(fā)布下一代的媒體體驗和Web 交互應(yīng)用。Silverlight 可以在Windows 和Mac等多種平臺上運行,支持IE、Firefox,甚至Apple 的Safari Web 瀏覽器,而無需對現(xiàn)有的網(wǎng)站設(shè)計進行移植。Silverlight 相當于一個小型的.NET Framework,可以充分調(diào)用客戶端機器的處理運算能力,使得Web頁面展示如同C/S 端程序一般,并且實現(xiàn)了無刷新,帶來了更多的用戶視覺與操作體驗。
WCF 是微軟基于SOA 推出的.NET 平臺下的框架產(chǎn)品。SOA 全稱為Service-OrientedArchitecture,即面向服務(wù)的體系架構(gòu),是基于“軟件變服務(wù)”的思想。它內(nèi)部的所有功能屬性等都是通過描述語言加以定義,同時將這些功能屬性以接口的形式暴露給要調(diào)用的程序。這樣可以實現(xiàn)跨操作平臺,跨語言,并且與硬件無關(guān),是一種粗粒度的體現(xiàn)。它將技術(shù)層面的復(fù)用提高到業(yè)務(wù)邏輯的復(fù)用,按需求劃分服務(wù),來滿足不同客戶的需求。
在WCF 下開發(fā)SOA 變得相當方便,它是創(chuàng)建和運行分布式系統(tǒng)的新型面向服務(wù)的編程模型,整合了例如.NETRemoting、ASMX、WSE和MSMQ 等分布式技術(shù)。可以支持的協(xié)議包括HTTP、TCP、跨進程以及自定義、安全模式、自定義等多種標準與模式。
圖1 塔吊動畫顯示
B/S 模式的塔吊遠程監(jiān)控系統(tǒng)不斷的接受塔吊傳來的數(shù)據(jù),首先寫入數(shù)據(jù)庫中,然后在網(wǎng)站上顯示信息。塔吊運動實時動畫程序首先用WCF 在數(shù)據(jù)庫中取得塔吊的最新數(shù)據(jù),然后Silverlight 程序利用定時器,不斷調(diào)用WCF 程序取得塔吊的最新數(shù)據(jù),根據(jù)數(shù)據(jù)改變Silverlight 控件的位置與形狀,形成動畫?;救鐖D1 所示。
GetPos 函數(shù)從數(shù)據(jù)庫取得對應(yīng)塔吊的最新位置信息,以字符串的方式返回。
利用定時器,定時調(diào)用WCF 類DBService 的GetPos 方法,并相應(yīng)改變Silverlight 控件的位置,實現(xiàn)塔吊運動的模擬。主要代碼如下:
本文通過WCF 與Silverlight 相結(jié)合的思路,使得Web 頁面通過圖形監(jiān)控塔吊的實時運動情況,提高了塔吊監(jiān)控系統(tǒng)的用戶體驗。
[1]李愛民,劉晶,馬維綱.Silverlight 相關(guān)技術(shù)研究[J].計算機技術(shù)與發(fā)展,2009(6).
[2]孫超,鐘珞.基于Silverlight 的富界面應(yīng)用研究[J].武漢理工大學(xué)學(xué)報,2008(12).