翁健紅 劉幗暉
(湖南鐵道職業技術學院,湖南 株洲 412001)
在B/S 模式的塔吊遠程監控系統中,為了提高用戶體驗,需要把塔吊的實時運動情況,在網頁上以動畫的形式展現出來,系統采用Silverlight 與WCF 技術,實現了塔吊運動的動畫展示。
RIA(Rich Internet Application),即富因特網應用程序,是一種具有高度互動性和豐富UI 功能的Web 應用程序。隨著Web 應用程序復雜性日益提高,傳統Web 應用越來越無法滿足用戶的良好體驗需求。RIA 應用整合了C/S 架構及B/S 架構的優勢,將很大一部分服務器負載轉移至客戶端。在更新數據的時候,RIA 技術可將客戶端界面分為若干個獨立的模塊,需要更新數據的模塊可與服務器進行異步交互,而不需要刷新整個頁面。
現有的RIA 客戶端開發技術主要包括Macromedia 公司的Flash 和Flex、Sun 公司的Java FX 及微軟新推出的RIA 技術——Silverlight。
Silverlight 是微軟推出的新一代RIA 技術,用于構建和發布下一代的媒體體驗和Web 交互應用。Silverlight 可以在Windows 和Mac等多種平臺上運行,支持IE、Firefox,甚至Apple 的Safari Web 瀏覽器,而無需對現有的網站設計進行移植。Silverlight 相當于一個小型的.NET Framework,可以充分調用客戶端機器的處理運算能力,使得Web頁面展示如同C/S 端程序一般,并且實現了無刷新,帶來了更多的用戶視覺與操作體驗。
WCF 是微軟基于SOA 推出的.NET 平臺下的框架產品。SOA 全稱為Service-OrientedArchitecture,即面向服務的體系架構,是基于“軟件變服務”的思想。它內部的所有功能屬性等都是通過描述語言加以定義,同時將這些功能屬性以接口的形式暴露給要調用的程序。這樣可以實現跨操作平臺,跨語言,并且與硬件無關,是一種粗粒度的體現。它將技術層面的復用提高到業務邏輯的復用,按需求劃分服務,來滿足不同客戶的需求。
在WCF 下開發SOA 變得相當方便,它是創建和運行分布式系統的新型面向服務的編程模型,整合了例如.NETRemoting、ASMX、WSE和MSMQ 等分布式技術。可以支持的協議包括HTTP、TCP、跨進程以及自定義、安全模式、自定義等多種標準與模式。

圖1 塔吊動畫顯示
B/S 模式的塔吊遠程監控系統不斷的接受塔吊傳來的數據,首先寫入數據庫中,然后在網站上顯示信息。塔吊運動實時動畫程序首先用WCF 在數據庫中取得塔吊的最新數據,然后Silverlight 程序利用定時器,不斷調用WCF 程序取得塔吊的最新數據,根據數據改變Silverlight 控件的位置與形狀,形成動畫。基本如圖1 所示。
GetPos 函數從數據庫取得對應塔吊的最新位置信息,以字符串的方式返回。

利用定時器,定時調用WCF 類DBService 的GetPos 方法,并相應改變Silverlight 控件的位置,實現塔吊運動的模擬。主要代碼如下:



本文通過WCF 與Silverlight 相結合的思路,使得Web 頁面通過圖形監控塔吊的實時運動情況,提高了塔吊監控系統的用戶體驗。
[1]李愛民,劉晶,馬維綱.Silverlight 相關技術研究[J].計算機技術與發展,2009(6).
[2]孫超,鐘珞.基于Silverlight 的富界面應用研究[J].武漢理工大學學報,2008(12).