网站首页  词典首页

请输入您要查询的论文:

 

标题 PC平台应用系统向Android平台迁移探究
范文 王正飞
摘要:针对传统PC平台软件系统操作不便问题,研究了基于Android和服务器的移动应用开发。提出了一种应用程序框架,利用该框架将系统从PC平台迁移到Android设备上实现。研究成果可为PC端向Android端应用迁移的实现提供理论支持。
关键词:Android;应用程序框架;应用迁移;医疗保险;医疗欺诈
DOIDOI:10.11907/rjdk.151328
中图分类号:TP319
文献标识码:A 文章编号文章编号:16727800(2015)008011104
0 引言
近年来手机、平板电脑等移动设备应用越来越广泛,如能将PC上的软件迁移到移动设备上,利用它的便携性,便可真正做到在任何时刻任何地点完成工作。以医疗欺诈检测为例:医疗上事务繁多,需要检测的时间地点各不相同,传统的医疗欺诈检测或是人工,或是基于PC平台,使用起来极为不便。基于移动端进行检测系统的开发能很好地解决这一问题。目前,移动端系统使用最为广泛的是Android。作为第一个真正意义上的开源手机平台,Android有着其它智能系统无可比拟的优势:完全免费的智能平台,在GNU协议的基础上,任何公司和个人都可以对其功能进行修改、删减或添加。同时,作为一个专为互联网时代设计的平台,Android支持常见的互联网协议。因此,使用Android实现该系统是最合适的。
通常Android系统的应用程序都是以面向大众娱乐的桌面小程序为主,而面向工业、社会的应用不多,这就决定了Android程序的设计框架通常都很简单。如何使Android适应传统大型程序,将传统PC应用迁移到Android平台,是本文研究的重点。
1 相关技术
为了研究PC平台的传统应用向Android平台迁移,先了解一下Android系统,并研究SOA、Web Services、MVC等技术,以便设计合理的框架。
1.1 Android
Android是由开放手机联盟(Open Handset Alliance)发布的智能手机平台,是真正意义上的开放性移动设备综合平台[1],由Google于2007年11月宣布的基于Linux平台开源手机操作系统名称,号称首个为移动终端打造的真正开放和完整的移动软件[2]。Android以其强悍的手机上网功能、整合Google网络服务优势得到了广泛应用[3]。Android平台主要包括Applications(应用程序)、Application Framework(应用程序框架)、Libraries(库)、Android Runtime(Android运行时)和Linux Kernel(Linux内核)几部分[4],其平台架构如图1所示。
图1 Android平台架构
1.2 SOA
SOA(Service-Oriented Architecture)[5],即面向服务的体系结构。W3C将SOA定义为:“一种应用程序体系结构,在这种体系结构中,所有功能都定义为独立的服务,这些服务带有定义明确的可调用接口,可以以定义好的顺序调用这些服务来形成业务流程。”SOA体系结构中,所有功能都定义成了独立的服务,服务之间通过交互和协调作业来完成业务的整体逻辑。所有服务又通过服务总线(services bus)或流程管理器连接,如图2所示。
图2 面向服务的体系结构
1.3 Web Services
Web服务[6]是实现SOA的最好方式。Web服务对HTTP、SMTP和XML等一些已经存在的技术进行了包装,是基于现有技术的一种整合技术。W3C把Web服务定义为“一个软件系统,用于支持网络间不同机器的互动操作”。完整的Web服务包括3种逻辑构件,分别是服务提供者、服务代理和服务请求。服务提供者、服务请求者是必需的,服务代理可选,它们之间的交互和操作构成了Web服务的体系结构,如图3所示。服务提供者提供服务,并进行注册以使服务可用;服务代理充当提供者和请求者之间的媒介,是服务的注册场所;服务请求者通过向服务代理请求服务,调用所需服务。
图3 Web服务体系结构
Web服务体系结构优势主要体现在5个方面:高度的通用性和易用性、完全的平台、语言独立性、高度的集成性、容易部署和发布[5]。Web服务以XML为基石,有3个重要支撑技术,分别为简单对象访问协议(SOAP)、Web服务描述语言(WSDL)以及统一描述、发现和集成协议(UDDI)。SOAP是一种标准化的通信规范,主要用于描述服务传输的数据,能够让不同应用程序之间通过HTTP通信协定,以XML格式互相交换彼此数据,使其与程序语言、平台和硬件无关。它描述了如何调用一段远程代码的方法,以及调用它需要传递的参数。客户端程序通过网络将XML文档发送给服务器端,服务器端接收到XML文档后解析,然后发回一个描述结果的XML文档给客户端。WSDL是用来描述Web服务、定义Web Services位置、功能及说明如何通信等的描述语言。它是一种XML格式,用于将网络服务描述为一组端点,这些端点对面向文档或面向过程的消息进行操作,是可扩展的。UDDI是Web服务架构下的服务描述、发现和集成机制,基于现有标准,如XML和SOAP,是一套基于Web的、分布式的、为Web服务提供的实现标准和规范。
1.4 MVC
MVC,即Model-View-Controller,是将一个应用的输入、处理、输出流程按照Model、View、Controller的方式进行分离,分成3个层——模型层、视图层、控制层[7]。MVC模型在满足对界面要求的同时,将软件的计算模型独立于界面。MVC将整个交互系统分解为模型、视图和控制3种构件。模型、视图与控制器分离,使得模型具有多个显示视图。通过其中任何一个视图控制器,改变模型的数据,都会导致所有依赖于这些数据的视图起变化。因此,无论何时发生何种数据变化,控制器都会将变化通知所有的视图,显示更新[5]。图4描述了MVC解决方案。
图4 MVC解决方案
2 框架设计
2.1 整合框架
这里提出一种统一的整合软件设计框架,以方便在Android平台上迁移传统软件。该框架融合了面向服务架构(SOA)思想,以MVC和Web Services技术为基础,通过远程过程调用实现软件架构。
在该整合框架中,在Android平台上主要进行View和Controller两个模块的设计;在服务器端将传统软件进行改造,封装成Web服务,并对外暴露调用接口,在Android平台与服务器调用接口之间进行交互,从而实现Model模块。具体来说,就是将软件的显示界面和主要的控制程序放在Android平台,由Android项目中的res文件夹下的layout中的若干XML文件来设计界面布局,控制UI界面;由src文件夹下的Activity类和其它若干控制类来实现程序的主要控制模块,完成人机交互任务;将软件的后台数据库、业务逻辑等细节放到服务器端,由Android平台来远程调用Web服务接口,完成与软件的后台数据库交互、进行业务逻辑判断等操作。这样既将原有的传统软件迁移到Android平台,又解决了Android平台内存小、不足以独立运行大型系统的弊端。整合框架如图5所示。
2.2 系统分层模型
结合SOA思想,系统设计分为5层,即表现层、业务流程层、服务层、构件层、资源层,层与层之间通过接口调用实现交互。前两层在Android移动端实现,后三层在服务器端实现。表现层相当于View模块,主要设计用户界面;业务流程层相当于Controller模块,主要是设计用户界面和服务器的交互流程;资源层主要是一些遗留系统、遗留数据,相当于系统数据库;构件层主要是一些单一操作,包括数据访问、数据处理等基本操作;而服务层则是对各个构件的组合,使之形成具有某种功能的服务,并对外暴露Web Services接口,供外部远程调用,见图6。
图5 整合框架
图6 系统分层模型
3 系统设计
应用前述的软件设计框架和系统分层设计模型,我们可以方便地将原有PC平台系统迁移到Android平台上实现,仍以医疗保险中的医疗欺诈检测系统为例,简单说明一下设计思路。按照整合框架,系统的视图和控制器模块在Android设备上实现,模型模块在服务器端实现。将系统划分为5层,Android设备上实现了表现层和业务流程层,主要完成医疗欺诈检测系统与使用者之间的人机交互、控制系统的业务逻辑;服务器端实现了系统的服务层、构件层、资源层,由资源层提供系统的底层数据与模块,如患者的个人信息、医疗数据和第三方供调用的模块等,构件层将对底层数据和模块的操作封装为一个个构件,如读写数据库数据、调用模块接口等,而服务层则组合这些构件,形成独立的具有某种功能的服务,并对外提供服务接口,供Android设备远程调用,系统框架如图7所示。
图7 医疗欺诈检测系统框架
3.1 Android平台设计
(1)表现层。系统的主界面设计如图8所示,它相当于系统分层模型中的表现层,负责实现与用户的交互操作。交互主要通过两个Button按钮和按钮之前的两个EditText输入框实现。
图8 系统主界面
(2)业务流程层。业务逻辑控制模块负责系统主要功能的执行流程实现。在控制模块中,分别对“验证”和“提交”两个按钮设置了点击事件监听器。当点击“验证”按钮时,控制模块会将使用者输入的编号发送至服务器,同时接受服务器传回的验证结果,并显示在下一行对应的位置;当点击“提交”按钮时,控制模块会将使用者输入的编号及医疗数据明细发送给服务器,由服务器来判定医疗数据中是否可能存在医疗欺诈行为,并接收服务器返回的检测结果,显示在下一行对应的位置,供使用者参考。
3.2 服务器端设计
(1)服务层。医疗欺诈检测程序对原PC端的遗留系统进行了改造,检测程序位于服务器端。对于检测程序的具体细节这里不作阐述,但对其提供的Web Services接口作一简单说明。服务器对外主要提供了两个Web Services接口,这些接口相当于系统分层模型中的服务层,对外提供服务,分别如下:
函数原型:String CheckByID(String id)
功能描述:接收客户端发送过来的医疗保险编号,通过编号向数据库查询该编号所对应的患者个人信息,并将得到的个人信息回传给客户端,用来验证是否是患者本人就医,防止他人冒名使用。
参数描述:该接口只有一个参数,id,String类型,表示患者的医疗保险编号。
返回值:患者的个人信息,String类型。
函数原型:String Detect(String id,String items)。
功能描述:接收客户端发送过来的医疗保险编号、详细医疗数据清单,分析这些医疗数据是否存在医疗欺诈行为,并将分析结果回传给客户端,供使用者参考。
参数描述:
参数1:id,String类型,表示患者的医疗保险编号;
参数2:items,String类型,表示详细医疗数据清单。
返回值:系统判断结果,String类型,表示是否存在医疗欺诈行为。
(2)构件层。Web Services接口内部所调用到的一些单一操作,包括数据访问、数据处理、调用模块接口等基本操作,可以将它们封装成一个个构件,它们构成了系统构件层。多个构件可以组成独立的服务,供外部调用。
(3)资源层。系统资源层由原PC平台遗留模块、遗留数据等组成。资源层主要包括患者个人信息、医疗数据和第三方供调用的模块等,只能由构件层的构件访问,对外部不可见,以确保医疗保险核心数据的安全。
4 结语
针对基于Android和服务器的移动应用开发,本文提出了一种应用程序框架,以及在此框架下进行的分层设计方法,利用该框架将PC平台医疗欺诈检测系统迁移到Android上实现,方便了医疗欺诈检测过程,实现了PC端向Android端应用迁移。
参考文献:
[1] 姚昱旻,刘卫国.Android的架构与应用开发研究[J].计算机系统应用,2008 (11):110112.
[2] 农丽萍,王力虎,黄一平.Android在嵌入式车载导航系统的应用研究[J].计算机工程与设计,2010,31(11):24732476.
[3] 王世江,盖索林.Google Android开发入门指南 [M].第2版.北京:人民邮电出版社,2009.
[4] 明日科技.Android从入门到精通[M].北京:清华大学出版社,2012.
[5] 张友生.软件体系结构 [M].第2版.北京:清华大学出版社,2006.
[6] 顾宁,刘家茂,柴晓路.Web Services原理与研发实践[M].北京:机械工业出版社,2006.
[7] 任中方,张华,闫明松,等.MVC模式研究综述[J].计算机应用研究,2004,21(10):14,8.
(责任编辑:杜能钢)
随便看

 

科学优质学术资源、百科知识分享平台,免费提供知识科普、生活经验分享、中外学术论文、各类范文、学术文献、教学资料、学术期刊、会议、报纸、杂志、工具书等各类资源检索、在线阅读和软件app下载服务。

 

Copyright © 2004-2023 puapp.net All Rights Reserved
更新时间:2025/3/16 7:45:52