ccidnet????

出版日期:2001-01-08 总期号:988 本年期号:03

本期导读
要闻综合
电脑工作室
渠道与市场
产品与应用
软件与服务
InfoCD
WAP与J2ME谁更适合移动通信?

葛声

  目前,无线世界的发展令人振奋,现有的技术已经可以使用户享受移动所带来的前所未有的自由,而且在此基础上的新技术将可以使地域的限制永久消失。为了说明这一点,我们请来了两位专家对这两种技术的优缺点坦率地进行讨论,并对未来的前景进行了描绘。

  甲:WAP是为了使显示屏幕小、连接速度有限的无线设备能够访问Internet或Intranet资源而设计的。1997年,由Phone.com、Ericsson、Nokia和Motorola创建了无线应用协议论坛,目前该组织已经发展到几百个成员。该论坛的目标就是为整个无线界提供免费的标准,从而使每个人都可以开发基于WAP的服务。

  他们实现了上述目标。WAP是一个不断进化的标准,但是目前已经得到众多的业界支持,使其成为手持设备市场中传送和显示无线Internet服务的标准选择。

  WAP不但使移动电话的访问标准化,而且同样适用于PDA和呼机。它可以工作在所有主要的无线网络中的电路交换、包或简单消息服务——包括CDMA(Code Division Multiple Access)、GSM(Global System for Mobile communication)、TDMA(Time Division Multiple Access)和CDPD(Cellular Digital Packet Data),并且可以构建在任何操作系统之上,如Windows CE、Palm OS、EPOS和JavaOS等。

  基于WAP的站点将信息分成一行或两行显示:公司名称和电话号码、航班号和时间、货币和汇率等等。WAP擅长处理这种信息,用户访问起来也很容易,速度也快。但是WAP并不是适合所有的人。由于它特有的天性,WAP最适合于那些对移动性要求很高的人。

  乙:Java 2 Micro Edition(J2ME)就是特意为满足使用小设备的大量客户的需求而提出来的,这些小设备包括智能卡、呼机等。由于它的内存小并且显示受限,因此是使用Java的理想环境。

  但是在谈论什么是J2ME以及它将带来什么益处之前,我们最好先说明一下J2ME不能做什么,以及它不是WAP的替代品。那些持这种观点的人很快就会同意与其把J2ME看作是WAP的竞争对手,不如将其看作是进一步扩展无线访问和应用的一个补充技术。

  你前面提到,WAP是一项浏览器技术,它使用户可以浏览提供WAP功能的网站。不幸的是,虽然它确实很有用,但是它也有一些缺点,比如安全性,以及在单机或离线操作时需要持续的广播时间。

  然而,当使用J2ME时,用户将会被提供一个基于Java的应用环境以丰富他们的经验。它之所以非常吸引人是因为运行时就如同用户通过标准的WAP浏览器下载应用一样容易。

  而且,通过使用这项技术,用户将不再被限制在WAP设备的有限的单色接口,而是可以很容易地享受到丰富多彩的生动的图像和应用。Java应用程序一旦存储在手持设备上,就可以使用已有的WAP体系结构与后端的信息系统交换数据。

  如果用户知道下面这一点一定会很高兴,那就是用J2ME开发的应用可以向上升级到Java 2 Standard Edition (J2SE),并且通过进行一点修改也可以升级到Java 2 Enterprise Edition (J2EE)。


  未来什么样?


  甲:从事移动数据业务的公司和终端用户都将受益于WAP。

  这些设备覆盖了终端用户的广泛的需求,电话生产商将不断地改进开发更新更复杂的设备来继续支持和提高服务以及用户的经验。由于所有主要的电话生产厂商都支持WAP,因此WAP将很可能会非常成功。

  乙:相信J2ME也会成功,因为电话生产市场的巨头们如Nokia、Motorola、LG Telecom等都支持J2ME。J2ME之所以更吸引开发者是因为它更适合于开发无线应用。有些人可能现在不会重视J2ME,但是Java传统上是一个更适合于基于桌面和基于服务器的语言,因此针对嵌入式系统的构建者而言,它更能吸引大多数主流的开发者。

  除了你说的J2ME不受重视外,我不能同意你其他的观点。实际上,如果你考虑一下即将到来的3G(第三代)标准,很多商家已经考虑使用这种技术。而且,一旦更多的用户认识到Java不但在它自身的范围内,而且在无线领域均带来巨大的潜力,那么我相信这项技术将会得到更广泛的应用。

  我认为在不久的将来,WAP或者说是WML(Wireless Markup Language)的唯一问题就是如同其他任何一种语言或技术一样,将会很少有在这方面真正合格的人才。而令Java引以为豪的是,只要不断有人使用它,我相信就会不断有真正掌握它的人才。


  谁有更多的支持?


  甲:WAP设计的初衷是通过利用在编程、应用、开发工具和Web服务器方面的已有投资来使用已有的Internet结构。

  WAP与目前已有的数据网络标准及Internet技术,如IP和XML紧密结合,但它最关注的是无线访问这一特定的需求。

  在未来的几年里,有望对WAP规范进行很大的改进。

  WAP的热衷者们期望大量的无线Web站点使用HTML/XML来编写网站的内容,以消除为了支持WAP而必须采用的转换过程和代理服务器技术。实际上,大多数的微浏览器支持混杂的WML/HTML,既可以限制WAP的WML,也可以显现传统的Internet HTML内容。目前有四个WAP软件包可以供软件开发者使用来开发基于WAP的服务,分别由Dynamical System Research、Ericsson、Nokia以及Phone.com四个公司提供。

  乙:虽然我同意你说的有很多工具可以将内容转换成WML,包括你没有提到的IBM的Transcoding Publisher,但是创建J2ME应用的工具更多。不管你是喜欢Metrowerks的Java Code Warrior还是Sun的J2ME Wireless Toolkit,你都会找到一个可以使开发者创建基于J2ME的富有特色的内容和应用的工具。

  从硬件的角度来看,设备生产商如Nokia和Motorola都将J2ME包含在了它们下一代无线设备中了。


  挑战和变化


  甲:3G这个词是下一代移动通信系统的统称。3G系统可以为声音、文字和数据提供更好的服务,但它最大的优点是可以提供高速和多媒体数据服务。

  在美国,3G已经得到了广泛的应用,家庭银行、电子商务和在线贸易将会进行一定的改变以适应移动环境和电视会议。无线终端将成为通往声音、数据、视频、移动Internet和交互性多媒体通信的个人网关。

  乙:我认为一旦3G达到饱和点,将会有更多的用户发现无线应用更具有吸引力。从J2ME角度来说,J2ME已经被采纳,并被负责制定下一代手持设备应用环境规范的团体第三代合作伙伴项目(Third Generation Partnership Project)指定为无线设备的工业标准。


  谁更安全?


  甲:WAP目前使用无线传输层安全规范Wireless Transport Layer Security(WTLS)来保证安全性。WTLS是特意为保障低带宽环境下,在缺乏PC机处理能力或内存的手持设备中安全进行交易而设计的。为了满足这种要求,WAP交换机作为一个在WTLS加密和作为Web标准的更健壮的SSL(Secure Sockets Layer)之间进行转换的翻译器。但是当数据从WTLS移交到SSL的过程中就产生了问题,因为数据需要经过一个先解密然后再加密的过程,而这意味着数据在一个很短的时间内是不安全的。即使这种数据转化发生在安全的数据中心,但是那短短的几秒钟时间还是很珍贵的。新版本的WAP协议规范有望解决这个问题,但是这可能需要一段时间。

  乙:这就是J2ME或者更确切地说Java真正闪光的地方。所有的Java应用都受到一定程度的限制,即所有的不信任代码都放在“沙箱”里,在那里可以安全地运行而不会对现实世界造成任何危害。当小程序或其他不信任代码在“沙箱”里运行时,会对它有一些限制,规定哪些它可以做,哪些不可以。最明显的就是它不能访问任何本地文件系统或系统资源。如果你想让它们能够访问本地文件系统或系统资源,那么可以通过简单的认证做到这一点。

  由于J2ME也可以支持其他的Internet协议,因此它还有其他的一些好处。比如Sun给出的一个例子就可以下载一个基于Internet 消息访问协议的邮件应用,直接与后台邮件服务器进行通信。这不但可以加速数据交换的速度,而且可以不使用WAP就能做到这一点。

  对于所有关心安全的开发者来说,前面提到的开发包也可以通过RMI(Remote Method Invocation )在手持设备和Java 2后端之间构建应用。


  最后的陈词


  乙:总之,我认为这两种技术对于那些准备在移动领域进行投资的人来说都是必备的。

  随着WAP的简化,Java的进一步加强,以及宽带网的实施,用户将会发现将简单的内容转换成吸引人的内容是一件很令人愉快的事情。

  甲:WAP与Java的结合,以及带宽的增大使得轻松访问Internet并且与社会保持联系成为可能。



  ■J2ME注解:

  J2ME是Java 2 Micro Edition 的缩写。简单地讲,就是Sun公司为了把Java应用于移动通讯设备、嵌入式设备或消费性电器而推出的一项技术(一般在个人电脑上的应用为J2SE:Java 2 Standard Edition; 在企业中的应用为J2EE:Java 2 Enterprise Edition)。J2ME包括虚拟机、针对设备的API库、针对设备的配置和框架定义(Configuration && Profile)等。