(计算机系统结构专业论文)基于java的企业移动计算的研究.pdf_第1页
(计算机系统结构专业论文)基于java的企业移动计算的研究.pdf_第2页
(计算机系统结构专业论文)基于java的企业移动计算的研究.pdf_第3页
(计算机系统结构专业论文)基于java的企业移动计算的研究.pdf_第4页
(计算机系统结构专业论文)基于java的企业移动计算的研究.pdf_第5页
已阅读5页,还剩67页未读 继续免费阅读

(计算机系统结构专业论文)基于java的企业移动计算的研究.pdf.pdf 免费下载

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

摘要 随着网络技术的迅速发展及其对日常生活的不断渗透,在任何时候、任何 地点都能接入信息网获取所需的信息将成为2 l 世纪新型人类的普遍需求。在这 种需求的推动下,新一代信息系统也必将具备如上所述的显著特征。移动计算 技术正是保障使这种需求得以实现的关键性技术。我国的企业信息化建设从七 十年代开始起步,于九十年代中、后期开始进入一个快速发展的阶段。在进入 2 1 世纪后,企业应用的移动化逐渐成为关注的焦点,也成为一些企业对自己企 业应用的期望目标。如何实现符合中国国情的企业移动应用越来越受到人们的 关注。 本文在讨论分析了目前移动设备的硬件能力和移动计算的主要技术后,采 用了其中的一种技术一- - j a v a 技术来实现一个较为完整的企业应用模型,并对 该模型进行了分析和评价。文章着重于企业移动计算的实现,主要进行了以下 工作: 首先,实现了最基本的企! i e 应用模型结构。在文章中通过分析现有的主流 企业应用模型和当前移动设备的处理能力,提出了一个同时适用于支持固定应 用和移动应用的企业应用结构,以及一个适用于传输结构复杂的数据信息的数 据方式,从而从基础上保证了企业移动计算实现的可能性。 其次,在移动设备和服务器间的无状态连接上实现移动应用中的会话管理。 论文在分析了现有的会话机制后,提出了一个自定义的会话管理机制来满足企 业移动计算的要求,使移动应用和服务器问的会话可以保持状态,从而保证了 移动交互应用在多变复杂的移动环境中的可持续性。 最后,文章对实现的模型从多个方面进行了评估,指出了在目前条件下企 业移动计算可以实现的程度,为企业移动计算的实施提供了理论参考;同时也 提出了一些尚待继续研究的问题,如企业移动计算中对复杂数据类型的支持、 大规模数据的处理以及企业移动计算的传输安全等问题。 随着信息产业竞争的日趋激烈,移动通信技术将加速发展,智能化终端产 品将不断涌现,移动计算硬件平台的技术将不断改进,而价格则会不断下降, 企业刘+ 移动计算的需求将会稳步增长。企业移动计算一定会成为企业信息管理 的重要方向。 关键词: 移动计算,j 2 e e ,j 2 m e ,m i d i ,x m l ,x m l 解析,会话 a b s t r a c t w i t ht h er a p i dd e v e l o p m e n to fn e t w o r k t e c h n o l o g ya n d i t sc o n t i n u o u si n f l u e n c e o no u rd a i l yl i f e ,p e r v a s i v ea c c e s st ou p t o d a t ei n f o r m a t i o nf r o ma n yc o m e ro ft h e w o r l da ta n yt i m eh a sb e c o m ea g e n e r a lr e q u i r e m e n t t ot h ep e o p l eo ft h e21t hc e n t u r y m o b i l ec o m p u t i n gi st h ek e yt e c h n o l o g yt h a te n s u r e st h es a t i s f a c t i o no fs u c hu r g e n t d e m a n d s i ti sk n o w nt h a tt h ei n f o r m a t i o n a l i z a t i o np r o c e s so fe n t e r p r i s e si nc h i n a , w h i c hb e g a ni nt h el a t e7 0 t ha n dw a sk e e p i n gi np r o g r e s st h r o u g h o u tt h e8 0 t ha n d 9 0 t h ,i sn o wd e v e l o p i n g w i t hb o u n c ea n dl e a p t h e r e f o r e ,t h em o b i l i z a t i o no f e n t e r p r i s ea p p l i c a t i o n s h a sl i t t l eb yl i t t l eb e c o m et h ef o c u so fo u rs o c i e t y a f t e rab r i e fd i s c u s s i o na b o u tt h eh a r d w a r ec a p a b i l i t yo fc u r r e n tm o b i l ed e v i c e s a n dt h em a i nt e c h n o l o g i e so fm o b i l ec o m p u t i n gu s e dt h e s ed a y s ,t h i sp a p e rh a s p r o v i d e d as i m p l e i m p l e m e n t a t i o n o f i n t e g r a t e d m o d e lf o r p r a c t i c a le n t e r p r i s e a p p l i c a t i o n su s i n gj a v at e c h n o l o g y a tt h ee n do ft h i sp a p e r ,t h ea u t h o rh a s a l s o p r o v i d e dab r i e fa s s e s s m e n tt ot h i ss i m p l em o d e l t h em a i nw o r k o ft h i sr e s e a r c hi s 1 i s t e db e l o w : f i r s t ,t h e a u t h o rh a s i m p l e m e n t e d ab a s i cm o d e la r c h i t u r ef o r e n t e r p r i s e a p p l i c a t i o n s b ya n a l y z i n gt h em a i nb u s i n e s sa p p l i c a t i o nm o d e l sw h i c h a r ec u r r e n t l y a v a i a b l ea n dt h ep r o c e s s i n gc a p a b i l i t yo fp r e s e n tm o b i l ed e v i c e s ,t h ea u t h o rh a s b r o u g h t o u tan e wm o d e lo fe n t e r p r i s ea p p l i c a t i o na n da p r o p e rw a y f o rc o m p l i c a t e d a t at r a n s m i s s i o n t h e n ,t h ea u t h o rh a sp u tf o r w a r da s e l f - d e f i n e ds e s s i o nm a n a g e m e n tm o d e lf o r e n t e r p r i s e l e v e l m o b i l ec o m p u t i n g ,w h i c hh e l p st o k e e p t h es t a t u si n f o r m a t i o n b e t w e e nt h es e r v e rs i d ea n dt h em o b i l ec l i e n t t h el a s tb u tn o tl e a s t ,t h ea u t h o rh a sp r o v i d e dh i sa n a l y s i sa n de v a l u a t i o nf o r t h em o d e lp r o v i d e da b o v ef r o ms e v e r a ld i f f e r e n ta s p e c t s ,w h i c hc o u l dg i v es o m e v a l u a b l er e f e r e n c et ot h ep r a c t i c a li m p l e m e n t a t i o no fm o b i l ee n t e r p r i s ea p p l i c a t i o n s a tt h ee n do ft h i sp a p e r , s o m eu n r e s o l v e dp r o b l e m sw a sl i s t e df o rf u t u r er e s e a r c h , s u c ha ss u p p o r tt oc o m p l i c a t e dd a t at y p e si nd a t at r a n s m i s s i o n ,p r o b l e m sr e l a t e dt o l a r g e s c a l ed a t ap r o c e s s i n g ,e t c k e y w o r d s : m o b i l ec o m p u t i n g ,j 2 e e ,j 2 m e ,m i d p , x m l ,x m lp a r s i n g ,s e s s i o n 幕于j a v a 的企业移动计算的硼f 究第一章背景介绍 第一章背景介绍 1 。1 曲折发展的移动计算 移动计算是目前的一种新兴技术,它保证了便携式计算机或其他移动信息 设备在没有与固定的物理连接设备相连盼腾况下,仍然能够完成数据的传输, 进行通信。移动计算最重要的作用,在于为中央信息系统及时获取准确、有价 值的信息并与这些信息产生互动提供了保障,从而在分担中央信息系统的计算 压力的同时,保证有价值的信息能够准确、及时地提供给任何时间、任何地点 需要它的任何用户。 随着网络技术的迅速发展及其对日常生活的不断渗透,在任何时候、任何 地点都能接入信息网以获取所需的信息必将成为2 1 世纪人类的普遍需求,并 在这种需求的推动下成为新的信息系统的最显著特征之一。移动计算技术的产 生,正是为了保障这种需求能够顺利地得以满足。 随着信息产业竞争的目趋激烈,移动通信技术的加速发展和智能化终端产 品的不断涌现将成为不远的将来不可避免的趋势。与此同时,移动计算硬件平 台技术日新月异的进步必然会导致移动产品价格的不断下降,并进一步导致企 业对移动计算需求的稳步增长。一个无缝覆盖的数字化的地球正随着移动计算 的发展步一步向我们走近。在这一崭新的移动世界里,一切都显得那么诱人。 然而,在移动计算的发展也经历过个低潮期。蹩脚的w a p 技术,高昂的 使用成本,比拨号上网还慢的速度,以及明显缺乏的应用,曾度让人们怀疑 移动服务的真正价值,企业移动计算似乎也成了一个可望而不可及的美丽的肥 皂泡。但随着时间的推移,移动应用的前景最终被证明是不可忽视的,世界各 大硬件和软件厂商仍然不断在这一领域投入的大量资金和精力就是最好的证 明。i n t e l 最新推出的“迅驰”技术,s y b a s e 公司开发的s q la n y w h e r e 服务等都不约而同地把重心都放在了“移动”上面;而移动j a v a 技术的出现, 更是为目前移动计算的发展注入了一剂强心针,这一技术的不断成熟证印证了 新一轮移动计算发展的高潮将不日来临。 1 2 新技术,新前景 移动计算,顾名思义,计算是根本,而移动是其形式。要在现实领域真正 实现“移动”的“计算”,仅仅能够简单地做到在移动设备小巧的显示屏上浏览 第1 页 基于j a v a 的企业移动计算的可究第一章背景介绍 数据是远远不够的,更重要的是要能够通过移动设备和协议来实现高级的交互 式的应用。早期移动技术的最大缺陷,恰恰在于无法很好地做到这一点。随着 近年来无线i n t e r n e t 领域爆炸式的发展。人们已经越来越依赖于通过移动无 线设备从i n t e r n e t 上获取信息。在这一强大需求的推动下,通信网络、设备 和服务都在经历一个从有线到无线的转变,3 g 宽带无线网络技术也被推上了面 向日常应用的议事日程表:这一切都为移动计算的再次苏醒提供了坚实的基础。 许多新的移动技术在此背景下也不断涌现出来,其中最为人瞩目的当首推 m i c r o s o f t 一力推广的n e t 技术和以s u n 公司为首的多家公司联合推广的移 动j a v a 技术。下面笔者将简单介绍一下这两种技术的发展情况和相关背景知 识。 1 2 。1 n e t 的发展 m i c r o s o f t n e t 可以理解为m i c r o s o f tx m lw e bs e r v i c e s 的 平台。x m lw e bs e r v i c e 服务允许应用程序通过i n t e r n e t 进行通讯和共 享数据,而不管进行通信的各方是所采用的是何种操作系统和硬件设备,以及 该通信应用是采用何种编程语言构筑实现的。m i c r o s o f t n e t 平台了提供 创建x m lw e bs e r v i c e 中各类服务以及将这些服务集成在一起之所需的全 部技术,对个人用户来说,这一技术无疑为前所未有的诱人的无缝衔接的网络 互操作体验提供了保障。总的说来,m i c r o s o f t n e t 技术主要由以下几部 分组成: 一个用来建立n e t 体验的软件平台 一个编程模型和一些工具,用来建立和集成x m lw e b 服务 一套可编程x m lw e b 服务 一种可让用户通过w e b 与范围广泛的智能设备进行交互的方法,可保 证让用户而非应用程序来控制交互过程 一种可向用户提供个性化、简单、一致而且安全的应用程序、服务和 设备的方法 在基于n e t 技术构建的的w e b 服务世界中,用户不但可以使用固定设备 获取服务,更重要的就在于可以使用如手机、掌上电脑等移动设备来获取它提 供的各种服务。这些服务在后端运行,与n e te n t e r p r i s e 产品的服务器相 连,如n e te n t e r p r i s es e r v e r 。 在对移动计算的支持方面,n e te n t e r p r i s es e r v e r 包含有m o b i l e 第2 页 基于j a v a 的企业移动计算的研究 第一章背景介绍 i n f o r m a t i o ns e r y e r ,它可以为移动用户提供实时访问。o u t l o o k 用户现 在可以在旅途中使用他们的p o c k e tp c 来访问其所有o u t l o o k 数据。 但是,上面介绍的全部产品都是针对在w i n d o w s2 0 0 0 上运行来建立和 设计的,它们都依赖于操作系统所提供的基本服务。不论是服务器端还是移动 设备端,你都必须使用由m i c r o s o f t 公司提供的系统产品。因此,如果你不 喜欢使用m i c r o s o f t 的产品系列,或者目前你的现有系统并不是w i n d o w s 系列系统时,n e t 所提供的各种功能你是无法享受的。 1 2 2j a v a 的蓬勃发展 j a v a 语言的最初目的是用于消费类产品,如交互电视。然而,随着时间 的流逝,j a v a 平台逐渐演变为特别适合桌面和企业计算的要求。在企业级应 用的要求演进下,j a v a 愈加庞大,而且越来越不适合于那些资源受限的小巧 的设备来使用。 然而,j a v a 语言本身却表现为非常适合进行移动设备的应用开发,因为 j a v a 平台提供了以下有益的特点: 动态内容传输:新的应用、服务和内容可以通过不同类型的网络动态下 载 _ 安全:类文件校验、明确定义的应用程序编程接口和安全组件确保了第 三方应用程序的行为是可靠的,不会对设备和网络造成损害 平台的兼容性:标准化语言组件和库意味着由于支持j 2 m e 配置和描述 所带来的约束使应用和内容可以在不同的设备间灵活的传输 _ 增强的用户经验和内容交互:为无线j a v a 技术定义的标准支持非常复 杂的用户交互已经对于小型设备强制性图形处理能力的要求 离线获取:不用激活网络链接,应用就可以被使用。这种特点降低了传 输费用,减轻了可能的网络故障带来的影响 _ 功能强大的面向对象的编程语言:j a v a 相对于当前用于无线软件开发 的编程语言来说具有更加完善的抽象机制和更高级的程序构造,这使得 应用丌发更加有效 同时,估计目前全球有超过2 5 0 万j a v a 软件开发者。j a v a 也迅速成为 学院和大学里用于教学的最流行的编程语言。j a v a 的开发资源显然是相当丰 富的。 因此,l9 9 8 年1 月,s u nm i c r o s y s t e m s 实验室启动了s p o t l e s s 项 舟,专门用来研究如何将j a v a 语言应用到资源相当受限的设备上去。该项目 第3 页 基于j a v a 的企业移动计算的研究第一章背景介绍 的研究目的就是建立一个具有小尺寸、可移植性、易用并且具有良好源代码可 读性的j a v a 运行环境,并在m o t o r o l a 等公司的帮助下将该研究项目最终变 成一个产品,这就是现在的k v m ( k b y t ev i r t u a lm a c h i n e ) 。 在k v m 出现后,m o t o r o l a 、n o k i a 、n t td o c o m o 、p a i mc o m p u t i n g 、 s i e m e n s 等许多设备制造商都迅速加入到k v m 的开发阵营中。为了确保来自 不同制造商的设备间的互操作性,j c p ( j a v ac o m m u n i t yp r o c e s s ) 在1 9 9 9 年秋季发布了两个标准化成果,这就是j 2 m e 的基础。目前,已经有许多支持 j 2 m e 标准的移动设备被生产出来,大大的推动了移动计算的发展。 1 3 研究目的 大致说来,我国的企业信息化建设从七十年代开始起步,经过了八十年代 和九十年代初期这十多年漫长的准备和钠垫工作,终于在九十年代中、后期进 入了快速发展阶段。经过这些年的发展,很多企业的思想已经转变过来,认识 到信息化的重要性,对信息服务的投入开始有一定的认可。7 0 年代末到80 年 代中期许多企业都建立了诸如人事、工资、库存、销售、生产调度、计划等管 理子系统。8 0 年代中后期尤其是进入9 0 年代以后,随着系统集成和网络技术 的发展,国内一些大中型企业纷纷把过去独立存在的子系统集成起来,形成统 一的管理信息系统,较好地解决了信息“孤岛”问题。 近几年来,i n t e r n e t 技术的飞速发展和迅速普及,使企业i n t r a n e t 和 e x t r a n e t 的建设得到迅猛发展。我国企业的i n t r a n e t e x t r a n e t 应用在 近两年也表现出了良好的发展势头,不仅一些大型企业正在对原有信息系统进 行基于i n t e r n e t 技术的改造或组织建设自己的i n t r a n e t e x t r a n e t ,许 多中小企业在这方面的表现也很让人欣慰。企业的信息管理也进入了 “i n t e r n e t 时代”。 纵观国内信息化建设的发展过程,企业对信息化建设的投资始终十分谨慎。 很多企业都希望在尽可能少投资的情况下获得他们所需要的效果。因此,大型 软件厂商的产品虽然有很好的解决方案,却常常不能获得市场。在进入2 1 世 纪后,企业应用的移动化也逐渐被关注,也成为一些企业对自己企业应用的期 望目标。同样鉴于有限的投资等因素,了解如何在现有的企业应用上进行相应 的改造,使之可以实现移动应用,是具有一定的实际意义的,这也正是本文的 研究目的所在。 由于目前主要的移动智能设备都支持j a v a 技术,而且我国的企业信息系 统平台也不是单一的w i n d o w s 系列产品,因此,使用单一系列操作系统的n e t 技术并不是本次研究的首选。本次研究将主要使用j a v a 技术来实现。 第4 页 基于j a v a 的企业移动计算的研究第二章j 2 m e 第二章j 2 m e ( j a v a2p l a t f o r m m i c r o e d i t i o n ) 2 1 什么是j 2 m e s u n 公司为了开发新的j a v a 应用,提高j a v a 的竞争力,推出了最新的 j a v a 版本一一j a v a 2 。j a v a 2 平台共分为s t a n d a r d 、e n t e r p r i s e 和m i c r o 三种版本,其中的m i c r o 版本就是所谓的j 2 m e 。 与j 2 e e 一面世就引起开发界的广泛关注不同,作为j 2 s e ( j a v a2 s t a n d a r de d i t i o n ) 和j 2 e e ( j a v a2 e n t e r p r i s ee d i t i o n ) 的同族 兄弟,在刚刚推出的时候,j 2 m e 并没有马上引起当时各开发团体的兴趣。然 而,在随后的一段时间里,开发者逐渐意识到运行j a v a 的小型组件同样具有 很高的价值,j 2 m e 也因此开始渐渐成为开发界关注的对象。 图2 一1 j a v a 2 平台结构 图2 1 列举了j a v a 2 的全部版本,从左侧最高端的平台一直到右侧最低 第5 页 基于j a v a 的企业移动计算的研究第二章j 2 m e 端的平台,基本体现了目前j a v a 2 所关注的5 个目标市场:服务器和企业级计 算机由j a v a 2 企业版支持;桌面和个人计算机由j a v a 2 标准版支持;而j 2 m e 则被分为两大类别,分别对应于高端和低端的消费类设备或嵌入式设备,包括 各种电子产品如m o b i l ep h o n e 、传呼机、p d a 、机顶盒等;最后,j a v ac a r d 集中针对智能卡市场。 j 2 m e 面向嵌入市场,其目标是为动态的可扩展、可联网的设备创建一个 全面的应用开发平台。它充分利用j a v a 技术本身的优势,允许设备制造商向 全球的第三方应用开发商敞开大门,提供与其产品相关的动态可下载内容,同 时又保证了制造商对其产品底层特有平台机密性的掌握和控制。 如图2 1 所示,j 2 m e 目前定位于两个大的产品类别: - 高端消费设备:图2 1 中这个类别由标着c d c 的那一组来代表。该类 别中的典型应用如电视机机顶盒、i n t e r n e t 电视、可访问i n t e r n e t 的可视电话、高端无线通信设备以及车载娱乐导航系统等,一般都具 有处理大数量用户接口的能力,内存容量高,具有高带宽的网络连接, 常常采用t c p i p 协议进行通信。 低端消费设备:图2 1 中这个类别由标着c l d c 的那一组来代表。手 机、传呼机和个人信息管理器都属于这种设备类别。这类设备一般界面 非常简单,内存比较小,网络连接为低带宽或者不连续的网络连接方式。 这个类别的产品一般都通过非t c p i p 的协议进行网络通信。 当然,由于目前设备制造商的不断进步,以上两类设备的界线已经变的越 来越模糊。实际上,目前这两类产品的界限定义已经不单单是根据产品的功能 或者其使用的网络连接的类型来进行划分,而是着重依据设备的内存容量、设 备使用的网络连接的带宽、物理屏幕尺寸等因素来区分。 2 2j 2 m e 的体系结构 j 2 m e 系统以提供模块化、可扩展的体系结构为目标,以便于其支持嵌入 市场用户的各种灵活的配置要求。为达成这一目的,j 2 m e 主要定义了以下组 件: 一一组j a v a 虚拟机,每种面向不同的处理器类型和内存模式。 - 一组可以运行在各种虚拟机上的库和a p i ,分别称为c o n f i g u r a t i o n 和p r o f i l e _ 设备c 。n f i g u r a t i o n 和部署所需要的各种工具 第6 页 基于j a v a 的企业移动计算的研究 第二章j 2 m e 其中前两种组件组成了j 2 m e 的运行时环境,如图2 2 所示。它的核心是 j a v a 虚拟机,运行于设备的主机操作系统之上:再往上是具体的j 2 m e 的 c o n f i g u r a t i o n ,包括根据设备的资源需要提供基本功能的编程库; c o n f i g u r a t i o n 上面是一个或多个p r o f i l e ,这些附加的编程库利用了相似 设备的类似功能。 p r o f i l e i t = = = 二互王量王三互三主趟 _ _ h c o n f i g u r a t i o n 隔 弋二= 二二互互夏互趸墨互互基 一 j a v a 虚拟机i i 互互互互互曩童墨墨墨羔互d 主机操作系统国 bj := := l :互要互互譬j i i :崮 幽2 2j 2 m e 运行时环境的高级体系结构 2 2 1c o n f i g u r a t i o n 在j 2 m e 环境中,c o n f i g u r a t i o n 根据设备的可用内存和处理能力对各 种设备进行横向分组,并据此定义了一个j a v a 平台。这个平台具有相似的对 于内存容量和其他硬件特征的要求,其功能主要包括: 一支持j a v a 编程语言功能 _ 支持j a v a 虚拟机功能 一支持基本j a v a 库和a p i 每一个c o n f i g u r a t i 。n 描述中都详细指定了j a v a 语言和虚拟机的特征 和相应的一套库文件,描述的实现者们可以安全的认为,设备出厂时这些特征 和库都是存在的。描述的实现者在设计代码的时候,必须保证这些代码在 c 。n f i g u r a t i 。n 描述所明确指定的特征和库范围之内。简单的说, c o n f i g u r a t i o n 描述为设备制造商和描述实现者定义了“最低公共标准”的 平台。 当前,j 2 m e 中存在两种标准c 。n f i g u r a t i 。n : c d c ( c o n n e c t e d d e v i c e c o n f i g u r a t i 。n )和 c l d c( c o n n e c t e dl i m i t e dd e v i c e c 。n f i g u r a t i o n ) : 第7 负 基于j a v a 的企业移动计算的研究第二章j 2 m e c d c c d c 定位于间歇的连接到网络的强大设备,包括机顶盒、i n t e r n e t 电视、 家用电器和汽车导航系统等。它包含功能完整的j a v a 虚拟机,与j 2 s e 当前 使用的虚拟机类似,区别在于不同设备的内存大小和显示能力不同。s u n 官方 文档j 2 m e 规范中c d c 的设备资源需求如下: _ 装备3 2 位处理器 - 有2 m b 以上内存供j a v a 使用( 包括r a m 和闪存或r o m ) _ 具备j a v a2 “b l u eb o o k ”虚拟机的完整功能 连接到网络,通常使用无线间歇连接和有限( 一般为9 6 0 0 b p s 或者更 低) 带宽 - 可能有比较完善的用户界面 c l d c 这种c o n f i g u r a t i o n 比c d c 要小巧很多,因此也显得更为流行。1 9 9 9 年1 0 月,c l d c 首次发布,其思想是为嵌入式设备创建一种“最小公分母”式 的j a v a 平台,尤其是在网络、i o 、安全性和核心库等方面。官方j 2 m e 规范 中c l d c 的设备资源需求如下: 有1 6 0 k b 到5 1 2 k b 的可用内存供j a v a 使用( 包括r a m 和闪存或r o m ) 具有有限的电源( 如用电池供电) 连接到网络,通常使用无线间歇连接和有限( 一般为9 6 0 0 b p s 或者更 低) 带宽 可能拥有比较完善的用户界面,但不是必需的 2 2 2 虚拟机 由前所述,每一种c o n f i g u r a t i o n 都需要适合自己特征的j a v a 虚拟机, 如c l d c 的功能比c d c 少很多,因此c l d c 的虚拟机也比c d c 的虚拟机小很多。 一般说来,c l d c 使用的虚拟机被称为k v m ( k i i o v i r t u a lm a c h i n e ) ,而 c d c 使用的虚拟机则被称为c v m 。 k v m 是一种在小型设备上使用的完整的j a v a 运行时环境。k v m 的高层设 计目标是创建一个具备以下特点的虚拟机: 第8 页 基于j a v a 的企业移动计算的研究第二章j 2 m e 静态内存在5 0 k b 到8 0 k b 之间的小型设备,依赖于编译选项和目标平 台 清晰,具有良好的注释和高移植性 模块化、可定制 在不牺牲其他设计目标的前提下尽量做到完善和高速 实现该虚拟机所需要的最小内存空间大约是1 2 8 k b ,其中包括虚拟机、最 小的库和运行j a v a 应用所需要的堆栈空间。 2 2 3p r o f i l e 通过引入p r o f i l e ,j 2 m e 为一系列垂直产品市场定义了j a v a 平台。 p r o f i l e 是一组位于c 。n f i g u r a t i 。n 上的实现层a p i ,在j 2 m e 中目前已 经有的p r o f i l e 如下: m i d p m i d p 基于c l d c ,它提供了一组移动设备使用的a p i ,其中包含的类主要 用于用户界面、永久存储和网络等方面。m i d p 中所包含的标准化运行时环境 允许把新应用下载到最终用户设备上。运行在m i d p 下的小型应用程序称为 m i d l e t 。目前该p r o f i l e 已经发布。 一 p d ap r o f i l e p d ap r o f i l e 基于c l d c ,提供了手持设备上使用的用户界面a p i ( 被认 为是a w t 的子集) 和数据存储a p i ,目前还没有具体实现。 f o u n d a t i o np r o f i l e 虽然f o u n d a t i o np r o f i l e 扩展了c d c 提供的a p i ,但是它不提供任 何用户界面a p i ,它只是其他p r o f i l e ( 如p e r s o np r o f i l e 和r m i p r o f i l e ) 的基础。 第9 页 基于j a v a 的企业移动计算的研究第二章j 2 m e p e r s o n a lp r o f i l e p e r s o n a lp r o f i l e 扩展了f o u n d a t i o np r o f i l e ,目的是提供运行 中的j a v aw e ba p p l e t 使用的图形用户界面,目前还没有具体实现。 r m ip r o f i l e r m i 扩展了f o u n d a t i o np r o f i l e ,目的是为设备提供r m i ,目前还没 有具体实现。 图2 - 3 中全面显示了j 2 m e 技术在目前和将来的可能应用,如上面的介绍 所述,本次研究也将主要利用已经实现的m i d p 来完成。 m i i f lf 鬲i _ 9 、:三三三:二二:蚓t = = = = = ;_ = := 二三凼 一= :,。竺j 。,叠8 _ 7 i 7 j r o i ? i n k v m i i 飞噩至窭互互墨互譬叠要互薹二菡 逆盥窭 已竺竺翌j弋互五工互互王互互薹= 互三二j 互翻 = 薹三弋至互互互盈互墨互互互互笼至互显删 巴竺弋互互互互瑟譬妻譬翟妥要薹要露黜 幽2 - 3j 2 m e 环境 2 2 4j 2 s e a p i 与j 2 m e a p i 间的关系 j 2 m e 的a p i 基本上是j 2 s ea p i 的一个子集。它只保留了j 2 s e 的核心 库中很少的一部分,排除了很多s e 拥有的强大类库,也不支持浮点型数据。 但是,由于j 2 m e 面向的设备的特殊性,j 2 m e 的a p i 中也有些在j 2 s e 中 没有定义的类库。图2 4 大致显示了目前j 2 s ea p i 和j 2 m ea p i 间的关系。 一、 j 2 s ea p l 7 j 、 。 j 2 m ea p i j 蚓2 一q 2 s ea p i 承1j 2 m ea p i 问的关系 第1 0 页 基于j a v a 的企业移动计算的研究第二章j 2 m e 2 3c l d c 细节 c l d c ( c o n n e c t e dl i m i t e dd e v i c ec o n f i g u r a t i o n ) 为资源有限 的小型设备定义了一种标准的、内存占用最小的j a v a 平台。它适用于大部分 设备,而不包括设备的某些特殊功能的实现( 设备特殊功能的实现将由定义在 它上层的p r o f i l e 来完成) 。因此,c l d c 具有一个非常重要的特点,即没有 可选功能。也就是说,c l d c 提供的任何功能都可以在支持设备上使用。可以 这样说:c l d c 的目标是确保在资源有限设备上运行的程序具有可移植性和互 操作性,而这些正是j a v a 平台构建的主要目标之一。 2 3 1c l d c 目前的功能 c l d c 目前为设备提供如下功能 j a v a 语言和虚拟功能的子集 - j a v a 核心库的子集( j a v a f a n g 和j a v a u t i l ) 实现基本输入输出功能的子集( j a v a i o ) _ 实现基本网络支持功能的子集( j a v a x m i c r o e d i t i o n i o ) 保证安全性的子集 2 3 2c l d c 的限制 c l d c 有限的功能必然说明它存在很多限制,主要表现在以下方面 不支持浮点型数据:基于c l d c 的应用程序不能使用浮点型( 包括 f l o a t 和d o u b l e ) 数据。之所以这么做,是因为大多数的c l d c 目标 设备的底层硬件都不支持浮点型数据。 没有结束处理:目前的c l d ca p i 不包括o b j e c t f i n a l i z e ( ) 方法, 在对象被当作垃圾回收之前,不能对对象数据执行最终的清除操作( 如 关闭资源) 。 _ 有限的错误处理:c l d c 只定义有三个错误类:j a v a 1 a n g e r r o r 、 j a v a f a n g o u t o f m e m o r y e r r or 、j a v a 1 a n g v i r t u a l m a c h i n e e r r o r 。 非运行时错误的处理要依赖于设备,通常的处理方式是终止应用程序, 甚至重置设备。 第1 l 页 基于j a v a 的企业移动计算的研究第二章j 2 m e 一不包括j n i ( j a v an a t i v ei n t e r f a c e ) :鉴于安全性和j n i 会带 来的昂贵的内存开销,c l d c 没有实现j n i 。 _ 不包含用户定义的类加载程序:支持c l d c 的j a v a 虚拟机必须使用内 置的类加载程序,用户不能覆盖或者替换它们,之所以这么做是基于安 全考虑。 - 不支持映像:c l d c 应用程序不能在对象和类上使用映像a p i ,因此也 不支持对象序列化和r m i 。 一 不包含线程和后台守护线程:虽然支持c l d c 的j a v a 虚拟机将实现多 线程,但是不支持线程组或后台守护线程。如果需要在线程组上执行线 程操作,可以在应用程序层使用存放线程对象的集合对象 不包含弱引用。 2 3 3 安全性考虑 c l d c 的安全模型比j 2 s e 更加严格,主要涉及以下两个方面 虚拟机级安全 这一级别的安全主要用来防止在k v m 上运行的程序损害运行它的设备。这 一点由类验证程序来保证。该程序将确保类的字节码不包含对无效内存地址的 引用,并且确保被加载的类以符合j a v a 虚拟机规范的方式执行。k v m 使用的 类验证包括两个步骤:设备外的预验证和最小化的设备内验证。另外,不能在 运行时调用本地方法。 应用程序级安全 与j 2 s e 不同,c l d c k v m 组合不允许定制安全管理器。支持c l d c 的v m 提供了一种简单的砂盒安全模型,该模型通过确保应用程序在封闭的环境中运 行并且只调用设备支持的类来确保安全。 2 4m i d p 细节 m i d p ( m o b i l ei n f o r m a t i o nd e v i c ep r o f i l e ) 建立于c l d c 之上, 为s u n 所指的m i d ( m o b i l ei n f o r m a t i o nd e v i c e ) 定义了一种开放式的 应用程序开发环境。m i d p 由j c p ( j a v ac o m m u n i t yp r o c e s s ) 管理,号 第j 2 页 基于j a v a 的企业移动计算的研究第二章j 2 m e 码为j s r 3 7 ,属于j c p 的一部分。它是不断变化的,根据目前定义的m i d p 标 准,m i d 设备至少具备如下特征: 显示器:屏幕尺寸不小于9 6 5 4 像素,显示深度不小于1 位 - 输入设备:单手键盘、双手键盘或触摸屏 - 内存:有3 2 k b 的易失性内存供j a v a 运行时使用( 堆) ;有1 2 8 k b 非 易失性内存供m i d p 组件使用;8 k b 的非易失性内存供应用程序创建的 永久数据使用 _ 网络:使用有限带宽的双向间歇连接,通常是无线连接 由于建立在c l d c 之上,它致力于c l d c 忽略的以下领域: _ 应用程序生命周期管理:m i d p 中包含j a v a x m i c r o e d i t i o n m i d l e t 包,其中的类和方法用来在主环境中启动、暂停和关闭应用程序; 一用户界面和事件管理:m i d p 提供了j a v a x m i c r o e d i t i o n i c d u i 包, 其中的类和接口用来创建应用程序使用的g u i 组件; 网络连接管理:通过提供h t t p c o n n e c t i o n 接口和h t t p 协议的实现子 集,m i d p 扩展了通用连接框架的c o n t e n t c o n n e c t i 。n 接口: 在设备上存储数据的管理: m i d p 同时提供了 a v a x m i c r o e d i t i o n r m s 包,该包实现了基于记录的数据库管理系 统。 2 4 1m i d l e t m i d l e t 是m i d p 中最基本的执行单元。一个m i d l e t 可以理解为移动环 境下的一个应用程序。与j a v aa p p l e t 类似,m i d l e t 应用程序在移动设备 上运行时也具有应用程序生命周期。在定义良好的控帝0 状态之间的转换规则的 作用下,它可能会处在三个明确的状态之一: 暂停态( p a u s e d ) :一个m i d l e t 己被启动,但还没有进入它的 s t a r t a p p 方法的时候就处于暂停态。p a u s e a p p 或者 n o t i f y p a u s e d 方法也会使m i d l e t 进入暂停态。当处在暂停态时, m i d l e t 只保持尽可能少的资源。 活动态( a c t i v e ) :当m i d l e t 进入它的s t a r t a p p 方法时就进入到 活动态,此时m i d i e t 可以为最佳的执行分配和保持所有需要的资源。 _ 销毁态( d e s t r o y e d ) :当从d e s t r o y a p p 或者n 。t i f y d e s t r 。y 方 第1 3 页 基于j a v a 的企业移动计算的研究 第二章j 2 m e 法返回时,m i d l e t 就进入到销毁态。一旦进入销毁态后,m i d l e t 就 不能再进入其他任何状态。此时m i d l e t 将把自己占用的所有资源全部 释放给m i d p 系统。 图2 - 4 显示了m i d l e t 所有可能的状态和状态转换 图2 4m i d l e t 的状态和状态转换图 2 4 2m i d l e t 组和j a d 文件 m i d p 应用模型的一个核心目标,就是为在多个可能同时使用的m i d l e

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论