Web混搭平台的研究与设计

2016-05-14 22:40李敏敬高春贞王盼盼汤网祥
数字技术与应用 2016年7期

李敏敬 高春贞 王盼盼 汤网祥

摘要:随着网络信息技术的不断发展,业务需求变更频率的增加,如何重复利用现有服务和数据资源并快速搭建满足用户需求的web应用变得尤为重要,为此本文提出了一种基于信息聚合技术的解决方案——web混搭平台,对web混搭技术(mashup)进行了研究,并对该web混搭平台的体系结构、功能框架及结构详解、具体技术实现方案都进行了详尽的说明和介绍。

关键词:信息聚合 web混搭 mashup

中图分类号: TP315 文献标识码:A 文章编号:1007-9416(2016)07-0152-03

面对当今信息技术的高速发展,数据快速增长,人们需要对海量数据进行分析,提取出有价值的参考信息。业务人员需要及时地获取数据来做研究和业务分析,这种需求经常随着业务的变化而变化,很难固定。技术上,目前还没有完善的信息发现手段;信息检索不能解决信息发现的全部问题;而非技术人员往往不能根据自己的业务需求快速的构建出满意的应用。基于以上关于有价值信息获取在业务和技术上存在的问题,本文提出了一种信息聚合解决方案,并设计了一个Web混搭平台。

1 解决方案

1.1 体系结构

本体系结构遵循面向服务的体系架构设计原则,web混搭平台解决方案能够完整的实现服务生命周期的各个环节:服务建模及开发、服务发现、服务部署、服务调用、服务管理与监控等。web混搭平台解决方案的体系结构分为四个层次如图1所示。

其中硬件层是指web混搭平台的硬件环境,其中涉及到服务器、基础网络和存储设备等;基础层是web混搭平台的支撑层以及内容提供层,对硬件层进行管理,并为上层应用提供服务的软件系统,主要包括操作系统、数据源、协议/API、Mashup支撑框架等;中间层是从应用中抽取出共同的特性封装成通用组件,为应用层提供服务的软件系统,包括生命周期管理、运行管理等;应用层是系统架构的最顶层,主要是面向用户的应用,用户可以对应用查询、重新编排及使用,主要功能包括Mashup应用展现、Web应用搭建、应用订阅、信息检索等。

1.2 功能结构

web混搭平台能够挖掘网络环境中物理上下不相关的信息服务的各类信息间的逻辑关系,按用户的需求进行灵活的组织、关联与综合,提供面向应用的聚合信息视图的综合信息访问入口,支持信息支持人员对综合信息的访问和增值处理。

web混搭平台实质是一种信息聚合服务,功能结构图包括两大功能模块,四大平台,即信息接入功能模块、聚合信息展现模块;管理平台、开发平台、运行平台和安全策略平台。功能结构详解如图2所示。

1.2.1 应用及数据源管理

(1)应用管理。应用推荐管理根据最终用户的应用数据,以及预先定义的推荐规则给使用用户推荐信息聚合应用,实现用户专属的个性化体验。这里应用推荐管理负责用户相关数据的维护,如用户的基本信息、用户的历史使用习惯、用户的偏好设定等数据,同时还配置和管理聚合服务的推荐规则,这些规则用来设定推荐Mashup应用的策略;应用生命周期管理主要是管理聚合应用的整个生命周期过程,包括应用的部署、激活、停止、删除以及对聚合应用的可用性和可见性的控制;QOS保障管理是接收由运行单元触发的QOS保障请求,保障聚合应用中数据源的QOS,从总体上来保障聚合服务;应用订阅通知管理是为最终用户设定的,希望将来被通知的聚合应用的规则,当有新的满足用户需求的已发布的聚合应用可用时,Mashup会及时通知到用户,可以订阅的范围包括聚合应用发布者、聚合应用的类型、关键词等;权限管理是对用户进行权限设置,在用户调用Mashup应用的时候,负责根据应用的执行环境的请求,进行运行权限的检查,还可以判断用户是否有权限进行Mashup应用订阅及相应的订阅规则设置,反馈给订阅处理。

(2)数据源管理。数据源发现是在数据源注册列表中,根据数据源的注册信息,发现合适的数据源;数据源注册是接收数据源所在服务器发送的注册信息(公共服务标识、接口参数、物理地址、API规范、访问协议、提供者等),并验证注册信息是否符合要求;数据源监控是用来监控数据源的情况,是否有接口变动、是否正常等,由于数据源的变动会影响已搭建好的mashup应用,所以需要更新Mashup应用,替换成其它具有同样功能的数据源或直接将Mashup应用的状态设置为不可用。

1.2.2 混搭应用生成环境

应用推荐是在用户编辑应用的时候,可以根据用户的编辑目的、编辑过程推荐相类似的Mashup应用,加快Mashup应用提供者的开发速度;数据源推荐同样在用户编辑应用或数据服务的时候,根据用户的需求,推荐用户可能会用到的数据源,提高开发应用的效率;服务搜索是提供基于语义的服务检索功能;服务展现是在信息聚合应用生成模块,展现Mashup服务,用户可以在此调用服务搜索功能,搜索其他用户提供的Mashup应用,或者使用用户自己创建的Mashup应用;可编程模型构建即信息聚合服务软件的聚合服务编辑器,利用js代码调用和重组应用组件(数据源)的过程,或者自我创建,形成新的应用;可视化模型构建是可拖拽、可配置的聚合服务编辑器,利用强大的工具集和开发环境提供的编辑功能对封装好的应用组件(数据源)进行重新组合和自我创建,形成新的应用;应用模型管理是对创建好的应用模型进行存储,本文中模型的存储是以文件系统的形式存储,同时将每个应用模型的名称、功能描述、标签等信息存储到数据库文件中,并生成目录,方便用户的使用和服务创建时的调用。

1.2.3 混搭应用执行环境

(1)概念网络支撑。可视化检索是在网络环境下的信息检索技术基础上引入概念网络技术,有效扩充检索的范围,提高检索精确度与满意度;概念网络维护是根据用户的需求对概念网络库中的数据进行增加、删除和修改操作,得到符合需求的概念网络实例;数据访问是根据可视化搜索的结果,对结构化和非结构化的数据进行访问。结构化的数据主要支持国产化数据库。非结构化的数据支持常用文件格式、web网页、图片、流媒体等。

(2)信息聚合执行引擎。信息推荐处理是根据用户以往访问应用的特点,有针对性的推荐聚合应用和信息,本部分负责信息推荐功能的逻辑规则执行;信息推送处理是当某些模块运行的时候,需要将一些信息推送给与之关联的模块,本部分负责信息推送功能的实现;QOS保障触发功能主要负责触发对聚合应用QOS保障的功能,由管理模块来执行具体的保障功能;运行权限检查负责触发运行权限检查的功能,交由管理模块检查当前请求聚合服务的用户是否有足够的权限使用该聚合服务;用户交互处理负责与用户交互消息,接收用户的聚合服务请求,反馈请求结果给用户等;信息聚合应用库包括WSO2REGIST

RY_DB、WSO2WSAS_DB;应用逻辑运行是依据用户请求的聚合应用,从应用库中获取聚合服务的能力,并依据逻辑的要求调用对应的数据源,为最终用户提供对等的服务;数据源交互是根据聚合服务中所调用到的数据源描述调用信息接入模块去获取相应的数据源。

1.2.4 安全控制器

(1)数据安全。数据开放原则是选择性开放用户数据信息,对用户注册的个人信息,以配置的方式设置公开或隐藏,而部分信息如用户名等为可公开信息;用户身份识别是通过用户标识和密码对的方式进行身份识别,以确保通过聚合应用获取用户信息时,是用户本人,而非其他非法用户,避免泄露用户隐私的问题。

(2)网络安全。数据源审核是对请求注册的数据源进行安全性和内容的审核,是否存在不安全数据,或涉密数据等;应用审核是信息聚合服务软件具备对聚合应用的代码安全进行严格审查的能力,以确保应用代码本身是安全的,如不存在恶意代码等,同时也不会因为代码的缺陷,如死循环嵌套等,导致聚合应用对这个应用执行环境的破坏;数据源接入控制是信息聚合服务器的数据量承受能力有一定范围,需要对数据源接入的数据量及单位时间内访问次数进行控制。

1.2.5 信息接入服务

数据源调用控制负责接受数据源的调用请求,判断安全信息,以决定是否允许该次调用过程,当允许调用的时候则反馈相应的数据源调用结果;数据缓存是对于经常被调用到的数据源的数据且可以被缓存的,进行高速缓存,提高数据访问的响应速度;协议转换作为信息聚合环境与数据源之间的交互模块,负责将信息聚合应用调用数据源所用的协议转换为数据源所能够识别的协议格式;数据转换与协议转换类似,将数据源输出的格式进行转化成信息聚合应用可以识别的格式,本文是WebService格式的数据。

1.2.6 聚合信息展现模块

信息关联展现是指用户可以根据自己的需要裁剪出应用。可以把结构化和非结构化、企业部门和个人、互联网的信息根据需要重新组织成信息驱动的应用;概念网络关联查询是根据概念网络实现可视化搜索,将搜索结果根据自己的需要进行信息关联展现;信息调阅是用户可以查看更新后的订阅内容;应用订阅是用户根据需要选择不同的主题进行订阅;Web应用搭建是指用户可以根据通过拖拽Widget就可以简洁快速的搭建需要的应用。

2 实现方案

根据信息聚合服务软件体系结构模型,结合WSO2的开源产品,得到具体的信息聚合服务软件实现方案如下。

2.1 信息接入模块实现

本方案将底层数据以Web服务的方式接入,Web服务框架的Web服务技术实现架构采用开源的Apache-axis2,其体系结构特点是模块化更强、灵活性更高,所以这种体系结构可以很容易地插入到其他相关Web服务标准和协议(如WS-Security、WS-Reliable

Messaging等)的实现中;信息接入模块中的Web服务是基于SOAP协议的,SOAP协议是属于Web服务的消息层,定义了消息交换的具体格式;数据服务器采用开源产品WSO2 Data Services Server,该数据服务器底层数据源支持关系型数据库、CSV和Excel等结构化数据,在此基础上,还可以扩展DOC、TXT、PDF等非结构化数据源。提供了可视化的操作界面,通过几步简单的配置,即可将异地、异构的数据源统一发布成标准的Web服务。数据的表现形式方面,统一将底层数据源发布成Web服务,返回到客户端的是XML格式数据,用户可对该数据格式进行增删改查等操作。由于本方案采用B/S模式,所以应用服务器选用的Apache Tomcat,实现对所需框架的部署,其中Apache axis2的框架就是部署到该应用服务其中,实现热部署、卸载等操作。

2.2 运行模块实现——混搭应用执行环境

概念网络支撑部分,采用基于自学习机制和可配置机制两种方式实现。其中可配置机制是指,当用户使用该概念网络时,可将本地资料配置到相应节点上,这种方式增加了概念网络的灵活性。信息聚合执行引擎是整个信息聚合服务软件体系架构中的核心,它作为聚合应用的执行环境,实现聚合应用逻辑的执行以及对数据源的调用,在信息聚合执行引擎上运行着众多聚合应用提供者的聚合应用。信息聚合执行引擎的核心代码使用java编写,执行引擎在运行过程中,每个聚合应用都有对应的运行状态信息、日志信息以及应用自身的属性信息(标记、创建者、应用描述等),运行时信息的存储选用derby数据库,并结合使用Hibernate框架,实现对象与关系数据库之间的映射功能,Hibernate的核心接口一共有5个,分别为:Session、SessionFactory、Transaction、Query和Configuration,通过这些接口,不仅可以对持久化对象进行存取,还能够进行事务控制。

2.3 管理模块实现——应用及数据源管理

Web混搭平台的管理模块主要使用JMX框架来实现,JMX是一个为应用程序、系统、设备等植入管理功能的框架。可以跨越异构的操作系统平台、以及系统体系结构和不同的网络传输协议,开发无缝集成的系统、网络和服务管理的应用。

2.4 开发模块实现——混搭应用生成环境

通过mxGraph的可配置客户端模式,配置我们所需要的界面化编辑工具,并对其Web sever端代码进行编辑,满足信息聚合服务软件的可视化编辑器所需功能。

2.5 安全策略模块实现

用户数据安全模块选用开源软件产品WSO2 Identity server身份认证服务器来实现。

为了保证数据的网络传输安全,安全策略模块增加了https安全传输通道,在HTTP下加入SSL层,提供了身份验证与加密通讯方法,使用https安全传输协议可以规避很多问题,如对主机即服务器的不信任;通讯过程中数据的泄密和篡改等。该安全协议工作流程是:

另外,由于本方案的底层数据和信息都是基于Web服务的,web服务的容器又选用了Apache axis2,从安全性考虑,这里选用axis2的安全模块Apache Rampart,用来为Axis2 Web服务提供认证、集成、保密等功能,实现了WS-Security协议堆栈。

2.6 聚合信息展现模块实现

为了降低服务器端的负载,聚合信息展现模块选用Ajax异步通信技术,在用户和服务器之间加一个中间层,使用户请求与服务器响应异步化,以使服务器负担的工作转交给客户端,减轻服务器和带宽的负担,运用JavaScript和XML,在服务器和网络浏览器之间传送或接收数据。

除此之外,聚合信息展现模块的应用展现考虑用Gadget这种小控件的形式实现,用户可通过选择目录或URL的方式选择要组合的Gadget控件,这里选用开源产品wso2 Gadget Server实现,通过Gadget Server可以在同一个页面同时展示多个内容相关的web混搭应用。

3 结语

本文详细介绍了web混搭平台的体系结构、功能框架及结构详解、具体技术实现方案。web混搭平台通过mashup可视化建模工具和对Gadget的支持,能够快速轻松地使用现有信息源创建简单的Web应用。可以根据信息聚合管理工具对模型进行修改和管理,构建更加安全的mashup。能够构建安全和可持续利用的环境。支持拓宽企业级Mashup的使用,并提供合理管理和保护feed、Gadget和Mashup页面安全的功能,以确保第三方Gadget的合理性能。并能够应用测量和IP拦截等feed级控制和SSL传输加密,确保用户的生产环境中的最优安全性和绩效。

参考文献

[1]Raymond Yee著,唐扬斌等译,Web2.0 Mashup开发实战[M].人民邮电出版社,2008.

[2]杨高峰,基于信息聚合技术的个性化信息门户的研究与实现[M].国防科学技术大学,2009.

[3]彭菲菲,钱旭,资源聚合平台中定制信息存取的研究[J].计算机光盘软件与应用,2012,(4),113-114.

[4]刘清堂,吴林静,黄焕.网络资源聚合研究综述[J].情报科学,2015,(10),154-161.

[5]许辉阳,现代服务业共性服务关键技术研究[M].北京邮电大学博士论文,2009

[6]温亮生,刘涛,许辉阳等.移动Mashup研究报告[M].研究报告,2008.

[7]徐超.大型互联网公司分布式消息系统的设计与实施[M].复旦大学硕士论文,2013.