WAP中推送技术的分析与设计
q 推送消息提交:PI使用该操作向PPG提交推送请求,推送消息包括XML格式的控制信息,消息体和一个可选的客户能力描述三部份,共同组成一个多部相关的消息(multipart/related)。
q 确认通知:当PI请求确认的推送时,该操作用于传输确认消息。
q 推送取消:PI请求PPG取消先前的推送请求。
q 状态查询:PI利用该操作查询先前的推送请求的执行状况。
q 客户能力查询:PI可利用该操作查询客户端的能力,以调整传送给用户的推送内容及格式。
⑶ 推送空间传输协议(P-OTA)
P-OTA是运行于WSP之上的一层较为简单的协议层,负责从PPG到客户代理的数据传输。P-OTA可使用面向连接的会话和无连接会话两种WSP层服务,对于使用连接会话的推送,需要在PPG和客户端间预先存在一个激活的会话上下文;对于无连接的推送,则通过预留的端口完成通信。
⑷ 服务指示(SI)和服务加载(SL)
推送消息送到移动设备后,通常只需显示给用户即可,但用户可能会有些不同的需求。WAP的推送协议中定义了服务指示和服务加载两项服务,以给用户和网络运营者更多的选择。服务加载是将一项服务的URI推送给用户,然后客户端自动的使用拉技术根据该URI启动服务。服务指示是将新信息的指示和相关的URI推送给用户,由用户选择是立即处理信息或以后处理。两种服务的区别在于用户是否介入推送信息的处理过程。SL对推送信息的处理对用户来说是透明的,而SI则在指示用户的同时,请用户对随后的处理做出选择。
4.WAP推送技术的实现
本节以一个电子邮件系统为例,简单的探讨了WAP推送技术的实现。在Internet中,电子邮件系统已相当的普遍,但是收发电子邮件通常还是限制在固定的PC机完成,信息的及时性大打折扣。虽然GSM的短消息功能也可提供邮件功能,但是信息量小(160个字符),类型单一(仅限于文本),远不能满足用户的需要,所以可以利用WAP的推送技术来实现移动电子邮件功能。基本的设计构想如图二所示。
图二、移动email系统设计构想
希望实现的功能包括:
q 服务的登记与取消
q 邮件到来通知(响铃或振动,并提供邮件头部信息)
q 利用手机阅读邮件
q 利用手机发送邮件
q 利用手机配置服务
整个邮件系统由以下几部份组成:
q 邮件服务器:该部份即位于Internet中的普通的邮件服务器,负责用户邮件的收发工作。
q POP3邮件代理:该部份使用POP3协议与邮件服务器进行通信,并负责推送消息的发起,是整个系统运行的核心组成部份。它维护着一个用户数据库,记录所有登记该服务的用户的信息,包括电子邮件地址、POP3服务器地址、账号、配置、手机号码等,采用轮询的机制通过Internet定期检查各邮件服务器,如发现某用户有新邮件,则取得邮件的部份信息(如收发人、时间、主题等)作为指示内容,并以PI的地址作为URI,共同构成服务指示消息,然后依据该用户的手机号对移动设备寻址,使用PAP协议向PPG提出推送请求。
q 推送代理网关:PPG收到推送消息后对信息进行鉴权,包括消息是否来自合法的推送服务器,用户是否登记,消息格式是否符合DTD语法等。对于合法信息利用WBXML格式进行压缩,然后通过P-OTA协议传送给对应用户的手机。
q 移动设备:包括邮件应用程序和服务加载器,服务加载器负责监控推送消息的到达,当收到合法的推送消息时,以振动或响铃的方式通知用户新邮件的到达,并将指示消息中邮件头部信息显示给用户。这时候,用户可选择立即启动服务或是推迟服务。
系统的工作流程如下:
⑴ POP3代理以一定的时间间隔,使用POP3协议检查各用户是否有新邮件到达,若有则取回邮件的头部信息。
⑵ POP3代理作为推送的发起者,依据收到的邮件头部信息和数据库信息向相应的用户发起推送请求。
⑶ PPG对推送的消息进行鉴权和格式检查后,压缩成适合无线链路传输的二进制消息发送给指定的用户。
⑷ 客户端的服务加载器检测到推送消息后,提醒用户新邮件的到达,然后根据用户的选择启动或推迟服务。
⑸ 若用户选择立即阅读邮件,则将启动客户端的邮件程序,以用户账号作为参数,依据指示消息中携带的URI向PI发出WSP GET请求。
⑹ PPG对WSP请求进行协议转换,向POP3代理发出HTTP GET请求。
⑺ POP3代理收到请求后,代理客户从对应的POP3服务器上取得邮件,并构造成WML页面,然后作为请求的响应返回客户端。
从具体的实现上看,现有的许多WAP网关产品,如Nokia WAP Server,都集成了PPG的功能,提供了对推送技术的支持,另外,越来越多的移动设备开始支持WAP协议,推送功能也在逐渐的得到支持,所以实现的重点就集中在了POP3代理上。这部份的功能可实现在一台同PPG和Internet同时有连接的计算机上。需要运行两个服务器程序,一个支持text/wml类型的WEB服务器,用以响应PPG的HTTP请求,返回邮件页面。另一个特定的监控程序,用以不断的检测与接收新邮件,构造推送消息和WML页面。需要另外说明的