一种移动Agent与Web服务集成的框架
***
(**大学网络智能计算实验室)
1 前言
伴随着WEB服务技术的出现,不同应用系统之间的集成变为现实。遵循松耦合的结构模型以及公共服务调用规范,WEB服务技术使得异构系统之间的集成问题变得更容易。但是,如何实现WEB服务的自动发现,组合,调用等一系列问题急需进一步研究。软件Agent技术以其自身的优点,被广泛视为一种解决上述相关问题的良药。不幸的是,WEB服务技术与Agent技术都是各自遵循相应的规范和标准发展起来的,不仅体系结构不尽相同,通信协议也完全不同。因此,WEB服务与Agent技术的集成问题备受业界关注。
本人的研究关注的是WEB服务技术与Agent技术集成众多方面中的一个,即如何将一个具有移动性质的软件Agent服务发布成一个Web Service。除非特别申明,否则下文所指的Agent即为具有移动性质的软件Agent。
2研究现状
这个领域的研究工作主要有:
文献【1】里提出了一种WEB服务与遵循FIPA规范的Agent系统之间的集成架构建议。
图表 1 WEB服务与Agent集成架构
从图中我们可以看出,一个FIPA Agent 服务到WEB服务网关在两个环境的边界,通过将ACL消息转换成WEB服务调用,使得FIPA Agent可以访问WEB服务。相反的另一方,WEB服务到FIPA Agent网关将Agent服务注册到UDDI注册服务器中,方便其它WEB服务客户端调用。
或许是受到了这个集成架构建议的启示,两个先锋组织分别设计并实现了集成架构建议中的两个重要方面问题:文献【2】能够让Agent调用现有的WEB服务;文献【3】能够将Agent发布为WEB服务。文献【3】的软件实现产品WSAI(Web Service Agent Integration)从第一个版本便被开放为开源项目。
本人的研究方向和文献【3】相同,即将Agent所提供的服务发布为WEB服务。经过分析WSAI的理论方法及技术方法发现,发现由如下不足的地方:
1、仅局限于静态的Agent,不能解决Agent移动后,WEB服务的可用性,限制了Agent的最大特点-移动性。
2、限于JADE Agent系统平台Agent单线程的特性,使得Agent异步、有状态通信与WEB服务的通信模型不能很好的集成。
3、被发布为WEB服务的Agent仅仅局限于遵循FIPA Agent规范的Agent。事实上,Agent界有主要有两大规范,其一是FIPA组织制定的,其二是OMG组织下的Agent小组。
4、从技术的角度讲,WSAI设计的网关以及WSDL接口均需要开发人员手工安装、编写,未实现自动化。
鉴于以上种种不足,本人希望在WSAI的基础上,提出一种更健壮、支持面更广的,能将Agent发布为WEB服务的框架。
3 Agent与WEB服务集成框架
图表 2 Agent与WEB服务集成框架
Agent与WEB服务集成框架的核心是WAG(Web Service Agent Gateway),它负责将Agent发布为WEB服务。而WAG的实际工作全部由GA(Gateway Agent)来承担。初步设计的GA主要结构如下图所示:
3.1 Gateway Agent
在接下来的时间里,这一部分的主要工作包括:
3.1.1 Agent Web服务的调用机制
描述从WEB服务客户端调用开始,到调用目标Agent服务后,最终返回结果的整个过程。
3.1.2目标Agent位置管理机制
当目标Agent发生移动以后,该机制负责WEB服务的可用性,也即WEB服务调用可达到目标Agent服务。
3.2 SOAP引擎
负责接收来自WEB服务客户端的调用,并将其SOAP消息转换成JAVA类的Web Service接口。此外,所有的AG将在该引擎中注册。SOAP引擎可采用现有的开源项目。
3.3 Gateway Controller
负责AG的加载,并发布为Web服务或者将AG在UDDI注册中心中注册。
4 结束语
接下来的研究工作将围绕WAG的几大组件展开。目前暂时设计了整体框架结构,当然随着研究工作的进一步深入,现有框架的结构需要进一步完善。
参考文献
【】FIPA specification. http://www.fipa.org/specifications/index.html
【】Sommers, Frank: Publish and find UDDI tModels with JAXR and WSDL
【】Agenticities Web Services Working Grroup. Integrating Web Services into Agentcities Technical Recommendation, Http://www.agentcities.org/Srec/00006/
【】Globus Alliance, IBM, and HP,”Web service Resource Framework”, http://www.golubs.org
【】Whitestein Information Techology Group. Web service agent Integration Project
http://wsai.sourceforge.net/index.html
【】Thang Xuan Nguyen. WS2JAE: Integrating Web Service With Jade Agents.