




已阅读5页,还剩73页未读, 继续免费阅读
(计算机应用技术专业论文)基于j2me平台的移动应用系统的研究与实现.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
abs t r ac t i n t o d 即 s i n form at i o n soc i e ty , m obi l e t e l e p h o n e , p d a(p e r son a l d i gi t ala s s i s t a n t ) a nd o t h erw ir e l e s s e q u i p m e nt s ar e m ore aj 1 d mor e p opu lar , a n d b e c o me t hei m p o rt ant com m u n i c at i o n faci l it i e s i n p e o p l e s d a y 一 t o 一 d 盯p r o d u ct i o n a ct i v i t y a n d l i fe twit h t h e d eve l o p m e nto f sc ie n c e a n d t e c h n o l o g y , t h e p e ri b rmanceo f w i re l e s s 叫 u i p m e nthas b e e nim p rove d . e a c h k i n dofn ew m o b i l l e v a l u e- add ed , i c ee m e rg e s o n e a fi e r ano t h e ande nric hp cop le sl i fe as t h emob i l ee qui p m e nti sc a n y h o me a n dn 0 t r e g i o nl i m it , d eve l o p i n gi nt e l l e c t u a l i z ed a p p l i c at i o n son w are o nm o b i l e p h o n e fu l ly d i s p i 盯s i t s su p erio r it y a ndhas t h e b r o adm a r k e t p r o s p e cta n d t h e h u g e d eve i o p m e nt p ote n t i a l . a c c o r d i n g t o t h e abo veb a c k gr o u n d , t h e aut h o r s t u d y a n d re s e ar c h o n t h e m o b i l e a p p l i c at i o nd eve l o p m e nt t e c h n o l o gy, d e s i g nandd e v e l o p eaj z me 一 b a s e dm o b i l e syst e mo f o n i i n e p er c h a n s i n g b o o kt h e wor k fo cus o n : ( 1 ) t h e s y st e mhas t hes m o o t h m igr at 叼 n atur e o n a ll k i n d s o f o p er at i o n s y s t e m b e c aus e t hes y stemi s d e v e l o p e d a n d i m p l e m e n t edo n j av a p l at e fo r ma ndj a v a i s t h e c ro s s p l at fo rm d e v e l o p m e n t l a i1 g u age ( 2 ) p ar s i 昭 x 玉 且 j d at ah a s b e e ni m p l e m e n t e do n t h e c l i e nis i d e b ys i m u l at iv e e x p e r i m ent,t h e c h a r a c t erist ic of p o p u l ar x 入 4 l p ar s er wascom p ar ed a n d ana l y z ed心o n s i d er i ngt hem e morya n d t h e p e rformanc e o f p o c e s sor o n t hec l i e ntsi d e are l i m i t e d ,t h e auth o r u s edt h e pul l p ar se r , kxm l , w h i c h t ake s l e s s m e m o rya nd ru n moreq u i c k l y t h a n t hed o m ( d o cum e nto bj ect m ode l) 一 as e d p ar s er . ( 3 ) t h es 翻 r i t yo f t h esy st e mw asst r e n gt h ene do nt w 0as p ects , t he n e t w o r k conne ct i o na n dt h et rans m i s s io nc o nt e nt 乃nt h eas p e cto f n et w o r kcorme ct i o 几t h e c l i e nts i d e com mun i c at edw it h t h e serv erb y u s e s i ngh t 甘s p ro t o col , o n t h e a sp ect of t r a n s m i s s i on cont ent ,t h esen s it i v ed at aoft he com m u n i c at i o ni nth e syst e mwas enc ry p t edb y a e s st and a r d , and t hek eyman age m e ntw a s st re n gt h e n edb y u s i ngt he st r ategyo f o neti m e o n k e y , t h e t ab l e o f cont ent s :t h e fi r st c h a p t erb r i e fi y int r odu c e s t h e pr e se nts it u at i onan d t he tren do f d eve l o p m e nto f m o b i l eapp l i c at i o nd e ve l o p m e nt ,t h e卿o n dc h a p t et e l abo r at e s t h e re l at edt ec hno l o g e o f m o b i i e app l i c at i o n s y st e md eve l o p m e nt , i n c l u d i n g j z h 1 e , j z e e , x 州 lan d e n c ry p t i o n t ec h n o i o gy,t h e t h i r d c h a p te r and t h e fo u rt h c h apt c r exp at i at e t h e s y st e md e s i g n and i m p l e m e nto f o n l i n e p erch a n s i n g b o o k and t h e fi ft h c h a p t e r re se a rc h e s a ndd i s cus s e s t h e m o b i l e a p p l i c at i o n 斗 st e mse c u r it y - k e y w o r d s : j z mex 州 ls ecu r i t y 学位论文独创性声明 学位论文独创性声明 本人声明所呈交的学位论文是本人在导师指导下进行的 研究工作及取得的 研究成果。 据我所知,除了文中特别加以 标注和致谢的地方外, 论文中不包含 其他人己经发 表或 撰写 过的 研究 成果, 也 不包含为获得 南昌大学 或其他教育 机构的学位或证书而使用过的材料。与我一同工作的同志对本研究所做的任何 贡献均己在论文中作了明确的说明并表示谢意。 学 位 论 文 作 者 签 名 手 写 )才私签 字 日 期 :。年 月, 日 学位论文版权使用授权书 本学位论文作者完 全了解南昌大李有关保留、使 用学 位论文的规定, 有权保留并向国家有关部门或机构送交论文的复印件和磁盘,允许论文被查阅 和借阅。 本 人授权南昌大学可以 将学位论文的 全部或部分内 容编入有关数据库 进行检索,可以采用影印、缩印或扫描等复制手段保存、汇编学位论文。 ( 保密的学位论文在解密后适用本授权书) 学 位 论 文 作 者 签 名( 手 写 )才 软 ” 师 ” “ (手 写 ):私反 签 字日 期 :夕 年谷月砂日 签 字 日 期 : 刃 年 月 劫日 学位论文作者毕业后去向: 工作单位: 通讯地址 : 电话: 邮编: 第 1 章引言 第 1 章引言 1 . 1 研究背景 随 着电 子技 术 和 无 线 通讯 技术的 发展, 手 机、 p d a(p ersonai digi tal户 巴 s i s tant, 个 人 数 字 助 理 ) 等 通 讯电 子 产品已 经 成为 人 们生 活 的 必 需 品 , 与 此同 时 , intemet 的飞速发展也使人们越来越依赖于hi t e m et上可以 得到的信息, 人们希望不仅能 够通过个人计算机和办公室的工作站,而且能够通过手机、p d a等移动设备来 访问in te m et上的信息, 并且人们也不再满足于手机、 p d a等移动设备出 厂时所 固定的有限功能, 而是希望像个人计算机一样,能方便地为这些移动设备安装 各种需要的应用软件,而不用重新购买新的设备。面对上述的各种需求,基于 手机、 p d a等设备的 移 动应用开发逐 渐成为一 个炙手可热的 话题tl 司 . 目 前常用的移动应用开发平台主要有以下几种: 1 、win d ows m obile, 微软公司为智能移动终端设备设计的操作系统。 基于 w in d ows m obile操作系 统的 智能终端设备分为s m a rt p h 的e 和p 以 念 e t p c 两个大 类, 其中s m artp hone从 外观设计、 使用习 惯等方面来看更像一部电 话,同时 具 备一定的数据管理和处理能力。而p ock e t pc的功能更类似于一部个人电脑,有 着非常强大的数据管理和处理能力:目 前部分p ock e t pc加入了电话功能,使其 成为新的p ock e t p cp h o n e 。现针对不同的硬件设备需求,微软公司的win d o w s m o bi le操作系统可细分为:wln d o w s mob业fo r p 仪 盘 e t p c ,win d o w s mobilefo r p oc k e t p c外。 ne和w in d ows m o b i lefor s m a d p b o d e 。 win d ows m obil e 将桌面 win d o w s 功能扩展到了移动设备上,其优势在于:拥有大量熟悉win d o w s 开发 的开发人员及开发工具和技术支持, 内置了很多用户熟悉的桌面p c 环境下应用, 比 如o u t l ook 、 m ed i a pl a 界 r 、 正、 m s nm e ss e n ser、 w 匕 rd和e 沈 ce l 等, win d ows m obile的不足之处在于其开发出 来的应用程序较其他平台要消耗更多的资源。 2 、5 州b i an , 1 99 8 年6 月由 爱 立信、 诺 基 亚、 摩 托罗 拉和ps i on共同 筹 建 的s y m b i an公司 开发的 手 机操作系统, 因为该 平台是 专门 针对移动设备设计的, 所以对移动通信协议如g s m、g p r s 、 wc d m a 、 蓝牙以 及c d m az ool x等的 支持较强,功能较强, 但开发难度很大,成本相对较高,开发者较少。 3 、pa l mo s , 3 c o m公司 的p al mom p ut in g 部开发的一 种用于掌上电 脑的 第 1 章引言 32 位嵌入式操作系统,其操作系统本身所占的内存极小,基于该操作系统编写 的应用程序所占的空间也很小,因此p ai mo s在能耗、容量等方面占有较大的 优势,其不足之处在于其系统开放性差,应用程序有限,扩展方面较弱,在国 内的应用不及前两种广泛。 4 、u n ux, 其进入移动终端操作系统的时间不长, 但其开放源代码的优势吸 引了许多终端厂商和运营商。l i n u x主要具有两个优势:其一,l i n u x具有开放 的源代码,能大大降低成本:其二,移动终端的厂商可根据其实际情况对li nux 内核进行裁减,以适应其自身要求,同时又吸引了众多软件开发商对内容应用 软件的开发,丰富了第三方应用。l j n u x 操作系统的不足在于:入门 难度较高、 熟悉其开发环境的工程师少、集成开发环境较差。由于目前桌面操作系统 windo ws还占据统治地位, 并且windo w s 操作系统代码的不公开, 所以基于unux 的产品与p c的连接性较差。 5 、b r e w ( b i n 畔 run t im e e nviro nlnc n t fo r wire 一 le s s 无 线二 进 制 运行 环境 ) , 高通公司2 001 年推出的一个无线终端应用软件的运行平台。该平台为开发人员 提供了功能强大的a p i , 用c/c + + 编写的应用程序运行速度较快。 与sun 公司不 同的是,高通公司把包括芯片、操作系统和应用在内的一系列解决方案提供给 手机厂商,甚至还把计费系统提供给移动运营商,把包括后期的应用程序检测 和数字签名的发放权也包揽下来, 这使得b r e w平台成了一个相对封闭的系统。 因此, 全球只有为数不多的 运营商采用b r e w, 与jz m e相比 较, b rew的 应 用范围相对较小。 6 、j z me ,j avaz 平台微型版的简称,是s u n公司在j zse 和j z e e之后, 专门针对无线设备和有限处理能力的设备而设计的软件开发平台。 jzm e拥有 j a v a语言所具备的各种特点,如可移植性,一致性和安全性等. 利用jzm e技 术编写的应用程序可以升级, 可扩展至个人电脑和服务器上。 jzm e 还提供了对 in te rnet 协议的支持。使用jzm e 平台,开发速度快、周期短、 支持的移动设备 较多,已成为目前移动领域使用最广泛的开发平台。 移动应用的目的是为了让用户在享用信息时, 受到更小的限制,同时让应用 可以在终端设备上传递,但因为存在着不同的操作系统,应用会因为不兼容而 无法为各类移动终端使用,因些跨平台的需求就显示尤为重要。 满足这个需求 的平台是jzme和b r e w。 但由于b r e w平台的封闭性以及j ava 本身许多优点, 本文的移动应用系统选用jzm e 作为开发平台。阔 第 1 章引言 1 . 2 研究意义 进入21世纪以 来,移动通讯市场竞争日 趋激烈,各大电信服务提供商与手 机、 pda 等通讯电子产品生产商为了 争夺用户份额以及未来的利润, 以前所未见 的迅猛之势,不断推出各种新颖的服务与新一代的通讯产品,而软件市场更是 把目 光投向了这被认为具有无穷潜力,标志着未来市场走向的移动应用市场。 目 前移动应用大致可以分为以 下几类: 1 、 游戏娱乐:当 前应用比 较普遍、 种类比 较繁多的一种应用。 移动终端通 过无线网络下载各种小游戏、视频、图片、电子小说等。电子消费类的移动应 用,成为电信运营商推动增值服务的核心业务。 2 、信息服务:移动终端通过无线网络连接服务器,实现新闻、天气预报、 公共设施等信息资讯的点播服务,这一类服务也成为运营商下一阶段大力推广 的业务模式。 3 、企业应用:结合企业内部业务管理系统实现移动办公环境,这类系统主 要针对企业用户,应用需求比较分散,常见的有接入到企业内部办公系统的移 动办公自 动化系统、业务信息处理等。就市场发展来看, 基于j ava 技术的企业 级应用也会在未来成为中国移动运营商重要的收入来源之一。 4 、 移动电子商务: 其目 的是让消费者可以利用移动设备浏览电子商务网站, 挑选商品,直接进行购买,从而可以不受时间、地点的限制而获得信息和服务。 该应用具有广阔的应用前景和巨大的市场潜力,但由于开发技术还不够成熟, 国内的应用还不多. 1 与传统的电子商务相比,移动电子商务充分利用移动无线网络的优点,使 消费者的 购物不再拘泥于电 脑, 而是可以实 现随时随地 (anyt i me a ny w h ere) 的消费。另一方面,对于企业而言,移动商务突破时间和空间的限制,缩短了 企业与市场的距离,提高了企业对市场的响应能力,增强了企业的综合竞争能 力。移动电子商务作为一种新型的电子商务方式,相对于传统的 “ 有线”电子 商务有着明 显的优势, 是对传统电 子商务的有益补充7 刃 。 本文研究和开发了 一个基于jzme平台的移动购书系统, 并对系统的安全性 进行了着重的讨论。 第 1 章引言 1 . 3 主要工作 本文的主要工作包括: 1 、比较分析目 前主流的移动应用开发平台的 特点,说明本文选择jzm e开 发平台的原因,并详细介绍了jzme平台的体系结构和开发方法。 2 、设计并实现移动购书系统,包括服务器端和客户端。客户端是购书请求 的发起者, 服务器端对其请求作出响应,并通过j d b c 接口 访问后端的数据库, 最后将处理结果返回给客户端。 3 、 实现x m l 的 数据交换。 比 较分析 常用x m l 解析器的 特点, 使用pull( 拉 式 ) 的 解析 模型 实 现了x m l 格式的 文 件在jz m e 数 据 传 输中的 应 用。 4 、深入研究移动应用系统的安全性,构建具有较高运行效率的安全解决方 案。 5 、在模拟环境下实验,验证系统及安全方案的可行性以及客户端程序的正 确性。 1 . 4 论文结构和章节安排 本文内 容安排如下。第一章,引言部分,简要说明了本研究工作的相关背 景、研究意义以 及研究的主要内容。第二章,移动应用系统开发的相关技术介 绍,介绍了开发移动应用系统的相关技术,包括nm e 、 j z e e 、x m l和加密技 术。第三章,移动购书系统的总体设计,将系统结构分为服务器端和客户端两 大部分。第四章,移动购书系统的实现,包括服务器端的实现和客户端的实现。 第五章, 移动应用系统的安全性探讨,分析了m idp 的安全模型、h 了 即5 通信 协议、应用层加密技术以及代码混淆器。第六章,总结与展望,总结了论文的 研究成果,并对后续的研究工作做出展望。 第 2 章系统的开发技术介绍 jzm e 辨认不同的设备。 到目前为止, 只有两种配置规范。 通过 j ava 规范定义的这两种配置是二 c l d c (c 冶 n n ected l 加it ed d e v icecogu ra tion) 和 c d qc 劝 n n e c 比 d d evi ce con fi gu r a t io n ) , 它 们 都 定 义了j av a 应 用 程 序 接口 和技 术 。 c ldc和c d c不同的地方就在于它们面向的设备的具体配置不同,与个人 电 脑相比,c l d c针对的设备的处理器能力有限,并且存储器大小往往只有 128 k b 到5 12 k b之间, 与此同时, cd c 系统主要针对配置较高的设备, 这些设 备可能 有 犯 位或 64 位处理器,虽然存储容量可能也很有限,不过一般来说至 少也拥有5 12 k的 存储空间。 另外, 不同 类型的配置的硬件都会使用不同的虚拟 机,因为 配置不同,对虚拟机的性能要求也不相同。目 前, 基于c d c的系统使 用一个功能强劲的虚拟机 c v m,而基于 c l d c系统的使用 k v m 的虚拟机。 c d c 、 c l d c和jzs e的 关系如图2. 3 所示。 c d c和c l d c开发类都使用了 一部分j zse的开发类,并把这些 jz s e的 类进行了 优化,同时还添加了 一部分 针对移动设备而开发的类。 而c l d c则完全是在c d c 开发 类的基础上进行优化 的,没有添加自 身需要的类lsj。 图2. 3 j z s e , c l d c , c d c 三者之间的关系 2 、简表 ( p r o fi l e ) c d c和 c ld c仅仅是 对各类设备中 最具共性的 配置提供了 基本的功能集 合 。 但 是, 实 际 应用 中 , 不 同 的 设 备 之 前 存 在 着 很大 的 差 异。 因 此, 在( 劝 n fi gu r ati on 的基础上,又定义了p r o fi le的概念. 简表为消费相同电 子设备的不同生 产商提供了 标准化的j av a 类库。同一类 设备中的所有设备都必须实 现 p ro fil e 所定义的特征, 并且设备上的程序只使用 这个特定 p r o fi le所提供的功能。这样通过这个 p r o fi le就可以方便地在同一类设 备 之间进行移植。 新的 设备只要支持 这个p r o fi le就可以直接使用基于 这个p r o fi le 之上的所有应用。 第 2 章系统的开发技术介绍 配置和简表的体系结构如图2. 4 所示, jzm e的 体系结构被横向地分成三层, 纵向分成两部分。配置 包括一个控制配置核心类的虚拟机,具体的 简表位于每 个配置之上。ts 弘 , n . 喊 昭1 . d ce ” c 吧 薰 赢 鑫 氨 歉蘸鲡1 1 蘸瘾瘫凑 器黔篡猛 一 盯 释 、一之 蝉哪馥 夔 紫擎 枷 c- 嘟勘颧锄1 缨 ! 二一二 二 二. 图2 .4 配置和简表的体系结构 最重要的p ro fi l e 是m i d p( mobi l e ln fo rma t i ond e v i eep ro fi l e ) , 它是第一个 制订完成p r o fi l 。 , 也是第一个可供使用的jz me 应用 程序 运行环境。 midp 定义 了能在j av a 手机上运行的j ava 程序的规范,包括应用程序生命周期,各种 u l 界面组件,支持r e co rd存储和http连接等等, m mp 的最新版本是m idpz.0, 目 前新款式的手机基本都支持这个版本, 它应该是未来一段时间的主 流。llatle 3 、可选包( o p l i o n alp a cka g e ) 除了 配置和简表之外,在 jz me规范之中还定义了 厂商选择 性实现 ( 可选 包) 。可选包是指架设于简表之上,扩展了简表的一套 ap l ,不局限于单个设备 类别或设备家族的通用 程序库, 例如: 一套用于 地理定 位的 a 卫 1 可能适用于多 个类别的设备,技术上也不会局限于单个简表. 可选包是简表演化过程中的重 要角色, 在为新 技术和新特性开发a p i 的时候,这些新的a p i 在开始的时 候就 会作为可选包出 现。而当这些 a p i 成熟的时 候,就会 被集成进简表。 在程序开 发中,程序员也可根据厂商 提供的这些可选包开发出 具有特别响 应功能的 应用 程序。 7 , 4 、k v m简介 k v m是幻l obyte劝rt u alm achinc ( 千字节虚拟机) , 这样命名 是因为 它的内 存大小是以千字节来量度, 而不是像 j av a 虚拟机那样需要兆字节。因为有这么 苛刻的内存要求,k v m的 功能只是完整j v m的的子集。 为了满足基于 k v m 的设备一般只有狭小的内存空间和有限的处理能力的 事实,k v m使用c编写。此外, k v m是模块化的, 也就是说,它是由模块构 建的,当某个模块实 现了预先设定的目 标后, 就可以很 容易地把这一模块卸载。 第 2 章系统的开发技术介绍 可 选的 模 块 包 括 : 大 的 数 据 类 型 ( lo ng、 fi oa t 和d o u b le) , 多 维 数 组、 类文 件验 证 等。 , 川 2. 2. zcl d c c l d c 是本课题研究的 主要配置, 它提 供了一个适合于小型的、资源有限、 连接受限 的设备上使用的标准 j ava 平台, 其设计目 标是定义一个标准的,占 用 内 存极少的平台 来满足资源很少的那些设备的要 求。 c l d c允许动态的向这些设 备发布内容与应用程序,来方便第三方软件厂商与开发者向这些设备移植内 容 与应用程序。18 c l d c的硬件参数 如下: ( 1 ) s l z k b以 下内 存 ( 劝 有限能源供应 ( 通常使用电池) 口 ) 有限或非持续网络连接 () 简 单 的 用 户 界 面 (5 ) 16位或者32位的处理器l3 c l d c类包含了一套标准的函数集合, 但是正如上面所显示的,由于工作的 设备性能受到很大的限制,因此相比jzs e , c l d c舍弃了许多重要的类和特征, 只保留了最核心的类,主要由 三个包组成: (l)j av a.l all s(jav a 编 程 语 言的 基 本 类 ) (z)j av a.util 滓合 、日 期 和 时间 支持 、 各 式 实 用 工 具 类 ) (3)j av a. io(基 本 输 入 输出 ) 此 外, c l d c增 添了 一 个新 的 包 av ax .m icr o e d iti on, 该包 包 含了 一 些 管 理 midlet 程序 生 命周 期 的 类, 并 且定 义了 一 个 通用 连 接框 架 (genenccoim ection f r a m e w o r k ,g c 玲. 通用连接框架把j zse中的文 件、 歇 犯 k e ts 、 h , t p 请求和 其 他输 入 输出 机 制的 概 念 抽 象 为 更简 单的 一 套 类。 可以 说, 它 提 供了 与jav a. fo和 j av a. nct 的同 样功能, 却不需要设备的特殊能力。 2. 2. 3mi dp m idp 是位于c l d c 上层的p r o fi l e , 是目 前jz m e 平台中 发展相对最成熟 最 广为人知的 p ro fil 。 , 如同 m idp的名字所描述的,其针对的是移动信息设备 ( mobile l n fo rmation d cvi ce) ,这类设备通常指手机或是p d a ,它们在屏幕、内 第 2 章系统的开发技术介绍 存、处理器等硬件特性上有诸多限制。 1 、midp体系结构。 j z me的 c l d c / mi d p的软件体系架构如图2. 5 所示: mi dp cl dc 设备的操作系统 图2. s midp 体系结构 在m i d p 的上层的应 用程序被称为m idlet, 这些m idlet在底层c l d c的 支 持下,通过midp中 提供的包获得更多的功能。m idlet可以直接使用midp 本 身提供的类库以 及 m idp 从 c l d c中继承的那部 分 a p i 。 mi dlet本身并不能直 接访问其底层设备的操作系统并且也不可能做到这一点,除非你的版本是移植 到 特定设备平台 上的 。 o e m( o ri gi n ale q ui p m ent m anu fa c t u rer) 特有的应用程序 可以通过某设备厂商提供的专用的类库来获得更多额外的 功能,例如 m ot o ro la 和 si em ans ,其无线开发包中都有其附加的库,以提供其设备特有的一些功能, 其中有些可能访问了底层设备的操作系统. 2 、m idp 应用程序开发 midlet 是一个可以执行的 jzm e/m idp应用程序的 基本单位。除了 继承自 j av ax.m i cr o ed iti on.m1血l m idlet之外, 还包括让此类别 可以顺利 执行的所有其它 类 别 和 资源 所 构 成 的集 合 , 所 以一 般 又称 为 mid城 应 用 程序 (midl e t a p p l i cati o n)o 一个完整的m idp 应用程序是由 一个j a d文件阵 文字文件) 与j a r 口 八 v a 压 缩格 式文件) 所 组成. j a d用来描述一个m i dletsuite和midlet的 关系,以 及该 mid letsuite内 含的m idlet相关 信息( 类别 名称、 图 标、 程序名) 的外部档案( 不在 j ar 档内 部) 。 j ar 文 件包含m i dlet以 及其它相关的d as s 文件、 m idlct执行时 所需 要的文件 ( 如图片、 文本 文件等) 资源、 清单文件( m anifestfi le)。 其中清单文 件用来描述一个midp 应用程序的基本信息, 包括m idletsuite相关 信息 类名 称、 图标、 程序名 ) , 或mid lets uite 整体信息( 名称、版本、 作者 等) , 是一个内 第2章系统的开发技术介绍 部文件。 3 、mi d l e t 的生命周期 m idl et是被a m s( apnlication m ana ge m ent s o ftw are ) 管理的。 a m s负责 midlet 的安装、下载、运行和删除等操作。在被 ams管理的同时,midlet 可 以 和应用管理软件通信, 通知应用管理软件自己 状态的变化,通常是 通过方法 加 ti fy dest ro ye d o 和no 峋p ause do实 现的 。 m i dl et有三 个 状 态, 分别 是p au s e 、 active 和ds s troy ed. 在 启 动 一 个m id let的 时 候, 应用 管 理 软 件 会首 先 创 建 一 个 m idlet实 例 并使 得 他 处 于p au 哭状 态, 当s ta rt a p p()方 法 被 调 用的 时 候m i dl et 进 入activ 。 状 态, 也 就 是 所 说的 运 行 状 态。 在碱iv e 状 态调 用d es troy app (b oo le an unco n d itio n al ) 或 者p au s e a p p o 方 法 可以 使 得m lo l e t 进 入d e s troy “或 者p au s e 状 态。 图2. 6 说明 了m id let 状态 改 变 情况 。 15. ,刚 图 2 石 m】 d le t 状态图 2 . 2 . 4 j z m e 的 平台 无关性 移动设备市场的繁荣发展造成了五花八门的厂商与品种异常广泛的设备, 其开发平台和操作系统的种类也越来越多, 面对纷繁复杂的平台,程序设计人 员往往需 要花费大量的精力来熟悉它们,这无疑会增加开发成本,延长开发周 期。【 。 : j z m e的平台无关性恰好解决了 这个问 题。由于j av a 平台的基础是j ava 虚 拟机, 一切皆构建于虚拟机之上, 不同的操作系统,只要支撑其的是 满足同 样 的规范和标准的虚拟机, 对于虚拟机以 上的层次是平台无关的。从这个角度来 说, 在 某 一c o n fi gu la tion或p ro fil e 上开 发的 应 用可以 在实 现了 同 一伪fi gura t io n 或 p r o file 的系统平台上运行。 jzm e 平台作为j a v a 平台的一部分, 也 具有 “ 丽 teon邝, ru n anywh ere “ 的 特 第 2 章系统的开发技术介绍 性, 即 真正的程序只需写一次就可以 在任何支持jz m e的 平台上运行。 利用jz m e 的平台无关性或者说是跨平台 性,程序设计师可以把更多的时间 和精力用于提 高 程序的效能。 川 2 . 2 . s j z m e 工业标准 由 于c l d c + midp 的配合 提供的a p i 有限, 所以 各个厂商就开发了自 己 设 备独有的 a p i ,同时为了针对各个设备不同的功能特性,jzme中提出了可选包 的概念,比 如 blu et ooth , pim等。 这造成了 可移植性降 低,开发难度加大的 后 果。 在jz me 开发过程中经常会遇到这样的情况, 一个已 经开发好的 可以 在一 个 品牌的手机上运行的程序在另一个品牌的手机上却不能正常运行,必须经过部 分代码的修改 才能使用。 这 种情况的出 现, 显然违背了j ava 平台 的 “ 编写一次, 到处运行” 的初衷。并且由于设备没有一个统一的 标准的软件运行环境,导 致 了 a p i的分裂。开发者在针对某些机型进行开发之前还必须要查询这个设备到 底支持什么功能,有哪些是标准的 a p i , 哪些是可选包和厂商提供的a p i 。这无 疑 给 开 发 带 来 t 不 便: j a v a te c h n o 1o g y fo r wire l e s s in du s tr y (j s r 一 1 8 5 ) 出 现 的目 的 则是为了解决如上问题,j l , wl 并没有提出新的技术,也没有提供新的 a p i ,只 是对jzm e 的运行环境作了规范, 提供了 一个标准的更加严格的 运行环境, 这有 效的减小了a p i 的分裂并 提高了程序的可移植性。 举 例 来 说, 以 前 如 果 开 发 人员 需 要 在j zm e 程 序 里 调 用 手 机的 短 信 (s m s ) 功 能, 往往需要使用该 手机提供的 专有的a p i 。 实际 上, 如 今标准的做法应该是调 用 手 机 实 现 的w 众 d es s m cs s agingapi (wm a ) . 所以 在j t w l 中 , 将 会 要 求 开 发 人员使用wm a ,而不是专有的a p i 。 毫无疑问, j t wi 的推出, 将督促各个制造商为开发者和用户提供标准化的 c l d c 和m i d p 实现,以 克服目 前jz me 应用 程序的不足, 会进一步加强它们的 可用性,从而促进其更大程度地在用户中的普及。 2 . 3 j z e e 技术 j ze e 是 s unm icros ys te m s 定 义 的 一 个 开 发 分 布 式 企 业 级 应 用的 规 范, 以 其 可 扩展 性、灵 活性己 经成为 移动应用系统服务端事实上的开发标准。 它提供了一 个多层次的分布式应用模型和一系列开发技术规范。多层次分布式应用模型是 根据功能把应用逻辑分成多个层次, 每个层次支持相应的 服务器和组件,组件 第 2 章系统的开发技术介绍 在分布式服务 器的 组 件容器中 运行( 如serv let组件在s ervlet容器上运行) , 容器间 通过相关的协议进行通讯,实现组件间的相互调用。开发者遵守该规范,将使 企业级应用的开发变得简单、快速,并且得到行业的广泛支持。 j z e e 规范定义了以 下四个层次: ( 1)客 户 端层: 用 来实 现企 业 级 应用系 统的 操作 界 面 和显 示 层。 某些 客户 端 程序也可实现业务逻辑,可分为基于v 叱 b 的和非基于v 几 b 的客户端两种情况: 基于m 七 b 的情况下主要作为企业节 触 b 服务器的浏览器, 非基于v 倪 b 的客户层财 是独立的应用程序,可以完成瘦客户机无法完成的任务。 (z) 节 /e b 层: 为 企 业 提 供节 几 b 服务。 包括 企 业信 息发 布 等。 v /e b 层由, 阳 b 组件组成。 jze ev 介 b组件包括 jsp页面和 servlet 。 v 几 b层也可以包括一些 j avabe an。 v 几 b 层主要用来处理客户请求, 调用相应的逻辑块,并把结果以动态 网页的形式返回到客户端。 (3 ) 业务 层: 也 称为 应 用层, 它由ejb服 务 器 和ejb组 件组 成。 一 般 情况 下许多开发商把m 叱 b 服务器和ejb服务器产品结合在一起发布。ejb层用来实 现企业级信息系统的业务逻辑, 这是企业级应用的核心,由运行在业务层中的 ejb来处理。 一个曰b从客户端接收数据并处理,然后把数据送到企业信息系 统层存储起来。同样,一个 ejb也可以从企业信息系统取出数据,发送到客户 端程序。业务层中的ejb要运行在容器中,容器解决了底层的问题,如事务处 理、生命周期、状态管理、多线程安全管理、资源池等。 (4) 企 业 信息 系 统 层: 处理 企业 系统 软 件, 包 括企 业 基 础系统、 数 据 库系统 及其他遗留系统。 其中, 业务层和v 几 b 层共同组成了 三层jzee 应用的中间层, 其他两层是客 户端层和企业信息系统层。 本文使用jzee 作为服务端应用程序的开发平台, 涉 及的j z ee 的主要技术 有s ervl et , j ava b e an和j d b c 。22 , 2 . 3 . i s e r v l e t s e rv le t 是一种运行在支持j ava 语言的服务器上的组件, 它与普通j ava 类的 区别就是它运行在服务器上。 使用s ervle t 可以很轻松地扩展j ava 网络服务器的 功能,为网络客户提供安全可靠的、易于移植的动态网 页。由于j ava 语言本身 的平台无关性, 加之s e rv l ct运行在服务器端, 所以s ervlet的运行对用户是完全 透明的。【幼 第2 章系统的开发技术介绍 j av a serv let运行于j av 一 nabl 比web服务器中, 可以 被看做是运行在请求 或面向 请求服务 器 上的 模 块。 j av a s e rv l e t 能 够 像c g i( com m o n g at e w a y in t e ri 、 ce ) 脚本一样动态地扩展we b 服务器的功能, 并采用请求响应模式提供web服 务。serv let 和c g i 一样都是运行在web服务器上,可以用来生成web页面。 serv let 对c 0 1 的最主要优势在于: 一个serv let被客户端发送的第一个请求 激活,然后它将继续运行于后台,等待以后的请求。每个请求将生成一个新的 线程,而不是一个完整的进程。多个客户能够在同一个进程中同时得到服务。 一般来说, s ervlet进程只是在webserv e : 卸载时被卸载。 因此s ervlet 比传统的 c gi技术的效率更高。闭 在编写 s e rv let 时需要用到 jsd k 中的两个软件包: j a vax .s ervle t 和 j a v ax.s e rv l e t h t t p , 通常s e rv l e t 都是通过使用h tt p s e rv l e t 执行接口 来开 发的, 该 接口 包含了i n it o 、 serv i“ 0 、 d e s troy o 等方法. 1 、 i n i t o 方法 在 sery et 的 生 命期中, 仅执行一次inito方法。 它是 在服务器装入 s e rv l et 时执行的。可以配置服务器,让服务器启动时或客户机首次访问serv let 时装入 s e rv le t , 无论有多 少 客 户 机 访问s e rv l e t , 都 不 会重复 执 行i n i t o 。 2 、 s e rv iceo 方 法 s crvic e o 方法是s crvlet 的 核 心. 每当 客 户 请求 一 个ht tp se rv lct对象时, 该 对象的 se rv iceo 方法就要被调用,而且传递给这个方法一个 “ 请求” ( s e rv l e t r e 甲e s t ) 对 象 和一 个“ 响 应”( s crvl ctre s 囚 n s e ) 对象 作为 参数0 3 、 dest ro yo方法 des打 0 y 0 方 法 仅 执 行 一 次 , 即 在 服 务 器 停 止 且 卸 装s ervlet 时 执 行 该 方 法. 切 serv let为客户端提供服务的过程如图2. 7 所示, s ervlet的生命周期可以归纳 为以下几个阶段: ( 1) 装载 serv let。这项操作一般是动态执行的。 有些服务器提供了相应的 管理功能,可以在启动的时候就装载serv lct并能够初始化特定的s ervlet。 (2 )创建一个s ervlet实例。 ( 3 )调用s e rv l et的in i t o 方法。 (4 )服务:如果容器接收到对此s ervlet 的请求, 那么它调用s ervlet 的 s e rv i ce o 方 法。 ( 5) 销毁:当服务器不再需要 s e rv l d时或者当服务器关闭的时候,服务器 第 2 章系统的开发技术介绍 将会调用s e rv l e t 的d e s t ro y o 方法 诸求 内甲-日门川川日 区 三 叭 分 .,:印 图2 . 7 s etvlet对客户端提供服务的过程 2 . 3 . zj a v a b e a n j ava b e a n 是j ava 的一种可重用组件技术,它提供了一种机制,可以将应用 程序
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025湖南衡阳市南华大学附属南华医院非事业编制公开招聘62人考前自测高频考点模拟试题及答案详解(易错题)
- 2025年新能源行业绿色供应链管理实践与挑战报告
- 2025年中共南平市委党校紧缺急需专业教师招聘考前自测高频考点模拟试题及答案详解(历年真题)
- 2025-2030工业软件云化转型过程中的数据安全保护方案研究报告
- 2025-2030工业软件云化转型趋势与制造业数字化转型解决方案报告
- 2025-2030工业级无人机在巡检领域的市场渗透策略研究
- 2025-2030工业级3D打印金属材料性能比较与航空航天订单预测报告
- 2025-2030工业物联网技术应用市场发展前景分析与未来投资机会咨询研究报告
- 2025国家农业农村部食物与营养发展研究所综合办公室助理招聘4人模拟试卷及答案详解(名校卷)
- 医用氧年度试题及答案
- 辽宁省沈阳市杏坛中学2024-2025学年度上学期九年级10月份月考数学试卷
- 北京市西城区北京市第四中学2024-2025学年七年级上学期分班考数学试卷
- 【尿素生产中的热量衡算2400字】
- 按期支付进度款的催告函(过程进度款到期前提示支付)(联系单)
- 供应链管理综合实验实验报告
- (正式版)JBT 5300-2024 工业用阀门材料 选用指南
- 2024量子人工智能技术白皮书-量子信息网络产业联盟-2024.1
- 公务员考试培训-判断推理通关秘籍
- 第13课《警惕可怕的狂犬病》 课件
- 《C++语言基础》全套课件(完整版)
- HSK标准教程5下-课件-L2
评论
0/150
提交评论