科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道Java回归嵌入式无线通信(1)

Java回归嵌入式无线通信(1)

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

本文是J2ME开发的Java回归嵌入式无线通信的市场发展现状和相关的链接内容。Sun将J2ME定义为“一种以广泛的、以消费性产品为目标的、高度优化的Java运行环境,这些环境包括寻呼机、移动电话、可视电话、数字机顶盒和汽车导航系统等。”

作者:赛迪网社区 来源:赛迪网社区 2007年9月4日

关键字: java 嵌入式 无线通信

  • 评论
  • 分享微博
  • 分享邮件

在本页阅读全文(共2页)

编者按:当语言技术走向前台,成为通信应用“解决方案”的一种时,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(Java语言前身)技术,最初的设想是在冰箱、电视等信息家电产品中嵌入可编程通信控制平台,以实现这些设备间的数据通信。然而在当时,Oak并没有受到开发者所希望的欢迎,整个市场对这一新技术语言的重视远远不够。

1995年后全球爆发的互联网络信息革命为Java带来机会,Java成为众多编程语言和编程技术中的黑马,迅速成为全球各大IT厂商应用开发平台的新贵,不仅一跃成为桌面应用(J2SE)平台,更在很短的时间内成为企业级应用(J2EE)开发平台。

如今,Java已经回归到嵌入式无线通信领域,并且这次是有备而来。

从Sun到与Sun无关

在1999年的JavaOne大会上,Sun Microsystems 介绍了第一个袖珍版 Java和第一个 KVM以及相关的类库,并于同年6月向Java团体宣布了Java的第一个Java 2 Micro Edition(J2ME)版本,为开发者提供了一个无线开发工具包Wireless Toolkit(WTK),WTK可以让开发者编译(compile)、打包(package)、部署(deploy)和执行(execute)J2ME应用,这一工具包还包括一个仿真测试环境,该环境用于在资源受限的设备上对J2ME应用进行模拟运行,这些仿真模拟器可以被当做插件向通信设备厂商提供,同时由这些设备商向消费者提供,例如摩托罗拉、诺基亚等。

遗憾的是,WTK中并不包含IDE开发环境和Debug调试环境,笔者认为,之所以出现这样的结果,主要原因不是Sun或JCP缺乏设计优良IDE环境的能力,而是Sun发布J2ME平台规范后,全球各软件工具开发商“百家争鸣”推出各自的IDE开发环境,虽然这样防止了IDE技术的企业垄断,却也忽略了市场和用户的个性需求。况且,自Java问世以来也没有正式提供IDE开发环境的先例。

这样做的不利在于多版本差异,但也有好处,没有正式的IDE开发环境,并不意味着开发者没有开发环境,相反,专业开发者有更大的选择余地来选择合适的IDE,甚至从Opensource中获得免费的Wireless IDE工具,当前一些主流Java开发工具已经都有相关插件支持无线开发环境,例如Sun ONE Studio、JBuild、Oracle9i JDeveloper等。

从Sun发布袖珍版的Java技术标准,到IDE多种类局面出现,Java正走着一条整个产业化前进的道路。

Java技术的典型代表J2ME

Sun 将J2ME 定义为“一种以广泛的、以消费性产品为目标的、高度优化的Java 运行环境,这些环境包括寻呼机、移动电话、可视电话、数字机顶盒和汽车导航系统等。”但由此也可以明显看出,要为所有这些设备定义一种最优化、或者接近最优化的单一技术是不可能的,因为这些设备的处理器能源、内存、固定存储器和用户界面的差异都非常之大。为解决这一问题,Sun 公司将适合 J2ME 的设备的配置分成各个部分,然后再进一步细分,其他品牌的Java技术也采用了大体相同的方式。

在第一步的划分中,Sun 将各种设备按照处理性能、内存和存储能力划分成CDC和CDLC两大类,需要说明的是,这一分类方法并没有考虑应用者最终的使用目的。在这一基础之上,Sun定义了 Java 语言的一个剥离版本,它能够在每一类设备的限制下工作,也包括通信设备,同时提供最低限度的 Java 语言功能性,这一点,对于作为消费类产品的终端通信设备而言,非常重要。

移动信息设备简表(MIDP)是J2ME补充CLDC配置的Java API集合,也是基于CDC和CDLC的最上层。MIDP为开发者提供了计时器、简单固定存储器、通过 HTTP 的连网等常用API,开发者可以通过MIDP提供的界面快速开发UI元素来构造J2ME应用,这些元素包括常用的:

Alert 用于通过屏幕向用户显示有关异常情况或错误的信息;Choice 用于实现从既定数量的选项中进行选择;ChoiceGroup 可提供一组相关选项;Form 作为其他UI 元素的容器;List 提供选项列表;StringItem 提供只显示(display-only)字符串功能;

TextBox 允许用户输入和编辑文本的屏幕显示;TextField 允许用户输入和编辑文本,多个 TextField 可放到一个 Form 中;DateField 作为可编辑组件,用于表示日期和时间信息,DateField 可以放到 Form 中;Ticker 用于文本的可滚动显示等。

当开发者对界面控制有较高要求时,可以使用Canvas技术来实现图形化的界面输出,利用Double buffering技术实现流畅的动画处理效果。MIDP还提供了记录管理系统RMS(Record Management System),RMS的记录管理系统存取数据到移动设备中。

在CLDC中提供一个通用的连接框架(Connection Framework),我们可以使用该连接框架从Web端发送和接收数据,这一连接框架实现Http1.1协议。在企业级应用开发中,HttpConnection或Socekt经常会和Threads技术应用在一起,以提供高性能的企业数据连接。

熟悉Java Serverlet的开发者在编写J2ME程序时并不会感觉环境的陌生,因为J2ME为每个应用提供了类似于Serverlet的有生命周期管理的MIDlet,每个J2ME应用都必须扩展MIDlet类,以便能够让应用系统控制它。

Model-View-Controller,(MVC,Model为维护应用模型的状态,View指通过图形或非图形模式表现Model,Controller接收外部指令更新Model或View)J2ME的开发者必须参照MVC设计模式,因为整个设计需要在完成最后UI步骤之前完全测试通过商业逻辑部分,以保证在仿真运行环境下的联调焦点放在UI控制上。

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章