手机应用程序开发架构的研究.pdf

上传人:qwe****56 文档编号:74642982 上传时间:2023-02-27 格式:PDF 页数:5 大小:460.06KB
返回 下载 相关 举报
手机应用程序开发架构的研究.pdf_第1页
第1页 / 共5页
手机应用程序开发架构的研究.pdf_第2页
第2页 / 共5页
点击查看更多>>
资源描述

《手机应用程序开发架构的研究.pdf》由会员分享,可在线阅读,更多相关《手机应用程序开发架构的研究.pdf(5页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、?CN43?1258/T P?ISSN 1007?130X?计算机工程与科学COMPUTER ENGINEERING&SCIENCE2010 年第 32 卷第 11 期?Vol?32,No?11,2010?文章编号:1007?130X(2010)11?0141?04手机应用程序开发架构的研究*Research on the Architecture ofMobile Application Development黄金国,罗?震HUANG Jin?guo,LUO Zhen(华中科技大学信息与系统技术研究所,湖北 武汉 430074)(Institute of Information and Sy

2、stem Technology,Huazhong University of Science and Technology,Wuhan 430074,China)摘?要:为了提高手机软件开发的质量和效率,本文提出了在底层平台与上层应用之间设计一个中间架构层,建立一个较为稳定的软件开发框架的思想。本文首先对软件架构理论进行了分析,在对架构设计的条理性原则和可靠性原则进行了充分权衡之后,将该架构分为四层,从上到下依次是:应用层、安全层、业务层和适配层,各层相对独立。应用层负责手机应用的初始化、关闭以及相关控件的工作;安全层负责保护数据,防止病毒木马等恶意攻击;业务层负责包装各类手机应用业务,并向上

3、提供相关服务给应用层调用;适配层则负责与协议栈的数据交互。本文应用这个架构,在 Android 平台上开发出 GT alk 即时聊天软件,证实了该架构的可应用性。Abstract:In order to improve the development quality and efficiency of software on smart phones,this thesis proposes away to design a middle architecture between the upper application and the lower platform so as to for

4、m a comparatively sta?ble framework of software development.T his article first makes an analysis of the software architecture theories,thenmakes a serious consideration on the principle of coherence and reliability,based on which we divide the whole architectureinto four layers,which are the applic

5、ation layer,the security layer,the business layer and the adaptive layer in the orderthat from up to down,which are respectively independent on other layers.The application layer is responsible for the initial?ization,close of application and the task of the related controllers.The security layer is

6、 responsible for protecting data so asto keep viruses and Trojanes from attacking the system.The business layer is responsible for the packaging of various appli?cation businesses,and provides services for the application layer.T he adaptive layer is responsible for the data interactionwith the prot

7、ocol stack.Applying the architecture,an instant messaging software named GTalk is developed,and the appli?cability of the framework is confirmed.关键词:软件架构;分层模式;消息映射;业务代理对象Key words:software architecture;layered mode;message?mapping;business?broker objectdoi:10.3969/j.issn.1007?130X.2010.11.037中图分类号:T

8、 P391文献标识码:A1?引言随着无线通讯行业的迅猛发展,手机的功能越来越强大,越来越多的功能集中于手机之上,功能复杂度越来越高,这使得手机设计者面临了一个新的挑战:需要缩短开发周期,保证产品质量。而解决这个问题的办法仅从硬件上考虑显然是不行的。如果说采用一个高性能内核,既处理通信协议又实现应用,会受制于功耗方面的挑战,为这类系统添加新的功能会涉及到复杂的测试和验证,往往大大延迟开发过程,而且主要的先进芯片技术都掌握在国外几大厂家手中。面对日益增多的手机功能,软件成为手机开发的主要耗时因素。但是,由于手机平台种类极其繁多,协议规范上141*收稿日期:2009?04?17;修订日期:2009?

9、08?26作者简介:黄金国(1965?),男,湖北仙桃人,博士,副教授,研究方向为软件工程和软件体系结构;罗震,硕士生,研究方向为软件工程。通讯地址:430074 湖北省武汉市华中科技大学信息与技术研究所;T el:(027)87559287;E?mail:hjg Address:Institute of Information and System T echnology,Huazhong University of Science and Technology,Wuhan,Hubei 430074,P.R.China也存在着极大的不同,对于上层应用软件的开发没有一个统一的设计和架构,开发者

10、往往采用?需要一个,就设计开发一个 的方法。这必然会造成大量的时间花费在对新应用的结构设计上,往往会导致手机产品开发效率的低下和代码结构的混乱,使产品在激烈的市场竞争中丧失时间、成本和性能上的优势。本文研究的内容是探讨如何在手机平台之上对上层软件的开发进行架构设计,提出了建立一个中间架构层的方案,并在 Android 手机平台上应用该架构实现了 GTalk(一款即时聊天软件)的开发。2?分层架构模式本文的中间架构层的设计总体上采取现时流行的分层模式思想,从上层应用到底层的数据传输分别用不同级别的各层实现。另外,与一般的分层架构不同之处在于,本文的架构设计也吸取了适配系统型、面向服务型和人机互动

11、型的优点,体现在具体的层次设计中。2.1?分层模式介绍分层是人们认识世界、解决事物复杂性和多样性的一种方法1。分层模式是最常见的一种架构模式,它描述的是这样一种架构设计过程:从最低级别的抽象开始,称为第1 层。这是系统的基础。通过将第 J 层放置在第J-1 层的上面逐步向上完成抽象阶梯,直到到达功能的最高级别,称为第 N 层。典型的分层方式是2应用程序专用功能位于上层,跨越应用程序领域的功能位于中层,而配置环境专用功能位于低层。层的数量与组成取决于问题领域和解决方案的复杂程度。通常而言,只有一个应用程序专用层。应当把子系统组织成分层结构,架构的上层是应用程序专用子系统,架构的低层是硬件和操作专

12、用子系统,中间件层是通用服务。2.2?分层架构的可靠性分层模式虽然可以很好地实现功能的划分,提高底层的复用率,但是它却把系统复杂化了,会直接影响到构件软件的可靠性。因此,保证软件的高可靠性是分层的一个重要原则。根据参考文献3的模型原理:在基于构件的软件开发中,软件系统由构件与连接件组成。基于构件的软件可以看作一个 Markov 过程。通过估算构件与连接件在整个系统中的使用次数,估算整个系统的可靠性。例如,当某个系统由 N 个构件组成,Li的可靠性为RLi,使用次数为 Ui,层连接件 Lj,k的可靠性为 RLj,k,使用次数为 Vj,k,系统的可靠性为 Rs:Rs=!Ni=1pow(RLi,Ui

13、)!Ni=j!Nk=1pow(RLj,k,Vj,k)其中,Li(i=1,2,#,N)是软件系统中 N 个不同构件,Lj,k表示第 Lj个构件与第Lk个构件之间的连接件。公式前部分的因子表示构件的可靠性,后部分的因子表示连接件的可靠性。它把整个系统看作一个串联系统,系统的可靠性就是所有串联因子的可靠性的乘积。其模型如图 1 所示。图 1?串联系统模型在我们所设计的架构分层体系中,情况稍有不同,不同之处在于:分层模式中有一条可见度原则,它规定信息的传递是不管是自上而下还是自下而上,都要逐层传递。各子系统只能与同一层及其下一层的子系统存在依赖关系,而不会出现跨层访问的情况。因此,考虑到架构分层体系的

14、这种特殊性,上述公式应稍作修改如下:Rs=!N-1i=2pow(RLi,Ui)!N-1i=2pow(RLi,i+1,Vi,i+1)!N-1i=2pow(RLi,i-1,Vi,i-1)pow(RL1,U1)pow(RL1,2,V1,2)pow(RLN,UN)pow(RLN,N-1,VN,N-1)其中,Vi,i+1与 Vi,i-1分别表示第 Li层与Li+1和 Li-1层的交互次数。因为第一层没有下层,第N层没有上层,所以单独计算。可靠性参数的值域是 0 1,它们作为乘数会使结果值变小。而对于一个架构而言,分层越多,不仅层的可靠性参数增多,而且连接件也越多,从而连接件的可靠性参数也越多,最终导致可

15、靠性值变差。因此,根据计算公式,整体可靠性的增强要求分层越少越好。在给架构分层的时候,如果分得过少,容易造成模块的臃肿和模块内部的混乱;如果分得过多,又会降低整个系统的可靠性。因此,分层原则必须充分考虑这两方面的因素,在保证可靠性的前提下,对系统分而治之,从而进行有效的组织。3?中间架构层设计根据第 2节的分层原则:条理化原则和可靠性原则,作这样的考虑:最上层是应用层,它对应手机的应用程序,与用户进行交流,主要负责手机应用的启动、初始化、关闭以及相关控件的调用和显示;其次,将界面调用和业务功能管理都放在应用层的结果是界面代码与逻辑功能代码混在一起,结构不清,不易维护,参考面向服务(SOA)的技

16、术,可以在应用层中划分出一个业务层,专门负责包装各类手机应用服务,并向上提供相关服务的结构给应用层调用;再次,本文的应用软件是用 Java 语言开发的,事实上大多数手机应用程序都是基于 Java 技术的,而 Java 存在的一些安全缺陷很可能被病毒制造者利用 4,从而对手机进行攻击,因此在应用层与业务层之间设计一个安全层;最后,考虑到应用与底层协议栈的交互,可以分出一个适配层 5,负责存储数据,与平台进行数据双向传输。综上所述,将架构分为四个层次,从上到下依次为应用层(Application?Layer)、安全 层(Security?Layer)、业 务层(Business?Layer)和适配

17、层(Adapter?Layer),这 4 个层次相对独立,如图 2 所示。这种松耦合的方式增强了架构的可维护性 6。142图2?中间架构层模型3.1?应用层设计新应用的创建思想为:首先为应用层定义一个基类Android_Application,开发者通过继承机制可以设计出需要的子类,然后通过子类对象的创建就可以实现不同的应用功能。在 Android 系统中,除了本身自带的应用外,用户可以随意向系统注册新的应用:#define Activity_Camera?mCam#define Activity_GT alk?mGtalk#define Activity_GEarth?mGEar#defin

18、e Activity _MMS?mMM S/*Multi?Message Service*/#接下来只需为应用编写一个类对象,然后重新对系统编译即可。3.2?安全层设计安全层的设计思想也是先定义一个安全基类 Android_Security,然后通过继承机制设计出多个子类,通过子类对象的创建实现不同的安全级别。(1)安全机制。一般可以选择实现的安全措施有:实行安全管理器。使用 GetSecurityManager()方法返回一个应用程序当前的安全管理器。%创建字节码验证器。Java 编译器不会生产不符合字节码验证器标准的操作码,使客户机免遭恶意小程序的袭击。&加密和数字签名。使用加密技术,类文

19、件和数据就可以在使用前被加密和验证;借助签名机制,当信任某个类的作者时,就可给予该类访问主机的更高优先权,对于输入的东西,除非有源代码,检查源代码,亲自编译,且这个类确实要有某个权限才能工作,否则不能签字。类装入机制。在所有类装入以后,就可以确定整个可执行程序的内存布局,符号引用可附带特定的内存空间;而且可创建查找表,解释器就可以防范代码中的非法地址访问。(沙箱技术。该安全机制使得驻留在主机上运行的程序均在沙箱中运行,对应的沙箱控制相应程序的访问资源权限,这样主机资源得到保障。当然还有很多安全措施,在此不一一列举。(2)安全机制的注册。我们为每个安全机制定义一个ID,用一个整型常量表示。Sec

20、urity_Manager=T heFirstId;Security_ByteCodeVeri=T heSecondId;Security_ Encryption=TheT hirdId;Security_ClassPlugIn=T heFourthId;Security_SandBox=T heFifthId;#3.3?业务层设计和应用层一样,业务层的设计思想也是先创建一个业务基类 Android_Business,然后通过继承机制设计多个子对象来实现不同的业务。在传统的三层模型中,通常将与业务层功能对应的服务层细分为服务代理层、服务注册层和服务执行层,但在手机系统中,我们觉得这样的细分优越

21、性不大,反而会造成资源的浪费。但是,以此为参考,可以对业务层进行如下设计:(1)业务的注册。#define Business_Message?mMess#define Business_Alerm?mAler#define Business_Clock?mClo#手机启动时,会对所有已注册的业务进行相关的创建工作。一项业务被创建之后,一般在初始化时会为其绑定一个适配器对象。(2)业务代理对象(Business?Broker Object)。手机系统起来时,只能创建一个业务类实例,但实际上可能同时有多个应用程序需要使用这项业务。为解决这个问题,利用文献 7 中移动代理层的思想,可以为每个业务类实

22、例创建多个对象对应于不同的应用,我们称之为?业务代理对象(Business_Broker Object),它相当于业务的一个?线程。如图 3 所示。图 3?业务代理对象工作机理3.4?适配层设计适配层的创建原则也是继承机制:先定义适配器的基类 Android_Adapter,然后以此为父类创建多个子类,不同的子对象对应于不同的适配器。作为业务层的下层,适配层是直接为业务层提供服务的,这里我们将适配器类与业务类一一对应并进行绑定,即每个适配器的工作是:向上提供对应业务所需要的数据,并将上层的数据向下传送给底层平台。适配层的绑定过程是,分别获得服务和适配器的 ID,然后将它们绑定在一起。其函数形式

23、如下:getServiceID(Service_Name);getAdapterID(Adapter_Name);adapterBind(Adapter_ID,Service_ID);当手机启动时,适配器被创建并绑定到相应的业务上。1434?架构应用实例我们依照这个架构,进行了基于 Android 平台环境的即时聊天软件的开发工作。Android 是 Google 开发的手机设备的一个软件栈,包括操作系统、用户界面和应用程序。应用程序用 Java 语言编写,在一个名叫 Dalvik 的设备上运行。Dalvik 是一个为运行在 Linux 内核顶层的嵌入式应用所设计的虚拟机 8。4.1?开发流程

24、如图 4 所示,应用软件的基本架构已经搭建好,程序员开发新的功能时,不用把大量时间耗费在结构设计上,而只是在这个架构体系下为各个部分添加具体的功能即可。图 4?架构搭建流程4.2?软件功能的实现基于这个架构,本文在 Android 平台环境下开发出了一款即时聊天软件:Google T alk。各个功能模块的实现结果如下:(1)登陆模块,如图 5 所示。图 5?登陆模块(2)好友管理模块,添加好友如图 6 所示,删除好友如图 7 所示。(3)聊天模块,如图 8 所示。图 8?即时聊天模块(4)聊天记录模块(查看和删除),如图 9所示。图 9?删除聊天记录模块5?结束语本文提出了针对手机软件开发的

25、一个架构,通过在平台之上建立一个中间架构层,为开发者提供一个统一的编程框架,从而大大减少开发项目的时间,缩短应用软件的开发效率。我们应用这个架构在 Android 平台上成功地开发出 GTalk 即时聊天软件。现在手机平台种类繁多,不同的平台可能拥有不同的协议规范,在这样的情况下,对平台具有严重依赖性的适配层就必须重新改写,为该架构的可移植性造成了阻碍。今后待改进的工作表现在:如何在适配层设计出一个兼容各个不同协议的标准接口,增强该架构的可移植性。参考文献:1?章远阳,杨芙清,邵维忠.面向对象系统软件的分层构造模型 J.软件学报,1993,4(5):1?5.2?Haseloff S.Desig

26、ning Adaptive Mobile Applications C)Proc of the 9th Euromicro Workshop on Parallel and Distrib?uted Processing,2001:131?138.3?周娜琴,张友生.构件软件的可靠性估算模型 J.计算机应用,2008,28(6):1630?1634.4?黎筱彦,曲保章.Java 的安全缺陷 J.现代计算机,1999(5):79?80.5?莫东松,彭晓东,夏克俭.面向对象的分层应用程序的三种结构模式 J.计算机应用研究,2003,20(2):34?35.(下转第 160页)144及对应的五种检索

27、树与刻面描述树之间的匹配模型,并给出了匹配模型相应算法及实验分析。在实际应用时,将该三种检索方法用于大规模的基于刻面描述的构件库进行检索时一方面可以满足用户的各种检索需求,另一方面可以保证检索的效率。为了进一步提高检索算法的查准率和查全率,如何扩充术语词典,如何在不修改程序的情况下扩充检索条件,如何为构件复用设计良好的检索界面以及高效的检索平台是下一步研究的关键问题。参考文献:1?Chang J C,Li K Q,Guo L F,et al.Representing and Re?trieving Reusable Software Components in JB(Jadebird)Sys?

28、tem J.Electronica Journal,2000,28(8):20?24.2?王渊峰,薛云皎,张涌,等.刻面分类构件的匹配模型 J.软件学报,2003,14(3):401?408.3?Gibb K,McCartan C,O Donnell R,et al.T he Integrationof Information Retrieval T echniques within a Software ReuseEnvironment J.Journal of Information Science,2000,26(4):520?539.4?曾一,刘元勇,郭永林.一种基于 XM L 的统一

29、构件匹配技术 J.计算机科学,2007,34(3):279?282.5?陈颖,沈军.基于本体的构件描述与检索 J.计算机应用与软件,2007,24(7):30?32.6?李勇,张志刚.基于本体语义检索技术研究 J.计算机工程与科学,2008,30(4):17?19.7?钟春平,郭国平,郑有才.跨构件库的刻面描述构件查询匹配算法研究 J.计算机工程,2006,32(21):82?84.8?晏荣杰,冯莉,宋雨.可复用构件的分类与查询方法研究 J.计算机工程与应用,2003,39(6):85?87.9?马亮,谢冰,杨芙清.多构件库统一刻面检索机制 J.电子学报,2002,30(2A):2149?21

30、52.10?王渊峰,张涌,任洪敏,等.基于刻面描述的构件检索 J.软件学报,2002,13(8):1546?1551.11?Good B M,T ranfield E M,Tan P C,et al.Fast,Cheap andOut of Control:A Zero Curation Model for Ontology Devel?opment C)Proc of the Pacific Symp on Biocomputing,2006:128?139.12?Hwang S?H,Kim H?G,Yang H?S.A FCA?Based OntologyConstruction for

31、the Design of Class Hierarchy C)Proc ofICCSA 05,2005:827?835.13?傅翠云.基于刻面分类的构件检索技术的研究与实现:硕士学位论文 D.广州:中山大学,2008.(上接第 144 页)6?Gannon D,Alameda J.Building Grid Portal Application froma Web Service Component Architecture J.Proceeding ofthe IEEE,2005,93(3):551?563.7?Zhang Guoyou,Guo Yinzhang.Research on t

32、he Architecture?Based Adaptive Grid Application C)Proc of D?CABES 04,2004.8?Android Document EB/OL.2009?03?15.http:/ ES.html.(上接第 148 页)2?Xu D,Hefeeda M,Hambrusch S,et al.On Peer?to?PeerMedia Streaming C)Proc of IEEE Int l Conf on Priority?tributed Computing Systems,2002:363?371.3?Chu Y,Rao S G,Zhan

33、g H.A Case for End System Multi?cast C)Proc of ACM SIGM ETRICS 00,2000:456?1471.4?Zhang X,Liu J,Li B,et al.DONet/CoolStreaming:A Da?ta?Driven Overlay Network for Live Media Streaming C)Proc of IEEE INFOCOM 05,2005:2102?2111.5?Hei X,Liang C,Liang J,et al.Insights into PPLive:AMeasurement Study of a L

34、arge?Scale P2P IPT V System C)Proc of IPTV 06,2006.6?Yan L,Venot S.Peer?to?Peer Media Streaming ApplicationSurvey C)Proc of U BICOMM 07,2007:139?148.7?Banerjee S,Bhattacharjee B,Kommareddy C.Scalable Ap?plication Layer Multicast C)Proc of ACM SIGCOM M 02,2002:205?217.8?T ran D A,Hua K A,Do T T.A Pee

35、r?to?Peer Architecturefor M edia Streaming J.IEEE Journal on Selected Areas inCommunications,2004,22(1):121?133.9?Lin J.Peer?to?Peer Multimedia Applications C)Proc of the14th ACM international Conf on M ultimedia,2006:3?6.(上接第 155 页)2?Laneman J N,Tse D N C,Wornell G W.Cooperative Diver?sity in Wirel

36、ess Networks:Efficient Protocols and Outage Be?havior J.IEEE Trans on Inf Theory,2004,50(12):3062?3080.3?Laneman J N,Wornell G W.Distributed Space?T ime?CodedProtocols for Exploiting Cooerative Diversiy in Wireless Net?works J.IEEE T rans on Inf T heory,2004,49(10):2415?2425.4?Sendonaris A,Erkip E,A

37、azhang B.User Cooperation Diversi?ty.Part I.System Description J.IEEE Trans on Communi?cations,2003,51(11):1927?1938.5?Sendonaris A,Erkip E,Aazhang B.User Cooperation Diversi?ty.Part II.Implementation Aspects and Performance Analy?sis J.IEEE T rans on Communications,2003,51(11):1939?1948.6?Wu K Y,Le

38、ung W K,Li Ping.A Simple Approach to Near?Optimal Multiple T ransmit Antenna Space?T ime Codes C)Proc of the IEEE ICC 03,2003:2603?2607.7?Wu K Y,Leung W K,Li Ping.Interleave Division M ultiple?xing Space?T ime Codes C)Proc of the IEEE 2003 Int lSymp on Information T heory,2003:354.8?Papadias C B,Foschini G J.Capacity?Approaching Space?T ime Codes for Systems Employing Four Transmitter Anten?nas J.IEEE T rans on Inf Theory,2003,49(3):726?733.160

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 技术资料 > 其他杂项

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com