当前位置:首页 > 嵌入式 > 嵌入式硬件
[导读]基于消费类电子设备的嵌入式开发技术J2ME的体系结构、核心概念,探讨了基于J2ME平台的企业无线应用开发,并给出了一个应用实例。

J2ME是SUN公司提出的基于消费类电子设备的嵌入式开发技术,它将为新一代无线Internet提供交互式的、可移植的、部署灵活的、安全的应用。J2ME省略了WAP网关,直接通过HTTP或Socket协议进行网络通信,大大提高了传输速度。运用J2ME技术能在小型电子设备上实现更丰富和更有价值的应用系统,如企业无线MIS系统,它结合企业ERP系统可提高企业的运作效率。

1 J2ME体系结构

J2ME是Java2技术架构的组成部分。随着Java技术的不断发展,SUN公司根据市场的不同需求进一步将Java2细分为三个版本:企业版J2EE(Java2 Platform Enterprise Edition)是面向企业环境开发应用程序的解决方案;标准版J2SE(Java2 Platform Standard Edition)是面向桌面开发和低端设备应用的解决方案;小型版J2ME(Java2 Platform Micro Edition)是致力于消费类电子产品和嵌入式设备的最佳解决方案。

1.1 J2ME的层次结构

J2ME是专门面向小型设备应用的简易平台,这里的小型设备指移动电话、PDA、网络电话、电视机顶盒、自动娱乐系统、导航系统以及家用自动电器等。为了支持品类繁多的设备类型,满足市场对灵活性与个性化的需求,J2ME采用了模块化、可升级的体系结构。其底层是宿主机的操作系统,内部则分为:Java虚拟机(JVM)层、配置(Configuration)层和框架(Profile)层。

(1)Java虚拟机层

本层是Java虚拟机执行层,它是专门针对特定设备的嵌入式操作系统定制的,支持特定的J2ME配置。J2ME支持的Java虚拟机有二种:①CVM,其功能与传统的虚拟机非常接近,适用于拥有至少几兆字节内存的高端消费类设备,如网络电话、电视机顶盒等;②KVM,专用于内存小、资源有限、能上网的设备,如移动电话、PDA等。

(2)配置层

这一层定义了Java虚拟机的最小功能集和Java类库的最小集合,是框架层的基础。J2ME目前有二种配置:一种是连接设备配置(CDC),它的基础虚拟机是CVM;另一种是有限连接设备配置(CLDC),它的基础虚拟机是KVM。可以将CDC设备描述为共享的、固定的连接信息设备,将CLDC设备描述为个人化的、移动的连接信息设备。

(3)框架层

在配置层的基础上,框架层又为一些特定的纵向市场、设备类型或者工业界额外定义了一些API和特性。框架中的类库使开发人员可以访问一些设备特有的功能,如图形用户界面、网络通信、持久存储等。任何一种框架都是在特定的配置层基础上实现的,扩充了附加的JVM功能集与类库,而一种配置层可以同时支持多种框架层。如果设备支持相同的框架(如不同厂家生产的手机),则同一个Java应用程序可以在不同的设备之间通用。目前在CLDC上只定义了一种框架,即MIDP(Mobile Information Device Profile)。用于PDA设备的基于CLDC配置层的框架PDAP正在制定当中。目前,构建于CDC上的框架有基础框架和RMI框架。基于CDC的个人框架(Personal Profile)也正在定义之中。

1.2 用于无线设备的J2ME

MIDP、CLDC和KVM组成了开发无线Java应用的基础。图1列出了用于无线应用的J2ME体系结构。|

MIDP应用可称为MIDlet,它必须扩展javax.microedition.midlet.MIDlet类并实现其定义的三个抽象方法:startApp()、pauseApp()和destroyApp()。MIDlet在执行过程中包括运行、暂停和销毁三个有效状态。这三种状态间的转换是由AMS(Application Management Software)通过调用MIDlet类定义的以上三个方法控制的。这是一种基于回调(Callback)的机制。图2展示了通过调用这三种方法实现三种可能状态间的转换。

2 基于J2ME的无线网络应用开发研究

2.1 服务端设计

在当今电子商务应用中,J2EE以其可扩展性、灵活性成为服务端事实上的开发标准。J2EE为企业开发提供了丰富的技术组件,如JDBC、EJB、JSP和Servlet等。这些组件相互关联构成了服务端的J2EE应用。

J2ME将移动设备上的客户应用与后台J2EE服务环境完美结合起来,使建设一个无线接入的企业网络成为可能。任何时间、任何地点的自由访问功能不仅扩大了企业市场影响力、提高了客户服务水平,而且降低了企业IT运行成本。

2.2 客户端设计

基于J2ME的无线网络应用的开发可以使用CLDC和MIDP规范中定义的丰富类库。这二个规范定义了无线设备开发的各个方面,包括用户界面、数据存储和网络访问能力等。

在CLDC中为网络访问定义了通用连接框架,其通用格式是:Connector.open(″:

:″)。该通用格式连接框架实现了一种运行时绑定的机制,协议、地址等信息都作为Open函数的参数来传递。因此MIDP规范支持的各种协议(如HTTP、Socket、Datagram、SMS、串行端口通信和文件I/O等)都使用这种一致的方法。运行时由该通用框架为客户选择具体的实现。MIDP通过HTTP协议连接互联网的实例有:Connector.open(http://www.jnu.edu.cn:8080)。HTTP协议是所有支持J2ME的无线设备必须实现的,它在MIDP框架和J2EE平台之间搭建了传输的桥梁。JSP、Servlet通过HTTP协议建立起与客户端基于请求/响应的动态模式。MIDP支持HTTP1.1,使用GET和POST与网络层进行通信,产生HTTP报头和数据。在MIDP2.0中,通用连接框架还将支持HTTPS协议,通过HTTPS连接可确保信息的安全传输。

下面以一个网络运行状态监控系统的无线应用模块为例,具体说明基于J2ME的无线网络应用的开发。

(1)系统及模块功能

该网络运行状态监控系统的设计目的是对企业的计算机网络系统的运行状态进行实时监控和报警。该系统可以实时采集网络运行资料、判断网络运行状况并对网络故障报警。无线应用模块的主要功能是:通过手机等无线设备进行网络故障报警,对网络运行状态、网络设备、维护负责人等信息进行查询,方便对网络运行的实时监控和维护工作。

(2)代码演示

本文以一段MIDP程序为例,演示MIDP程序的开发。下面的MIDP程序首先让用户输入账号和密码以便登录到服务器。登录成功后显示一个报警和信息查询的列表(如故障报警、网络运行状态等),然后根据用户的选择从服务器查询相应信息,最后将从服务器返回的信息显示给用户。限于篇幅,这里只给出部分代码。

①以下代码主要实现MIDlet类中与生命周期相关的抽象方法。

②以下代码片断完成与服务器交互、读取查询信息的功能。

3 结 论

J2ME平台把Java技术引入到了嵌入式设备平台。它定义了功能强大的、安全的、可移植的应用开发的标准平台。随着移动通信设备的日益普及,移动通信增值服务正成为新的业务增长点。因而J2ME必然会在无线设备应用程序开发领域大显身手。J2ME将以其强大的功能,增进对各厂商产品与技术的兼容性,加强服务的交互能力,使移动通信增值服务更加个性化和智能化,从而更大地发挥移动通信的优势。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

Wi-Fi,全称为Wireless Fidelity,是一种在全球范围内广泛应用于各类电子设备间无线网络连接的技术。Wi-Fi技术始于20世纪90年代末期,由Wi-Fi联盟(Wi-Fi Alliance)开发并推广,旨在...

关键字: Wi-Fi 无线网络

在嵌入式系统开发、调试和测试过程中,J-Link作为一种高效的调试工具,为开发者提供了极大的便利。然而,要想充分发挥J-Link的功能,首先需要正确安装其驱动程序。本文将详细介绍J-Link驱动的安装过程,并深入解析其中...

关键字: jlink 嵌入式系统 嵌入式开发

2024年4月8日-10日,国产领先DSP供应商进芯电子携多款数字信号处理器(DSP)芯片及消费电子解决方案,首次亮相于中国国际博览中心新馆(北京顺义馆)举行的2024中国制冷展。

关键字: DSP芯片 消费电子 汽车电子

与谷歌的合作使 Nordic 能够在 nRF Connect SDK 中嵌入开发人员软件,以构建与安卓移动设备兼容的谷歌Find My Device和未知跟踪器警报服务

关键字: 谷歌 SoC 嵌入式开发

嵌入式开发作为当今电子工程和信息技术领域的核心分支,涵盖了广泛的软硬件技术和系统集成方法,用于构建高性能、低成本、低功耗、体积小巧且功能专一的嵌入式系统。这些系统无处不在,从微型传感器节点到复杂的工业控制设备,从日常使用...

关键字: 嵌入式开发 Python

嵌入式开发是当今信息技术领域不可或缺的一部分,它融合了硬件设计、软件开发和系统集成等多个学科,专门用于创建那些被嵌入到特定设备或系统中的专用计算机系统。嵌入式开发的主要过程包括利用分立元件或集成器件进行电路设计、结构设计...

关键字: 嵌入式开发 硬件设计 软件开发

嵌入式开发作为一种专业且技术密集型的领域,涵盖了从硬件底层驱动、中间件到应用层软件开发等多个层面的工作,其所需的工具种类繁多,各有针对性,旨在提升开发效率、保证代码质量以及简化调试过程。

关键字: 嵌入式开发 keil

嵌入式开发作为信息技术领域的重要分支,其涉及的语言种类繁多,各具特色。这些语言的选择取决于目标平台的特性、性能需求、开发者的熟练程度以及项目的具体要求。本文将详细介绍几种常见的嵌入式开发语言,包括C语言、C++、汇编语言...

关键字: 嵌入式开发 C语言

嵌入式开发是一项综合了硬件设计、软件编程以及系统整合的技术活动,其目的是为了创造出能够在特定环境中高效、稳定运行的嵌入式系统。这一流程涵盖了多个紧密关联且不可或缺的阶段,从最初的客户需求分析到最终的产品测试和交付,每个环...

关键字: 嵌入式开发 硬件设计

嵌入式开发作为一个融合了计算机软硬件和系统工程的综合性领域,其成功与否往往取决于三个核心要素的有效整合与协调。这三个要素分别是:硬件平台的选择与设计、软件开发及其优化、以及系统级的设计与集成。深入理解并熟练掌握这三个方面...

关键字: 嵌入式开发 ARM
关闭
关闭