APP下载

基于中间件和服务的协同协作模型设计与实现

2012-10-16刘勇朱景福王雪

黑龙江八一农垦大学学报 2012年2期
关键词:协同工作中间件协作

刘勇,朱景福,王雪

(黑龙江八一农垦大学信息技术学院,大庆163319)

服务的概念,可以说得到了各行各业的关注,但因行业不同,它代表的意义也不同。在计算机行业中,服务就是由提供者提供给接收者的功能系统,并以服务描述的形式构成两者之间的一种契约关系,其中提供者承诺提供,而接收者同意接收[1]。可以认为,任何系统服务都应成为计算机实现的业务流程的一部分,换句话说,都是其他企业计算行为的上游或者下游,只有如此,它才真正成为服务。

在计算机行业中,服务的种类有很多,提供的服务技术也是多样的。如同其他技术一样,它们之间有着竞争和互补的关系。尤其是CORBA 的系统级的服务,对开发企业级应用是非常重要的。EJB 作为同种技术,与CORBA 相比可谓各有千秋。

1 两种中间件技术的综合比较

以中间件要求为标准对这两种技术做一下比较,如表1 所示。

通过表1,可以看出CORBA、EJB 两种技术在很多性能上具有互补性。将这两种技术结合,用来实现一种理想的协同协作模型,使其能够达到跨语言、跨平台、高服务质量的特性。

2 协同协作模型设计

2.1 协同协作模型的需求分析

在协同工作过程中,协作者对协作功能的要求可以划分为如下几个方面:

表1 两种中间件技术的综合比较Table 1 Comprehensive comparison of two middle ware technology

(1)在协作的过程中对其他协作者进行实时感知[2];

(2)根据协同协作的需要,与群体内其他成员进行必要的信息交互[3];

(3)根据所拥有的关于整个群体的协作信息,在具体的协作规则(知识)指导下,制定和规划自身在群体中的协作决策;

(4)根据所制定的协作决策,调用、执行相应的功能,对其他协作者施行相应的影响,完成预期的协作目标;

(5)在协作过程中,根据协作的需要对协作决策加以层次式、动态的调整[5],以适应协同协作中的多变化性的应用特点。

2.2 功能模块的设计

根据以上的需求分析,可以将其功能结构归纳为以下几个功能模块,如表2 所示。

表2 协同协作模块Table 2 Collaboration model of together

统一接口模块,提供给客户高效率的访问能力。可以避免客户使用多个服务器时的烦琐状况及可能出现的逻辑不一致或服务不协调的问题。客户既可以使用单一接口,也可以使用多接口请求服务。

服务协调模块,分布的多个服务器负责给客户提供多种服务,对服务器而言,一般只是被调用的关系,那么这些需要协作的服务器之间,同样也需要有一种机制来协调,该协调机制是服务器与其他计算实体(其他服务器或客户),进行交互的统一手段[4]。

协作感知模块,在协同工作中,对协同感知的要求必不可少,由于协同工作的形式的不同而有感知粒度粗细之分。感知粒度是一个用户对另外用户在共享工作空间所有的状态、动作、意图和思想等细节的知觉程度。尽可能将信息准确实时地表达出来,使用户能自然容易地获取和使用知识是系统设计的主要目标。

协作信息综合处理模块,对通过与其他模块交互所获取的信息,进行综合处理,形成全局的协作态势信息[5]。

协作管理模块,根据协作者对协同条件、环境要求的不同,在协作过程中适时地做出协作决策,并根据动态变化实时加以调整。

协作环境管理模块,协同工作环境应该改变单一应用的系统模式,应该具有选择性和可变化性。

协作工具管理模块,将所有的协作过程中有可能用到的工具集成在一个模块中,加以协调管理。用户可以根据需求变化而改变工具集,大大增加了系统的灵活性和可扩展性。

协作执行模块,根据协作管理模块所做出的协作决策,对参与协作者的行为活动加以控制,以提高协同工作的工作效率。

3 协同协作模型的实现

协作者在协同环境中的协作是由各模块互相合作实现的,如图1 所示。

由图1 可知,协作者使用统一接口请求服务,不同的接口满足不同显示的需要。通过协作管理模块和服务协调模块,给予用户最有效的服务[6]。管理、信息模块分别同相应的数据库相联,可以分散用户的服务请求,减少并发冲突,且易于相应信息的管理。最后,通过协作执行模块完成协同工作活动,并将结果写入共享信息库。其他的协作者又可以通过统一接口查看共享信息库中的内容[7]。如此不断的循环,最终完成协同工作。

利用CORBA 与EJB 在技术和服务上的互补性,实现该协同协作模型。其体系结构如图2 所示。

利用CORBA 的核心ORB 总线技术,构建CORBA 服务器作为网络通信应用,以实现系统的跨平台的特点。利用EJB 服务器作为系统的逻辑层,处理系统中的事物[8]。二者良好的结合,促使系统的各方面的性能,逐渐接近用户完美的要求。不但可以实现传统意义上的协同,还可以将其扩展为可实现移动协同工作的环境。

4 在电子商务中的应用

随着电子商务的发展,电子商务的模式也在不断的变化。网络通信的不断发展使人们对移动电子商务产生了浓厚的兴趣。而且,对电子商务的理解也不再局限于简单的在线支付。人们渐渐要求在线模式与实地进行商务事件的处理模式具有可比性[9]。

以网上购物为例。利用上述协同协作模型,可以构建一个购物环境,使其具有如下特点:

(1)顾客可以与购物环境中商品进行自然的、直观的交互;

(2)在购物环境中顾客可以不受任何时间和空间的局限,进行自由的交流;

(3)顾客可以任意查阅或评价任一商品的信息;

(4)顾客可以按照既定模式处理购物环境中的商品。

5 结束语

通过对计算机中的服务、CORBA 技术、EJB 技术的研究,设计了一种基于中间件和服务的协同协作模型,使其能够达到跨语言、跨平台、高服务质量等特性。扩展了原有的协同工作空间,可以进行移动协同工作。并将其简单应用在电子商务中,验证了这种模型的可用性。但还需要在实践中,不断验证优化该协同协作模型。

[1] 刘绍华,魏峻,黄涛.基于服务协作中间件的动态流程模型[J].软件学报,2004(10):23-26.

[2] Shiping Chen,Yan Liu,Ian Gorton,et al.Performance prediction of component-based applications [J].The Journal of Systems and Software,2005(74):35-43.

[3] 赵连军,彭炎.基于组件技术的应用系统开发服务模型[J].计算机工程与应用,2004(6):19-24.

[4] 彭军,吴敏.基于行为预测的多智能体协作模型[J].计算机工程与应用,2005(9):23-26.

[5] 柳巧玲,丛秋实,黄作明.基于Web 服务的业务流程管理集成应用研究[J].情报杂志,2007(2):15-19.

[6] 李阳,周怿,吴朝晖.基于网络构件的软件体系结构抽象模型[J].浙江大学学报(工学版),2004(11):31-36.

[7] 倪强,朱光喜.计算机支持下的协同工作的研究现状综述[J].计算机工程与应用,2000(4):42-45.

[8] 王宏斌.消息中间件技术的研究和实践[D].杭州:浙江大学,2004.

[9] 徐远芳.年消息中间件在Web 服务中的应用及面向Web 服务的消息中间件设计[D].南宁:广西大学,2004.

猜你喜欢

协同工作中间件协作
团结协作成功易
RFID中间件技术及其应用研究
基于Android 平台的OSGi 架构中间件的研究与应用
协作
协作
EVA业绩评价模式下业财融合协同工作模式对企业价值管理的重要性
可与您并肩协作的UR3
地理信息系统与勘探开发协同工作平台建设方案
中间件在高速公路领域的应用
一种支持智能环境构建的中间件