国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

跨平臺手機移動中間件

2011-09-04 06:09
關鍵詞:中間件客戶端終端

林 遠

(浙江工業(yè)大學信息工程學院,浙江杭州310032)

0 引言

隨著無線移動應用的推廣和普及,移動終端也越來越呈現(xiàn)出多樣化的趨勢,不同廠家生產(chǎn)的終端型號各異,采用不同的操作系統(tǒng),具備不同的顯示能力和處理數(shù)據(jù)能力。為了擺脫操作系統(tǒng)和硬件環(huán)境的差異、實現(xiàn)一套代碼不用修改就可以適應不同的平臺,很多中間件廠商提出了跨平臺的概念。目前,REXSEE公司提出的使用HTML5+JavaScript+CSS3來實現(xiàn)的移動中間件產(chǎn)品EMS已經(jīng)開始投入市場[1]。本文提出了另一種使用中間件技術來實現(xiàn)軟件在跨平臺終端上的移動化應用的方法,實驗設計的基于腳本引擎、客戶端界面動態(tài)構建的跨平臺手機移動中間件,能適應iPhone、Android、WinPhone、Symbian、Linux等主流系統(tǒng)平臺。

1 整體設計思路

系統(tǒng)整個運行環(huán)境由:中間件模塊和各個手機操作系統(tǒng)平臺移動客戶端組件組成:(1)中間件模塊使用主要由JAVA程序和相應的xml腳本兩個部分組分,程序啟動后,服務器端加載預先編寫的xml文件,解析xml文件,調用數(shù)據(jù)庫驅動、爬蟲模塊獲取變量數(shù)據(jù),組裝成Json字符串向手機客戶端傳送;(2)移動客戶端組件在各個手機操作系統(tǒng)平臺上各有一個,實現(xiàn)的功能都是:接收呈現(xiàn)數(shù)據(jù)塊并調用解析模塊,構建UI呈現(xiàn)數(shù)據(jù),在終端上實現(xiàn)對業(yè)務系統(tǒng)的呈現(xiàn)和操作[2、3]。系統(tǒng)實現(xiàn)框圖如圖1所示。

2 系統(tǒng)運行實驗

2.1 實驗目標

實驗目標是使用本中間件,實現(xiàn)業(yè)務系統(tǒng)的移動化部署。實驗所使用的業(yè)務系統(tǒng)是某大學學生工作信息系統(tǒng),業(yè)務系統(tǒng)啟動后界面如圖2所示。

2.2 實驗過程

實驗流程包括:運行中間件服務器、運行測試手機終端、手機終端向服務器發(fā)送數(shù)據(jù)請求、中間件服務器響應請求、中間件服務器抓取業(yè)務系統(tǒng)數(shù)據(jù)、組裝數(shù)據(jù)返回手機終端。

圖1 系統(tǒng)實現(xiàn)框圖

圖2 業(yè)務系統(tǒng)界面截圖

2.2.1 運行中間件服務器

根據(jù)需要實現(xiàn)的業(yè)務功能、數(shù)據(jù)需求和UI構建方式編寫xml腳本并存放在中間件服務器相應目錄下,運行由java編寫的中間件服務器端程序,服務器端加載預先編寫的xml文件,面向對象的實體類xml文件內容進行解析,工具類生成呈現(xiàn)數(shù)據(jù)塊向手機端發(fā)送。本系統(tǒng)采用jetty開源框架作為嵌入式WEB服務器向手機端提供可擴展的數(shù)據(jù)服務。

在作為開發(fā)環(huán)境的eclipse中運行中間件服務器,中間件服務器運行在Java虛擬機種,Java程序啟動之后,控制臺print出運行信息:

開啟9999端口,作為服務端口,本端口可以根據(jù)需要設定。

中間件服務器順利啟動,開始運行工作。

2.2.2 終端運行

啟動手機客戶端,J2ME終端顯示如圖3所示,手機客戶端可以由多個手機操作系統(tǒng)的組件組成,適應iPhone、Android、WinPhone、Symbian、Linux、JAVA等主流系統(tǒng)平臺。每一個手機平臺都有一個對應的移動組件,只要在該手機上運行移動組件,移動組件連接上相應的中間件服務器,就可以運行該中間件服務器移動化的業(yè)務系統(tǒng)。

圖3 手機客戶端界面截圖

2.2.3 手機端發(fā)送數(shù)據(jù)請求

點擊登陸,手機端就會發(fā)送一個http請求到中間件服務器,將表單中的用戶名和密碼作為request請求的參數(shù),中間件服務器調用login的xml腳本,解析之后交由爬蟲模塊(登陸的功能使用爬蟲方式完成請求)請求業(yè)務系統(tǒng)的數(shù)據(jù),業(yè)務系統(tǒng)處理該業(yè)務(判斷用戶名密碼是否正確),正確即保存登陸session,中間件返回success的json字符串到手機端。登陸的整個業(yè)務在手機上就完成了。

中間件模塊發(fā)送URL http請求之后,可以有3種方式可以獲取數(shù)據(jù)[4、5]:

(1)用爬蟲爬取頁面數(shù)據(jù),存在tmp目錄下的緩存中;

(2)JDBC讀取業(yè)務系統(tǒng)數(shù)據(jù)庫SQL;

(3)使用業(yè)務系統(tǒng)的WebService提供的API。

方式一可以完全不變動原系統(tǒng)的部署,但是能實現(xiàn)的業(yè)務有局限。

方式二可以重構系統(tǒng)業(yè)務,但是部署成本較高,xml腳本將承載較多業(yè)務。

方式三是最優(yōu)的解決方案,不過只有較新的業(yè)務系統(tǒng)才有WebService支持,對較老系統(tǒng)不支持。

2.2.4 實驗結果

在這個實驗中完成了一個登陸業(yè)務的移動化演示,在業(yè)務系統(tǒng)、中間件服務器和手機端運行之后,由手機端發(fā)送請求觸發(fā)整個過程,經(jīng)過:手機終端向服務器發(fā)送數(shù)據(jù)請求、中間件服務器響應請求、中間件服務器抓取業(yè)務系統(tǒng)數(shù)據(jù)、組裝數(shù)據(jù)返回手機終端,這4個步驟,業(yè)務移動化的實驗目標順利完成。

2.3 數(shù)據(jù)傳輸?shù)母袷?/h3>

本實驗中,移動終端獲取的數(shù)據(jù)傳輸格式是Json,然后解析Json生成UI。選擇Json是考慮到Json是一種輕量級的數(shù)據(jù)交換格式。易于機器解析和生成,便于有效控制手機數(shù)據(jù)流量。

另一種方式是采用xml格式傳輸數(shù)據(jù),這種方式較之Json格式的數(shù)據(jù)冗余較大,但是便于人工閱讀。在服務器端和手機端交互中還是Json格式優(yōu)勢較為明顯。

第三種方式就是使用html5技術,html5技術的表現(xiàn)形式非常豐富,跨平臺支持非常好,手機端組件開發(fā)成本也較低,但是截止到目前國際標準未完全發(fā)布,故只做系統(tǒng)設計,未完全實現(xiàn)[6、7]。

3 結束語

實驗成功將原先的業(yè)務系統(tǒng)移動化,并使用預先設計的UI在終端上呈現(xiàn)出來,使用本系統(tǒng)只要編寫與原業(yè)務系統(tǒng)相對應的xml腳本,并部署本系統(tǒng),即可實現(xiàn)原業(yè)務系統(tǒng)的移動化,并能適應諸多的手機操作系統(tǒng)平臺,大大降低了開發(fā)成本和實施周期。但是由于xml腳本表現(xiàn)形式不夠豐富,導致系統(tǒng)目前只能移動化一些比較簡單的應用。實驗下一步可以嘗試使用html5技術,通過html5技術的豐富的表現(xiàn)形式,系統(tǒng)將可以進一步實現(xiàn)一些復雜的應用。

[1] 李華飚.Java中間件技術及其應用開發(fā)[M].北京:中國水利水電出版社,2007:17-22.

[2] Anders Berglund,Scott Boag.XML Path Language(xPath)2.0[EB/OL].http://www.w3.org/TR/xPath20/,2005 - 11-01.

[3] Tamer M zsu,Patrick Valduriez.分布式數(shù)據(jù)庫系統(tǒng)原理[M].北京:清華大學出版社,2002:57-64.

[4] 朱曉明,劉衛(wèi)東.數(shù)據(jù)庫連接中間件的研究[J].計算機工程與應用,2003,2(1):7-10.

[5] Fabio Arciniegas.XML 開發(fā)指南[M].北京:清華大學出版社,2002:22-26.

[6] 賈西諾斯基.蓋江南譯.Java,Xml和web服務寶典[M].北京:電子工業(yè)出版社,2002:79-85.

[7] 周英飚,許蔚.異構數(shù)據(jù)庫體系結構[EB/01].http://www.#edu.cn/yangdy/database/paperl.htm,2003 - 04-05.

猜你喜歡
中間件客戶端終端
X美術館首屆三年展:“終端〉_How Do We Begin?”
通信控制服務器(CCS)維護終端的設計與實現(xiàn)
如何看待傳統(tǒng)媒體新聞客戶端的“斷舍離”?
RFID中間件技術及其應用研究
縣級臺在突發(fā)事件報道中如何應用手機客戶端
孵化垂直頻道:新聞客戶端新策略
基于Android 平臺的OSGi 架構中間件的研究與應用
多功能北斗船載終端的開發(fā)應用
中間件在高速公路領域的應用
ABB Elastimold 10kV電纜終端及中間接頭