目前,以计算机和软件为核心的数字化技术取得迅猛发展,机顶盒、信息家电等新产品的出现让人们开始关注嵌入式系统,嵌入式浏览器也随之开始被关注。浏览器主要完成实现下载网页,解析网页脚本语言,最后再合理的显示给用户的任务。WAP(wireless Application Protocol),即无线应用协议,亦称无线互联网协议。WAP协议的功能:用户只要使用具有WAP功能的移动终端诸如移动电话之类的无线客户端,就会像电脑IE、搜狗等PC浏览器一样,查看各种网页信息,展示Intemet内容。WAP由一系列通信协议组成。WAP的协议栈采用了层次化设计,从而为应用系统的开发提供了一种可伸缩和扩展的环境。每层协议栈均定义了相应的接口。可被上一层协议所使用,也可被其他服务或应用程序所直接应用。WAP的各层协议如图1所示。
本文分析了WAP嵌入式浏览器的主要功能模块、工作流程、总体设计,重点分析解析模块和布局模块,最后展望WAP浏览器发展未来。
1 嵌入式浏览器概述
一般情况下,嵌入式浏览器包括两个功能:一是支持如HTTP、WAP传输协议;二是能够在嵌入式设备中运行传输协议,并有标记语言的功能以及能够根据使用者的需求进行处理各种情况。
1.1 浏览器功能模块
如图2所示,在本文设计中,浏览器主要模块有:绘图模块、布局模块、数据处理模块、DOM树模块。这样做的目的是确定分层体系结构,使每个层和相邻的进行交流,和不相邻的不进行交互,符合软件工程“高内聚,低耦合”的思想。其中:
绘图模块:利用对XML文件解析的结果生成DOM树和布局模块(RENDER)树,同时生成浏览器窗口及相应的控件,并在屏幕上排版显示。
布局模块:对生成的DOM树中得到样式的有关信息,如居中,字体等,组织布局、显示XML元素等内容。数据处理模块:数据处理模块包括处理XML和images。对访问的网页XML文件进行解析处理,包括表格、图片、文字并生成相应的DOM树。
DOM树模块:DOM(文档对象模型)是XML文件解析后的结果。它的内容包括了当前XML文件中所有的元素、元素的子元素、元素的属性、元素的样式、元素的事件等。在对象树模型中,文件的每一节点都被称为属性。而且它是完整的,对文件最小细节它都允许进行模型化而且可以访问。它也是对修改最不敏感的一种模型。
1.2 网页工作流程
数据从URL发出一个网页请求,提交到通信模块,通信模块得到数据之后,交给数据处理模块进行解析。生成DOM树,然后布局模块会根据DOM树上的节点进行布局整理,同时将布局信息存储到DOM树中,最后绘图模块会对客户端进行绘制。一般情况下,浏览器中看到的就是绘图模块的绘制效果。页面访问流程如图3所示。