2.2.1 WAP工作原理
作为开放性的全球规范,WAP可以使移动用户利用无线电设备方便地访问或交互使用Internet应用信息和服务。前文述及,在Internet中,一般的协议要求发送大量的主要基于文本的数据,而标准Web内容很难在移动电话、寻呼机之类移动通信设备的小尺寸屏幕上显示。同时,在用户单手持机的情况下,屏幕间的内容切换也很不方便,并且HTTP和TCP/IP协议也没有提供针对无线网络的非连续的信号覆盖、长时间的延时以及对有限带宽所进行的优化处理。在Internet中,HTTP协议不是以压缩的二进制方式,而是以效率不高的文本格式发送标题和命令。因此,如果在无线电通信服务中使用普通 Internet协议,则会导致速度慢、成本高且难以大规模应用等问题,而且无线电传输的延时还会造成其他一些问题。 为了解决此类问题,WAP进行了很多优化处理。比如,利用二进制传输经过高度压缩的数据,并对长延时和中低带宽进行优化。WAP的会话功能可以处理不连续覆盖的问题,并能自动地在IP不可用时改用其他优化协议来进行各种信息传输。通过使用WML语言编写网页,WAP还解决了Internet页面不能在移动通信设备上显示的问题。运用WML编辑的网页可在手机的微浏览器上产生按钮、图示及超链接等功能,并可提供信息浏览、数据输入、文本和图像显示、表格显示等功能,大大减小了在移动设备上浏览网页内容的复杂程度。 另外,WAP通过加强网络功能来弥补便携式移动设备本身的缺陷,工作时尽可能少地占用移动通信设备的资源,比如CPU、内存等。与Web对Internet的作用一样,WAP在应用层上隐藏了GSM的复杂性,给用户提供了类似于普通Web页面的友好性。WAP还通过使用类似于javascript的脚本语言WMLScript,来使移动通信设备先将信息进行处理后再发给服务器。WAP还通过无线电话应用WTA来实现呼叫控制等诸多电话功能。 WAP标准下的移动终端均配备了一个微浏览器,该浏览器采用了一种类似于卡片组的工作方式。用户可以通过卡片组来浏览移动网络运营商提供的各项Web业务。工作时,移动终端用户首先选择一项业务,该业务会将卡片组下载到移动终端,然后用户就可以在卡片之间往返浏览,并可进行选排或输入信息,以及执行所选择的工作等。而且,浏览到的信息可以高速缓存,以便供以后使用,卡片组也可以高速缓存并可做成书签以备快速检索之用。该浏览器同时还对电子名片、日历事件、在线地址簿和其他类型内容的格式提供了相应支持。 2.2.2 Internet与WAP的系统架构
为了说明WAP的系统架构,我们先来分析一下普通Internet中Web服务器的工作方式和工作原理。 在图2.2所示的WWW模型中,客户向URL所指定的Web服务器发出 一个请求,Web服务器收到该请求后,经处理即返回相应的内容至客户端。这个过程中,双方是按照HTTP协议进行交互的。客户端发出一个以HTTP开头的URL请求时,Web服务器端处理该请求的程序可能是CGI程序、静态网页,也可能是Servlet程序,甚至可能是其他服务器端的程序,但它们都是以HTML格式将相应的内容返回给客户,这样,客户就可以在浏览器上看到返回的具体内容。 图2.2 WWW模型 WWW模型(图2.2)还同时说明了建立普通应用环境所需的必要配置,主要包括以下几个方面: (1) 标准命名模型。WWW上所有的服务器和内容都是通过Internet标准的信息指定方法进行命名的。 (2) 内容键入。主要指URL的键入,WWW为此定义了若干特定的类型,允许网络浏览器在此基础上进行正确的处理。 (3) 标准内容格式。所有的网络浏览器均支持一组标准的内容格式,包括超文本标记语言HTML、Java描述语言以及其他格式。 (4) 标准协议。标准网络协议允许任何网络浏览器连接到任何网络服务器上。WWW体系中最常用的协议是HTTP协议。WWW的这种基本结构可使用户方便地运行、获取第三方的应用软件及内容服务,并可使开发人员方便地为广大客户创建特定的应用软件和内容服务。 下面我们再来分析WAP的网络架构。WAP网络架构由3部分组成,即WAP网关、WAP手机和WAP内容服务器。其中,WAP网关起着“翻译”协议的作用,是联系GSM网与Internet的桥梁;WAP内容服务器可以存储大量信息,以供WAP手机用户来访问、浏览和查询等;WAP手机为用户提供了上网用的微浏览器及信息、命令的输入方式等。图2.3所示就是WAP模型的基本网络架构。当用户从WAP手机键入想要访问的WAP内容服务器的URL后,信号经过无线网络,以WAP协议方式发送请求至WAP网关,然后经过“翻译”处理,再以HTTP协议方式与WAP内容服务器交互,最后WAP网关将服务器返回的内容压缩、处理成二进制流,并返回到客户的WAP手机屏幕上。编程人员需要解决的问题是编写WAP内容服务器上的程序或者说WAP网页,有关WAP网页的编写方法我们后面会详细介绍的。 图2.3 WAP模型 与WWW模型一样,WAP也定义了一组旨在促进移动终端与WAP内容服务器之间通信的必要配置,主要包括以下几个方面: (1) 标准命名模型。WAP与WWW一样,其服务器和内容都是通过Internet标准的信息指定方法进行命名的。 (2) 内容键入。主要指URL的键入,WAP建立了与WWW一致的内容形式和类型,允许WAP用户代理在此基础上进行正确的处理。 (3) 标准内容格式。WAP基于WWW技术,所用微浏览器也支持一组标准的内容格式,包括WML及其脚本语言、图像、日历信息、电子名片甚至涨价幅度等的格式。 (4) 标准协议。WAP网络协议允许手机中的微浏览器通过WAP网关连接到WAP内容服务器上,满足了移动终端与网络服务器之间传输信息的要求。 关于WAP的网络构架,我们还有几点需要强调说明: (1) WAP的客户端一般都是WAP移动设备,比如最常见的手机。它们通常由不同的公司生产,各自具有不同的特点,所以对WML和WMLScript 的解释也有所不同。因此,将来具体开发时,还要参考各个厂家提供的技术资料,综合考虑不同品牌、型号的WAP手机特点,如Nokia 7110、 Ericsson R380、Motorola L2000www等等,以使开发的网页及应用能为绝大多数的手机所接受。 (2) 一般来说,用户都希望WAP手机的屏幕足够大,分辨率足够高,否则浏览网页时不是太方便。然而由于不同型号WAP手机的屏幕大小并不完全一样,所以开发人员需要考虑针对不同的手机制作不同的网页,或制作含有多种选择的网页,以便使得客户在浏览时同样感到合适、方便和快捷。而且,由于各种手机对WML和 WMLScript的支持情况不太一样,就像Internet Explore和Netscape之间的情况一样,所以开发时更是要考虑不同手机的特殊情况。 (3) WAP手机上网中的安全性问题在开发中也需要考虑,如散射在空间中的电波会同时把用户的口令、密码等重要信息同时散射在空间中。本书后面将专门讨论WAP手机上网的安全性问题。 (4) 网关在WAP系统的整个构架中有着十分关键的作用,它是连接客户和服务的桥梁。网关可以在电信局一端(见图2.4),也可以和网络服务器集成在一起(见图2.5)。图2.4 网关在电信局一端时的结构图 具体开发中,要根据这两种情况采用和实施不同的设计思想及方法。一般来说,如果网关在电信局一端,那么在服务端开发应用程序时与以前的网页开发没有太大的区别。只要符合通用网关接口CGI(Common Gateway Interface)标准,无论是采用Perl、C、C++、Basic、 Dephi或是专门的ISAPI、Serverlit等,开发方法都是一样的。这种情况下开发人员拥有比较大的自由。