裴 禹 王秋光
(哈爾濱理工大學(xué) 電氣與電子工程學(xué)院,黑龍江 哈爾濱 150040)
公共衛(wèi)生信息系統(tǒng)主要對各種公共衛(wèi)生信息進(jìn)行管理,實(shí)現(xiàn)對疾病的預(yù)防控制和對公共衛(wèi)生的管理,尤其是實(shí)現(xiàn)對突發(fā)公共衛(wèi)生事件的應(yīng)急管理。本文提出了一種采用JavaME技術(shù)的,實(shí)現(xiàn)在手機(jī)上使用的移動無線艾滋病信息管理系統(tǒng)?;贘avaME的無線艾滋病管理系統(tǒng)可以有效地利用手機(jī)的便攜性、不受時空限制和普及率高等優(yōu)點(diǎn),便于醫(yī)療人員在現(xiàn)場通過手機(jī)及時地了解病人資料、病情信息,從而把握更多的治療機(jī)會。
JavaME是Sun Microsystems公司聯(lián)合諾基亞、西門子等設(shè)備制造商共同推出的無線設(shè)備標(biāo)準(zhǔn)化應(yīng)用的開發(fā)平臺,它可以廣泛地應(yīng)用于移動電話、機(jī)頂盒、智能卡和PDA等小型資源受限設(shè)備的應(yīng)用開發(fā),其程序量一般僅為k字節(jié),因此又稱為k-JAVA。SUN根據(jù)各種設(shè)備的資源特性將JavaME技術(shù)架構(gòu)分為:Java Virtual Machine、配置和框架三層[1]。
JVM是為特定設(shè)備的操作系統(tǒng)而定制的Java虛擬機(jī),因操作系統(tǒng)的不同而有所區(qū)別,能夠支持一個特定的JavaME設(shè)備。JVM提供了軟件運(yùn)行的基礎(chǔ)環(huán)境。JavaME支持的JVM分為兩種:CDC配置的JVM是CVM(C虛擬機(jī)),CLDC配置的JVM 是KVM。CVM功能與傳統(tǒng)的虛擬機(jī)接近,適用于擁有至少幾兆字節(jié)內(nèi)存的高端消費(fèi)類設(shè)備;而KVM專用于內(nèi)存小、資源有限的設(shè)備,目前在手機(jī)中應(yīng)用的就是KVM[2]。
JavaME目前有兩種標(biāo)準(zhǔn)配置:互聯(lián)受限設(shè)備配置和互聯(lián)設(shè)備配置。CLDC是為使用較小的存儲容量的設(shè)備而設(shè)計(jì)的,它應(yīng)用在存儲容量為128kB到512kB之間的消費(fèi)電子設(shè)備上。CDC采用典型的Java虛擬機(jī)技術(shù),這種虛擬機(jī)包含了基于臺式機(jī)系統(tǒng)上的虛擬機(jī)的所有功能,適用于至少幾兆字節(jié)內(nèi)存的設(shè)備,如機(jī)頂盒和汽車導(dǎo)航等。
應(yīng)用程序是針對特定的profile編寫的,因此可以移植到支持該profile的任何設(shè)備上。目前對于移動電話、PDA等有限互聯(lián)設(shè)備,它們的profile層是MIDP。MIDP定義在CLDC之上,提供了對移動信息設(shè)備的圖形界面、持久性存儲和網(wǎng)絡(luò)等更高層的API。對于手機(jī)這類設(shè)備而言,MIDP、CLDC和KVM組成了開發(fā)無線Java應(yīng)用程序的基礎(chǔ)。
MIDP應(yīng)用程序稱為MIDlet,其中MIDlet suit是MIDP應(yīng)用程序的最小單位。所有的MIDlet都必須擴(kuò)展javax.microedition.midlet類,并且實(shí)現(xiàn)其定義的三個抽象方法:startApp()、pauseApp()和 destoryApp()。在 MIDlet的生命周期中有三個狀態(tài):暫停態(tài)、活動態(tài)和銷毀態(tài)。當(dāng)一個新的MIDlet應(yīng)用程序剛被啟動但是還沒有執(zhí)行startApp()方法時,MIDlet公共的、沒有參數(shù)的構(gòu)造函數(shù)被調(diào)用,它處于暫停態(tài),MIDlet只是保持盡可能少的資源,等待被系統(tǒng)調(diào)度執(zhí)行[3]。
艾滋病信息管理系統(tǒng)分為手機(jī)系統(tǒng)模塊和后臺維護(hù)系統(tǒng)模塊兩大部分。手機(jī)系統(tǒng)模塊包括:(1)患者管理。負(fù)責(zé)實(shí)現(xiàn)由醫(yī)生等人員通過手機(jī)查詢患者資料,了解患者病情。(2)對患者資料的維護(hù)。
系統(tǒng)分為三層,結(jié)構(gòu)如圖1所示。
表示層由手機(jī)客戶端和Web客戶端組成。其中手機(jī)客戶端負(fù)責(zé)查詢客戶信息和展示查詢結(jié)果等視圖的顯示,Web客戶端通過IE等瀏覽器展示后臺維護(hù)系統(tǒng)中各個視圖的顯示。業(yè)務(wù)層由Jsp、Servlet和JavaBean組成。手機(jī)客戶端通過GPRS訪問Servlet,用Servlet通過調(diào)用JavaBean和JDBC等訪問數(shù)據(jù)庫,實(shí)現(xiàn)業(yè)務(wù)邏輯處理,而后將處理結(jié)果返回給手機(jī)客戶端,由手機(jī)客戶端將返回結(jié)果展示給手機(jī)用戶。系統(tǒng)管理員通過Web客戶端訪問Jsp頁面,由Jsp頁面負(fù)責(zé)調(diào)Servlet進(jìn)行數(shù)據(jù)庫等操作。
本文以手機(jī)客戶端查詢患者信息為例重點(diǎn)介紹客戶端MIDlet編程技術(shù)。以下給出了手機(jī)系統(tǒng)模塊中患者資料管理的核心代碼。在CustomerSelect類中實(shí)現(xiàn)用戶查詢界面和返回結(jié)果顯示。
private String[]TimeFun Type={“模糊查詢”,“精確查詢”,};
private String[]TimeFunType1={“患者姓名”,“患者編號”,“地區(qū)名稱”,“地區(qū)編號”,};
private ChoiceGroup typechoice= new ChoiceGroup(“查詢方式”,Choice.POPUP,TimeFun Type,null);
private ChoiceGroup typechoice1=new ChoiceGroup(“查詢條件”,Choice.POPUP,TimeFunType1,null);
查詢患者資料查詢部分的系統(tǒng)演示界面如圖2。
本文利用JavaME技術(shù)在手機(jī)中開發(fā)了手機(jī)移動艾滋病信息管理系統(tǒng),將傳統(tǒng)的客戶關(guān)系管理系統(tǒng)擴(kuò)展到無線應(yīng)用領(lǐng)域,可以利用無線通信設(shè)備的便攜性、時空局限性低等優(yōu)勢,擴(kuò)展了無線應(yīng)用系統(tǒng)的應(yīng)用,應(yīng)用前景非常廣闊。
[1]仵博,張立涓,池瑞楠.J2ME無線開發(fā)實(shí)用教程.北京:清華大學(xué)出版社,2006
[2]詹建飛.J2ME開發(fā)精神[M].北京:電子工業(yè)出版社,2006
[3]林勝利,劉華軍.精通J2ME無線編程[M].北京:中國鐵道出版社,2004