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

?

PC平臺應(yīng)用系統(tǒng)向Android平臺遷移探究

2015-09-18 13:03:18王正飛
軟件導(dǎo)刊 2015年8期
關(guān)鍵詞:醫(yī)療保險

王正飛

摘要:針對傳統(tǒng)PC平臺軟件系統(tǒng)操作不便問題,研究了基于Android和服務(wù)器的移動應(yīng)用開發(fā)。提出了一種應(yīng)用程序框架,利用該框架將系統(tǒng)從PC平臺遷移到Android設(shè)備上實現(xiàn)。研究成果可為PC端向Android端應(yīng)用遷移的實現(xiàn)提供理論支持。

關(guān)鍵詞:Android;應(yīng)用程序框架;應(yīng)用遷移;醫(yī)療保險;醫(yī)療欺詐

DOIDOI:10.11907/rjdk.151328

中圖分類號:TP319

文獻(xiàn)標(biāo)識碼:A 文章編號文章編號:16727800(2015)008011104

0 引言

近年來手機、平板電腦等移動設(shè)備應(yīng)用越來越廣泛,如能將PC上的軟件遷移到移動設(shè)備上,利用它的便攜性,便可真正做到在任何時刻任何地點完成工作。以醫(yī)療欺詐檢測為例:醫(yī)療上事務(wù)繁多,需要檢測的時間地點各不相同,傳統(tǒng)的醫(yī)療欺詐檢測或是人工,或是基于PC平臺,使用起來極為不便?;谝苿佣诉M(jìn)行檢測系統(tǒng)的開發(fā)能很好地解決這一問題。目前,移動端系統(tǒng)使用最為廣泛的是Android。作為第一個真正意義上的開源手機平臺,Android有著其它智能系統(tǒng)無可比擬的優(yōu)勢:完全免費的智能平臺,在GNU協(xié)議的基礎(chǔ)上,任何公司和個人都可以對其功能進(jìn)行修改、刪減或添加。同時,作為一個專為互聯(lián)網(wǎng)時代設(shè)計的平臺,Android支持常見的互聯(lián)網(wǎng)協(xié)議。因此,使用Android實現(xiàn)該系統(tǒng)是最合適的。

通常Android系統(tǒng)的應(yīng)用程序都是以面向大眾娛樂的桌面小程序為主,而面向工業(yè)、社會的應(yīng)用不多,這就決定了Android程序的設(shè)計框架通常都很簡單。如何使Android適應(yīng)傳統(tǒng)大型程序,將傳統(tǒng)PC應(yīng)用遷移到Android平臺,是本文研究的重點。

1 相關(guān)技術(shù)

為了研究PC平臺的傳統(tǒng)應(yīng)用向Android平臺遷移,先了解一下Android系統(tǒng),并研究SOA、Web Services、MVC等技術(shù),以便設(shè)計合理的框架。

1.1 Android

Android是由開放手機聯(lián)盟(Open Handset Alliance)發(fā)布的智能手機平臺,是真正意義上的開放性移動設(shè)備綜合平臺[1],由Google于2007年11月宣布的基于Linux平臺開源手機操作系統(tǒng)名稱,號稱首個為移動終端打造的真正開放和完整的移動軟件[2]。Android以其強悍的手機上網(wǎng)功能、整合Google網(wǎng)絡(luò)服務(wù)優(yōu)勢得到了廣泛應(yīng)用[3]。Android平臺主要包括Applications(應(yīng)用程序)、Application Framework(應(yīng)用程序框架)、Libraries(庫)、Android Runtime(Android運行時)和Linux Kernel(Linux內(nèi)核)幾部分[4],其平臺架構(gòu)如圖1所示。

圖1 Android平臺架構(gòu)

1.2 SOA

SOA(Service-Oriented Architecture)[5],即面向服務(wù)的體系結(jié)構(gòu)。W3C將SOA定義為:“一種應(yīng)用程序體系結(jié)構(gòu),在這種體系結(jié)構(gòu)中,所有功能都定義為獨立的服務(wù),這些服務(wù)帶有定義明確的可調(diào)用接口,可以以定義好的順序調(diào)用這些服務(wù)來形成業(yè)務(wù)流程。”SOA體系結(jié)構(gòu)中,所有功能都定義成了獨立的服務(wù),服務(wù)之間通過交互和協(xié)調(diào)作業(yè)來完成業(yè)務(wù)的整體邏輯。所有服務(wù)又通過服務(wù)總線(services bus)或流程管理器連接,如圖2所示。

圖2 面向服務(wù)的體系結(jié)構(gòu)

1.3 Web Services

Web服務(wù)[6]是實現(xiàn)SOA的最好方式。Web服務(wù)對HTTP、SMTP和XML等一些已經(jīng)存在的技術(shù)進(jìn)行了包裝,是基于現(xiàn)有技術(shù)的一種整合技術(shù)。W3C把Web服務(wù)定義為“一個軟件系統(tǒng),用于支持網(wǎng)絡(luò)間不同機器的互動操作”。完整的Web服務(wù)包括3種邏輯構(gòu)件,分別是服務(wù)提供者、服務(wù)代理和服務(wù)請求。服務(wù)提供者、服務(wù)請求者是必需的,服務(wù)代理可選,它們之間的交互和操作構(gòu)成了Web服務(wù)的體系結(jié)構(gòu),如圖3所示。服務(wù)提供者提供服務(wù),并進(jìn)行注冊以使服務(wù)可用;服務(wù)代理充當(dāng)提供者和請求者之間的媒介,是服務(wù)的注冊場所;服務(wù)請求者通過向服務(wù)代理請求服務(wù),調(diào)用所需服務(wù)。

圖3 Web服務(wù)體系結(jié)構(gòu)

Web服務(wù)體系結(jié)構(gòu)優(yōu)勢主要體現(xiàn)在5個方面:高度的通用性和易用性、完全的平臺、語言獨立性、高度的集成性、容易部署和發(fā)布[5]。Web服務(wù)以XML為基石,有3個重要支撐技術(shù),分別為簡單對象訪問協(xié)議(SOAP)、Web服務(wù)描述語言(WSDL)以及統(tǒng)一描述、發(fā)現(xiàn)和集成協(xié)議(UDDI)。SOAP是一種標(biāo)準(zhǔn)化的通信規(guī)范,主要用于描述服務(wù)傳輸?shù)臄?shù)據(jù),能夠讓不同應(yīng)用程序之間通過HTTP通信協(xié)定,以XML格式互相交換彼此數(shù)據(jù),使其與程序語言、平臺和硬件無關(guān)。它描述了如何調(diào)用一段遠(yuǎn)程代碼的方法,以及調(diào)用它需要傳遞的參數(shù)。客戶端程序通過網(wǎng)絡(luò)將XML文檔發(fā)送給服務(wù)器端,服務(wù)器端接收到XML文檔后解析,然后發(fā)回一個描述結(jié)果的XML文檔給客戶端。WSDL是用來描述Web服務(wù)、定義Web Services位置、功能及說明如何通信等的描述語言。它是一種XML格式,用于將網(wǎng)絡(luò)服務(wù)描述為一組端點,這些端點對面向文檔或面向過程的消息進(jìn)行操作,是可擴展的。UDDI是Web服務(wù)架構(gòu)下的服務(wù)描述、發(fā)現(xiàn)和集成機制,基于現(xiàn)有標(biāo)準(zhǔn),如XML和SOAP,是一套基于Web的、分布式的、為Web服務(wù)提供的實現(xiàn)標(biāo)準(zhǔn)和規(guī)范。

1.4 MVC

MVC,即Model-View-Controller,是將一個應(yīng)用的輸入、處理、輸出流程按照Model、View、Controller的方式進(jìn)行分離,分成3個層——模型層、視圖層、控制層[7]。MVC模型在滿足對界面要求的同時,將軟件的計算模型獨立于界面。MVC將整個交互系統(tǒng)分解為模型、視圖和控制3種構(gòu)件。模型、視圖與控制器分離,使得模型具有多個顯示視圖。通過其中任何一個視圖控制器,改變模型的數(shù)據(jù),都會導(dǎo)致所有依賴于這些數(shù)據(jù)的視圖起變化。因此,無論何時發(fā)生何種數(shù)據(jù)變化,控制器都會將變化通知所有的視圖,顯示更新[5]。圖4描述了MVC解決方案。

圖4 MVC解決方案

2 框架設(shè)計

2.1 整合框架

這里提出一種統(tǒng)一的整合軟件設(shè)計框架,以方便在Android平臺上遷移傳統(tǒng)軟件。該框架融合了面向服務(wù)架構(gòu)(SOA)思想,以MVC和Web Services技術(shù)為基礎(chǔ),通過遠(yuǎn)程過程調(diào)用實現(xiàn)軟件架構(gòu)。

在該整合框架中,在Android平臺上主要進(jìn)行View和Controller兩個模塊的設(shè)計;在服務(wù)器端將傳統(tǒng)軟件進(jìn)行改造,封裝成Web服務(wù),并對外暴露調(diào)用接口,在Android平臺與服務(wù)器調(diào)用接口之間進(jìn)行交互,從而實現(xiàn)Model模塊。具體來說,就是將軟件的顯示界面和主要的控制程序放在Android平臺,由Android項目中的res文件夾下的layout中的若干XML文件來設(shè)計界面布局,控制UI界面;由src文件夾下的Activity類和其它若干控制類來實現(xiàn)程序的主要控制模塊,完成人機交互任務(wù);將軟件的后臺數(shù)據(jù)庫、業(yè)務(wù)邏輯等細(xì)節(jié)放到服務(wù)器端,由Android平臺來遠(yuǎn)程調(diào)用Web服務(wù)接口,完成與軟件的后臺數(shù)據(jù)庫交互、進(jìn)行業(yè)務(wù)邏輯判斷等操作。這樣既將原有的傳統(tǒng)軟件遷移到Android平臺,又解決了Android平臺內(nèi)存小、不足以獨立運行大型系統(tǒng)的弊端。整合框架如圖5所示。

2.2 系統(tǒng)分層模型

結(jié)合SOA思想,系統(tǒng)設(shè)計分為5層,即表現(xiàn)層、業(yè)務(wù)流程層、服務(wù)層、構(gòu)件層、資源層,層與層之間通過接口調(diào)用實現(xiàn)交互。前兩層在Android移動端實現(xiàn),后三層在服務(wù)器端實現(xiàn)。表現(xiàn)層相當(dāng)于View模塊,主要設(shè)計用戶界面;業(yè)務(wù)流程層相當(dāng)于Controller模塊,主要是設(shè)計用戶界面和服務(wù)器的交互流程;資源層主要是一些遺留系統(tǒng)、遺留數(shù)據(jù),相當(dāng)于系統(tǒng)數(shù)據(jù)庫;構(gòu)件層主要是一些單一操作,包括數(shù)據(jù)訪問、數(shù)據(jù)處理等基本操作;而服務(wù)層則是對各個構(gòu)件的組合,使之形成具有某種功能的服務(wù),并對外暴露Web Services接口,供外部遠(yuǎn)程調(diào)用,見圖6。

圖5 整合框架

圖6 系統(tǒng)分層模型

3 系統(tǒng)設(shè)計

應(yīng)用前述的軟件設(shè)計框架和系統(tǒng)分層設(shè)計模型,我們可以方便地將原有PC平臺系統(tǒng)遷移到Android平臺上實現(xiàn),仍以醫(yī)療保險中的醫(yī)療欺詐檢測系統(tǒng)為例,簡單說明一下設(shè)計思路。按照整合框架,系統(tǒng)的視圖和控制器模塊在Android設(shè)備上實現(xiàn),模型模塊在服務(wù)器端實現(xiàn)。將系統(tǒng)劃分為5層,Android設(shè)備上實現(xiàn)了表現(xiàn)層和業(yè)務(wù)流程層,主要完成醫(yī)療欺詐檢測系統(tǒng)與使用者之間的人機交互、控制系統(tǒng)的業(yè)務(wù)邏輯;服務(wù)器端實現(xiàn)了系統(tǒng)的服務(wù)層、構(gòu)件層、資源層,由資源層提供系統(tǒng)的底層數(shù)據(jù)與模塊,如患者的個人信息、醫(yī)療數(shù)據(jù)和第三方供調(diào)用的模塊等,構(gòu)件層將對底層數(shù)據(jù)和模塊的操作封裝為一個個構(gòu)件,如讀寫數(shù)據(jù)庫數(shù)據(jù)、調(diào)用模塊接口等,而服務(wù)層則組合這些構(gòu)件,形成獨立的具有某種功能的服務(wù),并對外提供服務(wù)接口,供Android設(shè)備遠(yuǎn)程調(diào)用,系統(tǒng)框架如圖7所示。

圖7 醫(yī)療欺詐檢測系統(tǒng)框架

3.1 Android平臺設(shè)計

(1)表現(xiàn)層。系統(tǒng)的主界面設(shè)計如圖8所示,它相當(dāng)于系統(tǒng)分層模型中的表現(xiàn)層,負(fù)責(zé)實現(xiàn)與用戶的交互操作。交互主要通過兩個Button按鈕和按鈕之前的兩個EditText輸入框?qū)崿F(xiàn)。

圖8 系統(tǒng)主界面

(2)業(yè)務(wù)流程層。業(yè)務(wù)邏輯控制模塊負(fù)責(zé)系統(tǒng)主要功能的執(zhí)行流程實現(xiàn)。在控制模塊中,分別對“驗證”和“提交”兩個按鈕設(shè)置了點擊事件監(jiān)聽器。當(dāng)點擊“驗證”按鈕時,控制模塊會將使用者輸入的編號發(fā)送至服務(wù)器,同時接受服務(wù)器傳回的驗證結(jié)果,并顯示在下一行對應(yīng)的位置;當(dāng)點擊“提交”按鈕時,控制模塊會將使用者輸入的編號及醫(yī)療數(shù)據(jù)明細(xì)發(fā)送給服務(wù)器,由服務(wù)器來判定醫(yī)療數(shù)據(jù)中是否可能存在醫(yī)療欺詐行為,并接收服務(wù)器返回的檢測結(jié)果,顯示在下一行對應(yīng)的位置,供使用者參考。

3.2 服務(wù)器端設(shè)計

(1)服務(wù)層。醫(yī)療欺詐檢測程序?qū)υ璓C端的遺留系統(tǒng)進(jìn)行了改造,檢測程序位于服務(wù)器端。對于檢測程序的具體細(xì)節(jié)這里不作闡述,但對其提供的Web Services接口作一簡單說明。服務(wù)器對外主要提供了兩個Web Services接口,這些接口相當(dāng)于系統(tǒng)分層模型中的服務(wù)層,對外提供服務(wù),分別如下:

函數(shù)原型:String CheckByID(String id)

功能描述:接收客戶端發(fā)送過來的醫(yī)療保險編號,通過編號向數(shù)據(jù)庫查詢該編號所對應(yīng)的患者個人信息,并將得到的個人信息回傳給客戶端,用來驗證是否是患者本人就醫(yī),防止他人冒名使用。

參數(shù)描述:該接口只有一個參數(shù),id,String類型,表示患者的醫(yī)療保險編號。

返回值:患者的個人信息,String類型。

函數(shù)原型:String Detect(String id,String items)。

功能描述:接收客戶端發(fā)送過來的醫(yī)療保險編號、詳細(xì)醫(yī)療數(shù)據(jù)清單,分析這些醫(yī)療數(shù)據(jù)是否存在醫(yī)療欺詐行為,并將分析結(jié)果回傳給客戶端,供使用者參考。

參數(shù)描述:

參數(shù)1:id,String類型,表示患者的醫(yī)療保險編號;

參數(shù)2:items,String類型,表示詳細(xì)醫(yī)療數(shù)據(jù)清單。

返回值:系統(tǒng)判斷結(jié)果,String類型,表示是否存在醫(yī)療欺詐行為。

(2)構(gòu)件層。Web Services接口內(nèi)部所調(diào)用到的一些單一操作,包括數(shù)據(jù)訪問、數(shù)據(jù)處理、調(diào)用模塊接口等基本操作,可以將它們封裝成一個個構(gòu)件,它們構(gòu)成了系統(tǒng)構(gòu)件層。多個構(gòu)件可以組成獨立的服務(wù),供外部調(diào)用。

(3)資源層。系統(tǒng)資源層由原PC平臺遺留模塊、遺留數(shù)據(jù)等組成。資源層主要包括患者個人信息、醫(yī)療數(shù)據(jù)和第三方供調(diào)用的模塊等,只能由構(gòu)件層的構(gòu)件訪問,對外部不可見,以確保醫(yī)療保險核心數(shù)據(jù)的安全。

4 結(jié)語

針對基于Android和服務(wù)器的移動應(yīng)用開發(fā),本文提出了一種應(yīng)用程序框架,以及在此框架下進(jìn)行的分層設(shè)計方法,利用該框架將PC平臺醫(yī)療欺詐檢測系統(tǒng)遷移到Android上實現(xiàn),方便了醫(yī)療欺詐檢測過程,實現(xiàn)了PC端向Android端應(yīng)用遷移。

參考文獻(xiàn):

[1] 姚昱旻,劉衛(wèi)國.Android的架構(gòu)與應(yīng)用開發(fā)研究[J].計算機系統(tǒng)應(yīng)用,2008 (11):110112.

[2] 農(nóng)麗萍,王力虎,黃一平.Android在嵌入式車載導(dǎo)航系統(tǒng)的應(yīng)用研究[J].計算機工程與設(shè)計,2010,31(11):24732476.

[3] 王世江,蓋索林.Google Android開發(fā)入門指南 [M].第2版.北京:人民郵電出版社,2009.

[4] 明日科技.Android從入門到精通[M].北京:清華大學(xué)出版社,2012.

[5] 張友生.軟件體系結(jié)構(gòu) [M].第2版.北京:清華大學(xué)出版社,2006.

[6] 顧寧,劉家茂,柴曉路.Web Services原理與研發(fā)實踐[M].北京:機械工業(yè)出版社,2006.

[7] 任中方,張華,閆明松,等.MVC模式研究綜述[J].計算機應(yīng)用研究,2004,21(10):14,8.

(責(zé)任編輯:杜能鋼)

猜你喜歡
醫(yī)療保險
“三醫(yī)聯(lián)動”下醫(yī)療保險新走向
社會醫(yī)療保險
降低醫(yī)療保險拒付率
醫(yī)療保險的風(fēng)險和內(nèi)部控制探討——以杭州為例
關(guān)于實施城鄉(xiāng)居民大病醫(yī)療保險的幾點思考
關(guān)注兒童醫(yī)療保險
芒康县| 余江县| 治县。| 乡宁县| 安徽省| 迁安市| 青岛市| 武邑县| 荣昌县| 石楼县| 会昌县| 祁阳县| 都江堰市| 德庆县| 博湖县| 凉城县| 鄂尔多斯市| 浦县| 郁南县| 中江县| 荣昌县| 崇文区| 保定市| 肇州县| 盐城市| 博野县| 广南县| 荣成市| 牙克石市| 离岛区| 津南区| 富宁县| 临武县| 隆尧县| 宁远县| 贡嘎县| 漳平市| 孟州市| 于都县| 仙游县| 忻州市|