刘莹
[摘 要] 为了在分布式系统中实现信息资源共享,本文提出以图书馆联盟形式融合区域内高校图书馆的信息资源,基于面向服务架构(SOA)和多Agent技术构建了基于服务架构的多Agent高校图书馆联盟信息服务系统集成模型,并探讨了系统的业务流程。
[关键词] 区域图书馆联盟;SOA架构;多Agent;信息服务
doi : 10 . 3969 / j . issn . 1673 - 0194 . 2014 . 17. 075
[中图分类号] G250.7;TP393 [文献标识码] A [文章编号] 1673 - 0194(2014)17- 0125- 02
0 引 言
随着计算机信息技术的发展和Internet的普及应用, 各高校都引进或开发了适合自己的图书馆信息服务管理系统,但由于所采用的平台和语言可能不同,具有较强的针对性,又缺乏开放的接口,所以这些系统功能和数据只能被系统本身使用,难以实现跨系统的信息共享,造成了信息资源的浪费。区域图书馆集群管理抛弃了传统的图书馆财产单位所有、业务条块分割的模式,将地区内图书馆群组作为一个整体来管理, 实现了图书馆间资源共建共享、合理配置、共同服务的目的。
本文提出了一种面向图书馆联盟模式、基于服务架构(SOA)和多Agent的图书馆信息服务系统集成模型,系统不改变原有应用底层架构,采用中间层以服务模块方式实现的解决方案,结合多Agent技术思想,能够经过较小的改动即将原有的分布式环境下的信息服务系统中的功能封装为服务模块加以集成和重用。有效地实现了高校图书馆间的信息集成,更好地满足了数字图书馆提供信息服务的需求。
1 SOA架构和多Agent机制
面向服务的体系结构(Service Oriented Architecture,SOA)是一种软件架构,W3C将SOA定义为:“一种应用程序体系结构,在这种体系结构中,所有功能都定义为独立的服务,这些服务带有定义明确的可调用接口,可以以定义好的顺序调用这些服务来形成业务流程”。SOA架构具有粗粒度服务、松散耦合、基于开放的标准化接口3个基本特征。基本的SOA体系结构中有服务提供者、服务请求者和服务注册中心3个角色,通过发布、查找和绑定3个基本操作来相互作用。
Agent是一种在分布式或协作系统中能自主地持续发挥作用的计算实体,它具有主动性、自主性、学习性、反应性、代理性等特征。外部世界的信息通过感知器被Agent接收;知识库是Agent的核心,内部有知识处理模块;Agent与其他成员的交互机制或协议由通讯管理完成,效应器是Agent对外提供的界面,角色列表是指Agent在系统中所扮演的角色。单个Agent在分布式环境下解决大型复杂问题时,受自身的知识、计算资源及与其他Agent相互关系的限制, 突显出能力的不足。多Agent系统是由多个单Agent形成的松散耦合的网络系统,Agent之间遵守某种协议连接起来,通过交互与合作来解决单个Agent所不能处理的复杂问题,其中每个Agent的活动是独立和自治的,自身的行为和目标不受其他Agent的限制,通过竞争或磋商等手段协调和解决各单个Agent的目标和行为之间的矛盾和冲突。多Agent系统已被认为是构建复杂分布式信息处理系统的重要技术和框架。
2 基于SOA架构和多Agent的图书馆联盟信息服务集成模型
本文提出了一种基于SOA架构的多Agent图书馆联盟信息服务集成模型,在面向服务架构基础上,构建—个相互协调、层次化的多Agent系统来完成联盟内部不同分馆应用系统之间的集成。
2.1 客户层
完成系统和客户的交互,给客户提供一个友好的交互界面。接受客户的服务请求,为客户请求确定系统中相应的业务流程,将客户请求的业务流程ID传递到管理Agent,并向客户提供请求的结果和所需要的信息。该层由客户服务Agent组成。在个性化服务中,可以通过对话记录发掘客户的操作习惯,提供给客户更多的智能、合作建议和帮助,进而为客户提供其所感兴趣的内容和与其最相关的内容。
2.2 业务控制层
是整个集成信息服务系统的核心层,管理Agent是该层的控制中心,负责协调其他Agent工作。它接受客户服务Agent的服务请求,通过业务流程ID从流程项目集中选择相应的业务流程,生成合适的业务流程Agent。
2.3 业务服务层
对应联盟中已有系统中的服务功能,如检索服务、导航服务、咨询服务等,采用面向服务的思想,应用Web Services技术规范封装为Web服务,并将其发布集成。为此要对已有系统的功能进行解析,分解为功能组件并封装为合适粒度的服务。
2.4 资源层
由分布的各馆资源数据库组成。
3 业务流程
业务流程的管理由流程管理Agent负责,流程管理Agent为任务流程中的每一个任务节点分配代理服务Agent,通过与这些服务Agent的通信交互协作完成流程任务。
Step l:流程管理Agent获取业务流程的开始标志节点,以及后置逻辑节点信息。
Step 2:根据所获取的逻辑节点的类型和后置节点属性,确定其后置节点。
当后置节点为结束标志节点时,根据逻辑节点类型和后置节点激活条件,判断结束标志节点是否已被激活。如激活表明该业务流程执行完毕,则转至Step 8。否则不进行操作。
当后置节点为任务节点集时,则根据该逻辑节点的类型及每一个任务节点的激活条件,确定激活的任务节点集。如果任务节点集合非空,则转至Step 3。否则不进行操作。
Step 3:对激活任务节点集中的任务节点查询节点映射表,确定服务Agent集。
Step 4:为服务Agent集中的各服务Agent制作服务脚本并发送。
Step 5:接收服务Agent集中各服务Agent发回的确认信息。设定重发时限,如果全部确认信息在重发时限内收到则转至Step 6。否则对没有发回确认信息的服务Agent重发服务脚本,直到收到全部确认信息。
Step 6:接收所有服务Agent返回的服务结果并获取其中结果属性内容作为中间结果保存。
Step 7:读取任务节点集中每一个任务节点的后置逻辑节点信息,并对每一个逻辑节点从Step 2开始执行。
Step 8:激活结束标志节点,业务流程结束并保存服务结果。
4 结束语
基于SOA和多Agent的图书馆联盟信息服务系统提供了成本低廉的、高效的信息服务解决方案,能在不淘汰成员馆信息系统的基础上,使各分馆原有系统资源得到重用,且具有良好的可扩展性和自组织能力。本文提出的方法和模式更适合国内图书馆信息化建设的现况,方便实现区域性馆际合作甚至跨地区馆际合作,有效地解决图书馆信息资源共享问题。
主要参考文献
[1]肖焕忠.区域图书馆集群管理利弊谈[J].图书与情报,2007(3):95-97.
[2]杜慧敏.构建多Agent环境下的网上协同信息服务[J].现代情报,2004(7):61-63.
[3]胡舜耕,张莉,钟守义.多Agent系统的理论、技术及其应用[J].计算机科学,1999,26(9): 20-24.
[4]李燕.多Agent技术在信息检索中的应用[J]. 广西师范大学学报,2007,25(2):111-114.
[5]杜治波,曹鹏.图书馆数字资源SOA平台的构建[J].现代情报,2012,32(5):58-61.
[6][美]Newcomer E,Lomow G.Understanding SOA with Web Services[M].中文版.徐涵,译. 北京:电子工业出版社,2006:46-48.