当语言技术走向前台,成为通信应用“解决方案”的一种时,Java与BREW之争也日益明显。今年初,中国移动联合移动设备商、SP等举办了Java大赛,并且正在或将要举办类似活动,以大力推广Java在手机、互联网等通信领域的应用。另一方面,从10月15日开始,中国联通和美国高通公司合资成立的联通博路公司在全国推广基于BREW的应用大赛,此举吸引了包括媒体在内的多方力量的关注。
针对这一形势,《计算机世界》组织了一个小型专题,就Java和BREW在通信领域应用的趋势探讨。当Java和BREW都有理由宣扬自己的阵营已经确立时,虽然我们还不知道这一场较量谁会更占优势,但关于技术的讨论,本身就是一个必要。在这两篇针锋相对的文章背后,不仅是两个的工作差异,更多是两大开发群体之间的对垒。在经历了互联网和电子商务的淘金时代后,Java已经预备好向通信领域发展,而且巨大的商业利益已经显现出来。据Ovum研究公司猜测,到明年初,Java技术将应用于2.67多亿部移动设备,而Java手机目前已然在北美和欧洲大行其道。更有分析公司猜测,到2007年,几乎100%的手机都将采用Java技术,Java已经回归到嵌入式无线通信领域。 织梦好,好织梦
Java在嵌入式通信领域的应用与发展颇具传奇色彩。1991年出现的Oak技术,最初的设想是在冰箱、电视等信息家电产品中嵌入可编程通信控制平台,以实现这些设备间的数据通信。然而在当时,Oak并没有受到开发者所希望的欢迎,整个市场对这一新技术语言的重视远远不够。1995年后全球爆发的互联网络信息革命为Java带来机会,Java成为众多编程语言和编程技术中的黑马,迅速成为全球各大IT厂商应用开发平台的新贵,不仅一跃成为桌面应用平台,更在很短的时间内成为企业级应用开发平台。如今,Java已经回归到嵌入式无线通信领域,并且这次是有备而来。从Sun到与Sun无关在1999年的JavaOne大会上,SunMicrosystems介绍了第一个袖珍版Java和第一个KVM以及相关的类库,并于同年6月向Java团体公布了Java的第一个Java2MicroEdition版本,为开发者提供了一个无线开发工具包WirelessToolkit,WTK可以让开发者编译、打包、部署和执行J2ME应用,这一工具包还包括一个仿真测试环境,该环境用于在资源受限的设备上对J2ME应用进行模拟运行,这些仿真模拟器可以被当做插件向通信设备厂商提供,同时由这些设备商向消费者提供,例如摩托罗拉、诺基亚等。遗憾的是,WTK中并不包含IDE开发环境和Debug调试环境,笔者认为,之所以出现这样的结果,主要原因不是Sun或JCP缺乏设计优良IDE环境的能力,而是Sun发布J2ME平台规范后,全球各软件工具开发商“百家争鸣”推出各自的IDE开发环境,虽然这样防止了IDE技术的企业垄断,却也忽略了市场和用户的个性需求。况且,自Java问世以来也没有正式提供IDE开发环境的先例。这样做的不利在于多版本差异,但也有好处,没有正式的IDE开发环境,并不意味着开发者没有开发环境,相反,专业开发者有更大的选择余地来选择合适的IDE,甚至从Opensource中获得的WirelessIDE工具,当前一些主流Java开发工具已经都有相关插件支持无线开发环境,例如SunONEStudio、JBuild、Oracle9iJDeveloper等。
从Sun发布袖珍版的Java技术标准,到IDE多种类局面出现,Java正走着一条整个产业化前进的道路。Java技术的典型代表J2MESun将J2ME定义为“一种以广泛的、以消费性产品为目标的、高度优化的Java运行环境,这些环境包括寻呼机、移动电话、可视电话、数字机顶盒和汽车导航系统等。”但由此也可以明显看出,要为所有这些设备定义一种最优化、或者接近最优化的单一技术是不可能的,因为这些设备的处理器能源、内存、固定存储器和用户界面的差异都非常之大。
织梦内容管理系统
为解决这一问题,Sun公司将适合J2ME的设备的配置分成各个部分,然后再进一步细分,其他品牌的Java技术也采用了大体相同的方式。在第一步的划分中,Sun将各种设备按照处理性能、内存和存储能力划分成CDC和CDLC两大类,需要说明的是,这一分类方法并没有考虑应用者最终的使用目的。在这一基础之上,Sun定义了Java语言的一个剥离版本,它能够在每一类设备的限制下工作,也包括通信设备,同时提供最低限度的Java语言功能性,这一点,对于作为消费类产品的终端通信设备而言,非常重要。移动信息设备简表是J2ME补充CLDC配置的JavaAPI集合,也是基于CDC和CDLC的最上层。MIDP为开发者提供了计时器、简单固定存储器、通过HTTP的连网等常用API,开发者可以通过MIDP提供的界面快速开发UI元素来构造J2ME应用,这些元素包括常用的:Alert用于通过屏幕向用户显示有关异常情况或错误的信息;Choice用于实现从既定数量的选项中进行选择;ChoiceGroup可提供一组相关选项;Form作为其他UI元素的容器;List提供选项列表;StringItem提供只显示字符串功能;TextBox答应用户输入和编辑文本的屏幕显示;TextField答应用户输入和编辑文本,多个TextField可放到一个Form中;DateField作为可编辑组件,用于表示日期和时间信息,DateField可以放到Form中;Ticker用于文本的可滚动显示等。
织梦好,好织梦
当开发者对界面控制有较高要求时,可以使用Canvas技术来实现图形化的界面输出,利用Doublebuffering技术实现流畅的动画处理效果。MIDP还提供了记录治理系统RMS,RMS的记录治理系统存取数据到移动设备中。在CLDC中提供一个通用的连接框架,我们可以使用该连接框架从Web端发送和接收数据,这一连接框架实现Http1.1协议。在企业级应用开发中,HttpConnection或Socekt经常会和Threads技术应用在一起,以提供高性能的企业数据连接。熟悉JavaServerlet的开发者在编写J2ME程序时并不会感觉环境的生疏,因为J2ME为每个应用提供了类似于Serverlet的有生命周期治理的MIDlet,每个J2ME应用都必须扩展MIDlet类,以便能够让应用系统控制它。Model-View-Controller,J2ME的开发者必须参照MVC设计模式,因为整个设计需要在完成最后UI步骤之前完全测试通过商业逻辑部分,以保证在仿真运行环境下的联调焦点放在UI控制上。Java之于GPRSGPRS是按欧洲电信协会GSM标准定义的封包交换协议,可快速接入数据网络。它在移动终端和网络之间实现了“永远”的连接,而网络容量只有在实际进行传输时才被占用。
copyright dedecms
复制地址和好友共享





