下一代j2me规范(JSRs248和JSRs249)

新的移动服务体系(MSA)规范定义了下一代移动电话Java平台。本文详细介绍了MSA规范的目标、作用及其两个组成部分JSRs248和249的区别与联系,探讨了这些规范如何帮助简化移动应用开发。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

新的移动服务体系(Mobile Service Architecture -MSA)规范(JSRs 248 and 249)定义了移动电话的下一代Java平台。本月通过JCP 的最终投票决定,MSA规范的第一部分终于完成了。在与Artima的交谈中,MSA规范的负责人Asko Komsi,他同时也是Nokia的工业关系部的主管,谈到了移动Java的未来以及MSA标准将如何帮助我们简化移动电话的开发。


    Frank Sommers:在今年上半年,你们的公司Nokia为消费者交付了一亿五千三百万部移动电话,超过了整个PC业生产量的近3倍。现在,非PC设备,例如移动电话,游戏终端或信息通讯系统比PC机或服务器拥有更多的用户,几乎所有这些设备都装载的是Java ME。开发人员自然希望在上面运行自己的程序,但是到目前为止只有小型Java应用程序,例如游戏,在移动设备上有了很好的进展,你认为为什么会那样呢?

    Asko Komsi:在J2ME的发展初期,我们有MIDP和一些不同的API,但没有人来定义一个所有手机都支持的框架。很多手机提供MIDP支持,但是在不同的运营商和不同的手机生产商之间对附加的API的支持却各式各样。最初解决这个问题上的尝试是建立JTWI [Java无线产业技术规范, JSR 185]。这是为开发商定义完整API集合的首次尝试,例如它要求手机提供MIDP或一个消息API。JTWI试图做成个小的函数集合。不幸的是,它最初并不是做得很好。一个原因是必须面对授权问题,这是所有因素中非常重要的一点。在JTWI之后,Nokia、Vodaphone,还有整个的工业都想提供一个更好的提案,来为未来的发展指明道路,而不仅仅是定义一个通用的函数集合。我们需要一个方法解决正在发生的事情,而不是一个一次性的提案。在我们看到市场需要一个更好的平台的时候,当有一个新技术来加入的时候,这个情景就是定义一个公共函数集合的新版本。

    新提案的结果就是JSRs 248 [移动服务体系结构, 或MSA] 和 249 [高级移动服务体系结构]. JSRs 248已经最后敲定了,在8月投票通过,同时JSRs 249的工作不久将开始着手。我们预测JSRs 249在今年年底会形成一个草案版本,这两个JSR在一起将为开发者最终提供一个标准统一的开发接口。

     因此,回答你的问题,一旦你获得了来自主要的生产商和运营商的针对大多数手机的统一平台,开发人员将会很轻松的建立各种应用,而不仅仅是游戏和娱乐。  Frank Sommers:为什么在定义公共Java ME stack(接口平台)时有2个独立的JSRs?

    Asko Komsi:这两个JSR都是为手机而建立的,但是不同之处在于每个JSR所对应的应用类型和所服务的商务情况。如果你注意到现在手机所发生的事情及被用来做什么,你会看到将有许多种的手机游戏和多媒体提供给消费者。这就是JSR 248服务的领域,在消费者方面,一个为开发商绑定他们的应用到一个MIDP类型的包里的模型出现了。消费者可以购买这个包,下载到消费者的手机里,然后就可以很简单地使用它们了。与游戏应用的大业务相比,那些应用的价位并不是很高。JSR 248的作用就是确保我们使所有的游戏API和多媒体特征都可以得到,JSR 248标准对于使用3D图形[移动3D图像API, JSR 184]的应用非常优秀。它提供了一个移动媒体API[JSR 135],你可以用其中包含的蓝牙API[Java APIs for BlueTooth, JSR 82]产生人对人的游戏。你能利用SIP [SIP API for J2ME, JSR 180]构建应用,并且使用支付API [JSR 229]来为移动电话上的服务和游戏付费。你也能利用内容处理API[JSR211],来浏览不同类型的内容。

    虽然JSR248的服务目标主要是个人消费者应用,但也提供了对企业可能有用的功能。例如,JSR 172 [J2ME Web服务]为网络服务提供支持,你可以通过JSR 177获得更安全和信赖的服务,对于要求从移动设备上安全访问公共数据的企业这是非常重要的。JSR 248标准也通过Location API for J2ME [JSR 179] 提供了基于场所的服务。这样对于那些需要创建根据地理位置来访问企业数据的应用是非常有帮助的,例如司机需要的特定应用。

    然而,JSR 248不提供企业应用所需要的所有特征,主要因为JSR 248定义的是静态环境。利用JSR 248,你有一套开发者能用的固定的API,每次你能下载一个应用并运行它。安全特征是非常简单的:它是一个沙箱,你可以在里面运行你的程序。它的环境中并没有更多的动态元素。对于某些种应用它非常优良,尤其是个人消费者类型的应用程序,但是我们认为我们需要转向更丰富,更强大的提供动态特征的平台上。

    JSR 249就是这样一个为动态环境而设的标准,利用它你能动态下载新的API到手机里。手机可以不再受限于手机本身而获得API,甚至是MSA initiative通过JSR 248所提供给你的。我认为动态环境真的是企业甚至是消费者应用程序将来所需要的。
例如,考虑这样的一种情况,在后端你有很多的数据或一个你想访问的企业应用。一些企业软件公司,就像IBM或BEA—提供了一些中间件来让你访问那些应用或企业数据库。利用JSR 248,所有你能做的就是把一些中间件放入你的终端,然后通过手机上的网络服务来访问这些中间件。

  但是利用JSR 249,你可以在手机上提供中间件。如果一个企业需要一个新的API,它们能简易地下载到所有员工的手机里。JSR 249为之提供了一个良好的安全的结构。动态下载能力在你如何构建一个移动应用上显示了强大的优势。如果你能下载中间件到你的手机里,不仅仅一个应用能访问它,而且你能通过中间件执行访问企业数据的的应用,你不必多次下载中间件,你一旦下载了,当你需要访问共同的应用,在你的手机里已经有了。
动态下载能力是支持企业的真正最合适的唯一方式。其他的方式有Nokia和其它制造商遵从的IBM-specific handsets 和BEA-specific,他们预装了各自的中间件组件。正如你看到的,它们无法工作。相比之下,能够下载任何的API到手机里将帮助Java [ME]市场更规整。但是消费者方面也是非常重要的。你可以想到运营商提供一些游戏规范的中间件到你的手机里,在它上面你可以玩很多的游戏。Frank Sommers:你能解释一下JSR 249的动态API下载是如何工作的呢?

    Asko Komsi:我们的目标是将JSR 248 走出去,而在JSR 249中我们现在有清晰的章节说明我所提到的。专家组目前仍没有做出任何的技术选择,我们现在开始把焦点放在JSR 249上。OSGI对于Java ME或JCP来说并不是新鲜事物,因为我们已经有了JSR 232 [Mobile Operational Management],Nokia和Motorola做为规范的发起者。从MSA的远景看,如果我们想使用OSGI,我们所必需做的就是配置JSR 232。JSR 232是连接OSGI和基于JCP的标准化之间的一条途径。我们想要确信在OSGI 方面我们能定义技术并提供一个执行参考。然后把所有的技术带给JCP以便使技术不仅对领取OSGI执照的人可以获得,对JCP也一样。
OSGI环境不仅提供给用户各种应用和客户中间件的下载,还负责监控,同时还有一个非常安全的框架,在这个框架里,你能为组件定义任何类型的规则并且访问手机上的各种API。你一旦开始转向JSR 249类型的环境,你需要的安全性不是“沙箱环境”所能提供的,OSGI为我们提供了动态安全。OSGI已经提供了可以兼顾依赖性的机制:一个应用需要什么,版本是多少,如何去获得需要的组件。

    OSGI如此让人感兴趣的原因是它提供了许多的特征,我认为我们需要这些特征让CDC便于使用。从一个高层次来看,JSR 249必须寻求办法解决关键功能,象主要的安装机制、应用模型、封装模型—如何打包那些应用和中间件组件,以使你能将它们发送到手机。另外,JSR 249需要发现一个办法来管理环境、 用及在它上面运行的服务。在将来,你也会有强大的客户环境让你运行多个应用。因此我们也需要定义一个应用合作机制。这些特征就是我们必须在JSR 249里面必须找到办法解决的。如果我们没有它们,那么我们仅仅做了一半,我们可能面临再次分离的结局。Frank Sommers:现在随着JSR 248最终敲定,什么时候开发者能够看到消费者用上符合MSA的手机?

    Asko Komsi:
在今年年底或明年年初,你会看到符合MSA的手机出现。一个手机的平均使用寿命过去是18个月,或大致少于2年。手机的替代速度将再次依赖于市场的发展。在欧洲,你可以去买一个新的手机,把你的SIM卡放入新的手机里。人们常常有多部手机:一个喝酒的时候用,一个工作的时候用,一个用于家里。在美国,你购买手机的时候就购买了一个合同,你被要求使用手机一至两年。但是在大约两年里,市场上的大部分手机将会提供与JSR 248的兼容

    Frank Sommers:
你提出了MIDP。你能解释MIDP,CDC和CLDC与MSA的联系吗?

    Asko Komsi: CLDC 和 CDC是其他所有事情的基础,它们定义了虚拟环境,CLDC是CDC的一个更小的子集。其它的API存在于CLDC 和CDC之上,从Nokia的前景看,我认为我们不应该将焦点更多放在虚拟机应该是什么样。我认为CLDC是一个非常重要的结构。但是因为我们在开发更强大的手机,将会有更多的内存和更强大的CPU。我认为我们正从有限的配置转向一个标准的CDC环境。这是我们在将来要看到的,这也是我们支持JSR 249的一个原因。因为我们正朝着一个更加强大和有能力的环境前进。这将导致更小的分歧,因为设备将有更对的性能。当你看到MIDP,MIDP 3草案 [Mobile Information Device Profile 3, JSR 271]是由Motorola主持起草的,但是Nokia也是那个标准的一部分。虽然MIDP已经成功,到目前为止,它也必须转到提供新特性方向上来。无法告诉你那些特性会是什么,因为它们刚好正在被定义。

    Frank Sommers:你说过当手机变得更强大,并且大部分制造商开始支持JSR 248,移动市场将会更少的分支,因为大部分手机将集中在支持相同功能的一个核心上。那么制造商如何区分它们的产品?

    Asko Komsi:手机不仅仅是Java平台。有许多方面你可以区分。但即使在Java平台,在执行上你仍然可以区分。我们自然会想到,在Nokia上我们已有个非常友好的Java执行。在用户界面方面,你不必明白正在使用的是Java应用还是一个本地应用。Java应用与非Java应用在手机上一起工作的很好,如果你从手机生产商的前景来看,我们现在愿意让手机有一个标准平台。对我们来说,这是很大的资源与费用问题。如果我们为每个运营商或每个单独的市场开发不同的手机,这要让我们花费太多,也意味着对于运营商手机将更加昂贵。运营商也要有跟上标准的想法。这就是Nokia领导MSA的原因之一。通过整合市场,定义规范,我们可能失去一些特色的功能,但是我们认为,这样做有利于开发商,有利于运营商,有利于服务供应商的API,因此更加重要。
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值