欢迎来到专业的尚善文档网平台! 工作总结 工作计划 读后感 发言稿 心得体会 申请书大全 思想汇报 述职报告
当前位置:尚善文档网>作文大全 > 基于WebKit浏览器的中间件系统架构

基于WebKit浏览器的中间件系统架构

时间:2022-03-22 09:23:38 浏览量:

摘要:基于浏览器来构建中间件系统模型,可以使业务系统的应用部署更加灵活方便,同时也带来应用系统开发难度的降低。基于WebKit浏览器,通过增加平台访问的JavaScript接口,使应用系统构建在统一的脚本语言基础上,新的应用代码不需要编译就可以控制整个系统的行为和逻辑,是中间件应用系统模型的较好解决方案。

关键词:浏览器;JavaScript;WebKit;中间件

中图分类号:TP393.092文献标识码:A文章编号:1009-3044(2011)07-1667-02

WebKit Browser Based Middleware System Model

XIAO Bing-kun, LV Kun, GUO Lin-jing

(Huizhou Meteorological Bureau, Huizhou 516001, China)

Abstract: To build browser-based middleware system model, the system can make the business more flexible application deployment, application development also brings difficulty reduced. WebKit-based browser platform, by increasing access to the JavaScript interface that enables applications built on a unity scripting language based on the need to compile the new application code can control the behavior of the system and logic. This is a better solution for build the application middleware system.

Key words: browser; JavaScript; WebKit; middleware

在消费电子市场,终端设备越来越趋向于智能化和网络化的方向发展。其中,伴随着移动网络的快速普及,浏览器技术也得到较大程度发展。WebKit浏览器内核以其开源,跨平台的特性得到各大IT厂商的技术支持及二次开发。至今为止,在基于Windows,Linux,手机Symbian等各种操作系统环境下都存在以WebKit为核心的浏览器实现,不同系统中的各种图形前端也对WebKit有成熟的支持。选择WebKit浏览器核心实现中间件应用系统,主要原因是其高度跨平台的能力和对Web标准支持的成熟度。

中间件应用系统主要解决应用或业务软件的跨平台执行问题,通常构建一个中间件系统,选择的主体的业务开发语言要具备跨平台执行的能力,Java语言往往成为首选。然而,随着硬件技术的发展和浏览器对Web标准的支持,中间件应用系统开始使用HTML,JavaScript等Web语言作为业务开发语言。

1 系统概述

图1所示是基于WebKit浏览器的中间件应用系统架构框图,其各组成层如下所示:

1) 硬件平台层:底层运行的是各种硬件环境,中间件的基本作用是解决应用软件的跨平台执行问题,各种不同的硬件平台是其硬件差异。

2) 操作系统层:在各种硬件平台上,一般各种厂家都有不同的软件解决方案,如基于X86系统可以运行Windows系统,也可以运行Linux系统,甚至只是运行基本的DOS系统,而嵌入式的各种硬件平台上,运行的操作系统更是包含Linux,uc/os-II,vxWorks等多种形态。这就构成了业务应用执行的软件差异。

3) 应用软件层:WebKit是一个浏览器核心,需要经过在各种系统环境中的移植,包装以后,才可以作为一个浏览器运行。运行于操作系统平台上的是基于WebKit构建的应用程序层,该层对下使用系统提供的接口完成运行基础的构建,对上则提供了统一的Web应用模型执行环境。这一层是中间件应用系统的执行基础。

4) 本地接口映射层:浏览器作为访问互联网的工具,虽然功能强大,但由于安全性的考虑,其中存在不少的局限性,比如对浏览器的沙箱模型一般会限制页面对底层资源的访问。这些安全特性的存在使浏览器无法访问本地资源,从而使上层应用无法彻底控制底层平台。比如,想通过JavaScript接口读取磁盘上的一个文件,在默认模式下是行不通的。这样,就需要扩展一整套的本地JavaScript控制接口,用以实现中间件业务系统对底层的全面控制。此层是中间件应用系统的核心。

5) 业务应用层:此层次是一些网页的结合,都是用HTML,JavaScript,CSS等Web技术完成的运行和业务逻辑。

2 本地接口映射层的接口设计

本地映射层中包含对底层控制的抽象方法及属性。其接口设计涵盖系统控制的基本方法,其中包含:

1) 外部设备控制及属性接口:该部分接口包含对本机非通用外部设备的控制接口,如CA卡控制查询接口,数码管显示控制接口等。

2) 网络配置及属性查看接口:用来实现对有线或无线网络设备的控制,网络参数配置,以及网络参数查询的接口,其中包含IP地址配置,连接方式配置,无线接入选择等功能。

3) 文件及存储系统访问控制接口:用来实现本地磁盘的写入,读取接口,以及文件读写,创建等操作。

4) 多媒体编解码支持接口:实现流媒体,本地媒体的编码或解码过程,其接口一般涵盖播放,暂停,快进快退等接口的设计实现。

5) 浏览器控制接口:实现对浏览器本身的控制。如历史记录前进后退接口,访问某一网址接口等。

6) 业务应用及第三方应用管理接口:用来管理系统中存在的各种软件及应用模块,包含启动,终止,暂停等控制接口。

7) 本地属性查看接口:用以查看本机信息,如版本信息等。

8) 其它必要接口:不能分类的其它必要接口。

3 WebKit的JS接口扩展方法

浏览器的JavaScript扩展是实现本地映射接口的关键,下面以基于Webkit的Qt实现来说明JS扩展的实现方法。举例说明性实现如下接口的方法:

myInterface.foo();

myInterface.testString;

首先需要定义一个数据结构,其中包含所有的接口,属性等。

static char code[] =

"myInterface.foo();\n"

"myInterface.testString = \"Hello\";\n"

"str = myInterface.testString;\n"

"myInterface.testInt = 10;\n"

"i = myInterface.testInt;\n";

这样就相当于声明了几个实现的接口,下面是其具体的实现代码:

QObject *testMyInterface()

{

if (m_myObject == NULL)

m_myObject = new MyObject();

return m_myObject;

}

QString string;

int integer;

MyObject *m_myObject;

public slots:

void foo() { qDebug() << "foo invoked"; }

};

可以使用如下测试页面对实现进行测试:

New Document

<script language="JavaScript">

</script>

test javascript

4 结论

通过使用WebKit为核心的浏览器作为中间件应用系统的基础平台,各种应用都可以基于Web脚本实现基础框架,并通过本地JavaScript扩展接口访问底层资源。较好地满足了中间件系统跨平台的主要要求。随着使用WebKit的平台的普及和性能优化,文中所述的中间件系统构建方法将会得到更多的应用。

参考文献:

[1] 李华飚.Java中间件技术及其应用开发[M].北京:水利水电出版社,2007.

[2] 廖洪涛.数字电视交互系统:中间件——有线数字电视实用技术丛书[M].北京:中国广播电视出版社,2005.

[3] (美)史蒂文斯.UNIX网络编程(卷1):套接字联网API[M].3版.北京:人民邮电出版社,2010.

[4] (美)史蒂文斯,(美)拉戈. UNIX环境高级编程[M].2版.北京:人民邮电出版社,2006.

推荐访问: 架构 中间件 浏览器 系统 WebKit