摘要:基于XML的移动终端网络浏览方案在传统客户/ 服务器浏览模式中插入中间层,中间层在后台服务器上运行,接收客户端服务请求,并与WEB 服务器通讯以获取需要的HTML 文件。并按照规范过滤此文件控制工程网版权所有,重新组织XML 格式的文件CONTROL ENGINEERING China版权所有,通过无线网络传入客户端。客户端平台采用嵌入式Linuxwww.cechina.cn,根据需要自由裁减,经XML 解析后,调用GUI 函数显示网页。
关键词:嵌入式浏览器;移动终端;XML;解析器
引言
移动终端受移动性和便携性的制约,CPU 主频及计算能力较小,存储器容量、显示屏和输入设备大小也受到限制。同时,无线数据网带宽、连接可靠性及网络可预测性相对较低, 网络时延比有线网大。如果将移动终端通过无线方式直接接入Internet,技术实现有困难。近年业界提出:一是重写现有Internet 协议,使其与现有协议兼容,让移动设备透过微浏览器( Micro-Browser) 能通过无线网络使用Internet 上所提供的针对WAP 特别定制的资讯及服务。另是将移动终端当作功能简化的PC,并内置HTML 浏览器,虽可自由访问现有网络, 但由于现有Internet 网站网页大
基于XML 的移动终端网络浏览模型
模型概述
基于XML 的WEB 浏览方案是在传统的客户/服务器浏览模式中插入中间层。中间层接收客户端的服务请求,并与WEB 服务器通讯以获取所需要的HTML 文件控制工程网版权所有,将此文件按一定规范进行过滤,去掉客户端不需要的标签及内容,重新组织成XML格式文件通过无线网络传送给客户端。经由XML解析器以后,调用GUI 图形接口函数将网页显示在用户界面上。客户端浏览器的控制部分负责响应用户的请求,并处理与用户的交互。其结构如图1。
在无线网络浏览中使用XML 的优缺点
可扩展标记语言(XML: eXtensible MarkupLanguage) 是用来描述其它语言的元语言,定义了应用间传递数据的结构, 是能用任何编辑器读取的文本。利用种机制,程序员可制定底层数据交换的规范,并在此基础上开发整个系统的各个模块,模块间传输符合既定规则的数据,适合计算机间传送结构化数据。
每种浏览器内置的文档解析器是最核心的部分之一,影响浏览器的运行效率和空间效率。由于XML 统一定义了其文档解析器的标准接口规范--DOM( Document Object Model),即文档对象模型,使得应用程序可按需选择、更换合适的解析器,无须对程序本身做大的改动。在浏览模型中, 将HTML 解析等计算量大的任务交由中间层服务器完成控制工程网版权所有, 客户端进行较为简单的XML 解析, 符合瘦客户机/ 服务器的信息应用体系模式。当前使用XML 最大的问题是支持XML 的应用程序还不多, 许多具体应用还需要开发员自行设计。
中间层实现的机制和原理
选择VC++ 6.0 为中间层的集成开发环境,中间层运行在后台服务器上, 采用模块化的设计。每个模块作为一个常规动态链接库( Regular DLL )单元CONTROL ENGINEERING China版权所有, 由后台服务器需要时动态加载。
(1) 数个无线MODEM通过多串口卡连接在后台服务器上构成无线MODEM 池,为多个移动终端用户提供服务。客户端与服务器建立连接时, 先申请MODEM 池中的空闲资源并建立与后台服务器连接, 发送客户端浏览器服务请求,任务完成后释放MODEM 资源。如没有可用资源,等待一定时间后重新申请。
(2) 后台服务器通过有线网络接入Internet,使用标准WWW 协议栈(HTTP、TCP/IP 等)。与WEB 服务器通讯时主要使用CInternetSession,CHttpConnection 和ChttpFile 等3 个MFC 类。核心代码如下:
C I n t e r n e t S e s s i o n s e s s i o n ;
C H t t p C o n n e c t i o n * p S e r v e r = N U L L ;
C H t t p F i l e * p F i l e = N U L L ;
AfxParseURL(pURL,…);
初始化完成后, 将客户端的服务请求转化为标准统一资源定位符( URL : Uniform ResourceLocator ), 并调用全局函数AfxParseURL 分析映射此URL。
pServer = session.GetHttpCo