CDC和CLDC仅仅是对各类设备中最具共性的配置提供了基本的功能集合。但是,实际应用中,不同的设备之前存在着很大的差异。因此,我们在Configuration的基础上,又提出了Profile的概念。Profile规定的内容,是针对某一类设备所制订的规范和API,有了Profile以后,才真正有了可以建立一个可运行J2ME应用程序的完整环境。移动信息设备Profile(Mobile Information Device Profile或MIDP)以CLDC为基础,它是第一个制订完成Profile,也是第一个可供使用的J2ME应用程序运行环境。本文中的内容也将主要围绕MIDP来展开。
J2ME能为开发者和用户提供什么功能? 如前所述,MIDP出现最早,也发展最快,在此我们也仅讨论J2ME MIDP应用程序的开发。2002年10月,JCP(Java Community Process,参见http://www.jcp.org)推出了MIDP2.0的规范,和MIDP1.0相比,它大大加强了对用户界面、多媒体和游戏功能、网络连接功能的支持,同时将OTA应用程序下载包括到规范中来,另外还为无线信息设备提供了端到端(end-to-end)的安全机制。
为了支持对声音的处理(例如播放WAV文件),MIDP2.0中增加了一个可选包ABB(Audio Building Block)。在以前,ABB只包含在Mobile Media API(MMAPI)中,现在将其纳入到MIDP中来,开发者就可以不用依靠于MMAPI了。当然,假如使用了MMAPI,可以为移动设备开发更多的功能,比如可以在PDA上播放视频流等等。
支持Over-the-air (OTA) Provisioning是MIDP2.0的一个重要的新特点,它使得用户能够动态地部署和更新移动设备上的应用程序。新版的MIDP规范中规定了如何在移动设备上发现、安装、更新和删除MIDlet套件;同时,提供给用程序下载的服务提供商还能够判定该MIDlet套件是否能够运行在申请下载的设备上,并且从设备上获取安装、更新和删除的信息。MIDP OTA provisioning模型为移动服务提供商提供了单一、标准的部署MIDP应用程序的途径。该模型已经被众多技术领先的移动设备制造商和服务提供商所采纳。
在这种情况下,越来越多的移动设备制造商和开发者意识到,需要建立一个标准来保证J2ME应用程序的跨平台性。《无线领域的JAVA技术规范》(Java Technology for the Wireless Industry即JTWI,JSR185)正是为了完成这个使命而出现的。来自Motorola,、Nokia、Sony和Sun等公司的技术专家于2002年底开始了该规范的制订,并将于2003年中期正式推出。JTWI并没有定义新的API,而是为已有的J2ME规范(例如CLDC、MIDP、MMAPI等)创建了新的手持设备的Profile,使它们能有效地集成在一起,为在手机以及其他移动设备上实现“端到端的解决方案”提供一个完整的JAVA运行环境。图3为JSR185中规定的在手机软件堆栈中各个组件的关系示意图。 图3