10.5 XML与移动通信

1990年以来,互联网和移动通信的发展极大地改变了人们的生活、学习和工作。人们不仅仅将互联网视为一种手段或工具,更将它视为一种生活方式,他们要求能够随时随地与互联网保持连接,并且能够在移动中获取信息。但是由于互联网需要与固定的有线网相连,无法满足人们的这个需要。移动电话生产商和电信运营商顺应人们需求,利用无线上网技术,将互联网与无线网结合起来。

随着移动电话与互联网结合,无线上网的趋势正在形成,新的移动通信标准使得移动终端的带宽可以达到最高2Mbps。有人预言,随着无线带宽的增加和无线上网技术的迅速发展,.move将替代.com成为新的潮流。一些网络先锋将电子商务应用与无线上网结合起来,开始展开移动电子商务的业务。在这过程当中,WAP(Wireless Application Protocol)起着决定性的作用。

WAP的提出是为了满足人们在移动中连接互联网的需要,相对互联网而言,无线数据网络的带宽窄,连接的稳定性差,手机的CPU功率相对于PC会更小,内存和显示器更小,输入设备更为简单等等。由于无线网络和移动设备的这些特点,使得WAP规范无法直接利用互联网的技术和标准,而必须重新定义符合移动设备和无线网络特点的规范。1997年6月,Phone.com联合了Nokia、Ericsson、Motorola合作建立了WAP论坛,旨在利用已有的互联网技术和标准,为移动设备连接互联网建立全球性的统一规范。它们的工作很快有了成果,在1998年5月,推出了WAP规范(Specification)1.0版,并于1999年11月发布最新的1.2版。

WAP规范1.2版包括了31个文件,它定义了一种无线应用程序的编程模型和语言,并且定义了一套用来实现无线互联网访问的规范。其中主要定义了以下几种组件:

  • WAP编程模型
  • 这个模型在很大程度上利用了现有的WWW编程模型,这样可以给应用开发人员带来许多好处,可以最大限度地利用他们原来掌握的经验和各种开发工具。WAP编程模型还针对无线环境的通信特点对原有的WWW编程模型进行了优化和扩展,见图示:

  • 无线置标语言(WML)
  • WML是利用XML1.0标准定义的面向显示的置标语言,特别适合于在性能方面严重受限的手持设备。WML和WML Script并不要求用户使用传统的PC机键盘或鼠标进行输入,而且它设计时就考虑到了手机的屏幕尺寸限制。使用WAP网关,所有的WML内容都可以通过Internet使用HTTP 1.1请求进行访问,因此传统的Web服务器、工具和技术可以继续使用。在5.3.6节中对WML给予了详细的描述。

  • 微浏览器规范
  • 这个规范与标准的Web浏览器规范类似,它定义了一个适合于手持设备的功能强大的用户接口模型。这个规范定义手机如何解释WML和WMLScript并且显示给用户。

    用户通过上移键和下移键而不是鼠标在各个卡之间来回进行导航。为了保持与标准浏览器的一致,微浏览器还提供了各种导航功能如Back、Home、书签等。微浏览器允许具有较大屏幕和更多特性的设备自动显示更多的内容,就像传统的浏览器当浏览窗口扩大时能显示更多的信息一样。

  • 轻量级协议栈
  • 这个协议栈将无线手机访问Internet的带宽需求降到最低,保证了各种无线网络都可以使用WAP规范。通过使用WAP协议栈可以节省大量的无线带宽。要完成同样一个访问操作,使用WAP协议栈涉及到的包数量不到使用全标准的HTTP/TCP/IP协议栈的一半,这对于带宽严重受限的无线网络来讲无疑是十分有用的。

  • 无线电话应用(WTA)框架
  • 它允许无线手机访问各种电话功能如呼叫控制和来自WML Script applet中的信息。这允许商家开发各种电话应用并且将其集成到WML/WML Script服务中。如呼叫转移这样的服务,商家可以提供一个用户接口,提醒用户是准备接受呼叫、转移到他处还是将其转发成一个语音邮件。

  • WAP网关
  • WAP规范使用标准的Web代理技术将无线网络与Web连接起来。通过将处理功能集中在WAP网关中,WAP结构大大减少了手机上的操作负载,因此为手机实现价廉物美提供了基础。如,一个WAP网关一般可以使用所有的DNS服务来解析URL中使用的域名,因此就不再需要手机来完成这个计算任务。还可以利用WAP网关来为用户提供各种服务并且可以帮助网络服务商防止诈骗和服务利用, 见下图。

    一个WAP网关一般包括以下功能:

    • 协议网关:协议网关将来自WAP协议栈的请求翻译到WWW协议栈(HTTP和TCP/IP)中;

    • 内容编码器和解码器:内容编码器将Web内容翻译成紧密编码的格式,以减少通过无线数据网络传输的数据包的大小和数量。

    下面,我们再来详细讲一讲所谓的WAP协议栈。如下图所示,WAP的协议栈采用层次化设计,这为应用系统的开发提供了一种可伸缩和扩展的环境。每层协议栈均定义有接口,可被上一层协议所使用,亦可被其他的服务或应用程序直接应用。在设计中,WAP充分借鉴了Internet的协议栈思想,并加以修改和简化,使之可以有效应用于无线应用环境。

  • WAE层
    WAE(Wireless Application Enviroment,无线应用环境)是一个结合了WWW和移动通信技术的常用编程环境。WAE的主要目的,就是要建立一个可互操作的环境,以便在用户终端部分和服务供应商部分开发程序或提供服务,而不去考虑各种无线网络平台的不同。WAE包括一个微浏览器环境,以及:

    • WML(Wireless Markup Language)。这是WAP制定的基于XML的置标语言;

    • WMLScript。这是对WML语言的补充,与javascript很相似;

    • WTA/WTAI(Wireless Telephony Application)。这是一个通信服务和编程接口;

    • 内容格式。这是WAP定义的一组数据格式,其中包括图片,电话簿,日历信息等等。

  • WSP层
    WSP(Wireless Session Protocol,无线会话协议)是WAP的应用程序层,用于对两种会话服务提供统一的接口:一种是建立在事务层协议WTP基础上的面向连接的(connection-oriented)服务,另一种是建立在安全或非安全的数据报文(datagram)服务(WDP)基础上的无连接服务。

  • WTP层
    WTP(Wireless Transaction Protocol,无线事务协议)运行于数据报文服务之上,并提供部分的面向事务(transaction-oriented)协议(因为移动数字终端属于“瘦”客户端,及它无法支持大数据量的事务服务)。

  • WTLS层
    WTLS(Wireless Transport Layer Security,无线传输层安全)是WAP在另一个工业标准TLS(Transport Layer Secureity,传输层安全)协议的基础上制定的一个安全协议。其制定的目的就是在窄带宽的通讯频道上安全地使用WAP的传输协议。

  • WDP层
    WDP(Wireless Datagram Protocol,无线数据报文协议)是WAP的传输协议。作为一种通用的传输服务,WDP为其上的其他WAP协议提供统一的服务,并向其下的各种承载器(Bearer)进行透明的通讯。正是因为这种透明性,WDP之上的安全、会话和应用层可以与WAP结构中最下层的各种无线网络互相独立。

  • 承载器(Bearer)层
    各种承载器所能够提供的服务是不一样的,根据数字终端的接受/发送能力,误码率,和延迟时间的不同,承载器所能够提供的服务质量也会不一样。WAP协议可以容忍这些差异,或者可以对这些差异进行补偿,从而达到对上层协议透明。

  • 其他服务和应用
    通过WAP定义的一系列接口,外部服务或程序可以访问WAP协议堆栈的各个层面。

  • 总之,WAP创造了一种商业机会,它使得现有的业务或新的业务可以每时每刻被用户访问,它可以发掘出各种崭新的、甚至目前无法想像的增值业务,这为电信业务运营商提供了创造丰厚利润的宝贵商业机会。

    WAP最有潜力的应用是与电子商务结合,实现移动中的电子商务。例如随时参与证券交易,使用移动网络银行业务,在移动中实现网上购物。现在您随身可能携带钱包、电话本、信用卡、手机等,在将来,可能您只需携带一部具有WAP功能的移动电话,就可以完成打电话、付账、买车票、管理个人工作安排等一系列事情。

    但是,行业内部也有不同的声音。以通信市场调查咨询而闻名的美国Ovum公司在其2000年5月23日发表的报告“WAP市场策略”(WAP Market Strategies)中警告:“采用WAP技术的第一代手机已投放市场,但这种技术未必就是最好的。想抢搭WAP头班车的笠当匦肭宄厝鲜兜絎AP不是唯一可以利用的、最好的技术。”Ovum公司提醒那些参与移动因特网服务的企业在制定战略时,需要考虑到WAP以外的技术,诸如以XML为基础的技术等。