系统总体结构如图3.1所示,主要分为用户接口层、核心业务层以及基础服务层。
图3.1 系统总体架构图
3.1 用户接口层
用户接口层是用户进入Cactus Web服务搜索与执行引擎的入口。本层采用了两种用户接入方式:第一种是基于Internet网络的Http访问,用户通过浏览器进入本系统,由浏览器用户代理实现;第二种是基于GPRS网络的手机用户访问,使用户通过手机进入该系统,由手机用户代理实现。
3.2 核心业务层
核心业务层是Cactus Web服务搜索与执行引擎的核心层次,实现了系统中的主要业务功能,包括:Web服务发布、Web服务解析、Web服务执行、Lucene搜索以及服务资源库。
3.2.1
Web
服务发布
Web服务发布的功能是帮助用户提供者将其Web服务及相关描述注册到本系统的服务资源库中。具体地,服务提供者通过输入Web服务的名字、描述以及WSDL的URL等服务基本信息,系统将根据WSDL解析出Web服务的内部操作和相关参数动态构建中文描述录入向导,协助服务提供者实现对Web服务的使用信息的描述,并存入服务资源库中。服务提供者对Web服务的使用描述将为服务使用者提供关于如何使用该服务的详细信息,从而方便了普通用户对Web服务的使用。
3.2.2
Web
服务搜索
为了提高Web服务的搜索质量与效率,我们使用了索引数据库引擎Lucene建立索引,并按照倒排文件的格式存放。用户输入搜索条件,索引引擎将通过索引数据库进行检索,把符合查询要求的数据按照用户需求进行分级排列,并返回给用户。
3.2.3
Web
服务解析
Web服务解析对Web服务WSDL的解析,是系统的核心业务之一,可用于服务执行和发布过程中。系统使用IBM WSDL4J技术来进行对WSDL文档的解析,以读取服务相关信息,从而了解服务的内部结构。
3.2.4
Web
服务执行
Web服务执行是实现对异构平台Web服务统一调用的核心。在用户输入服务执行所需参数并执行服务调用时,系统动态构建服务调用SOAP消息,并将其发送给Web服务核心执行组件。服务执行结束后,系统接收服务执行结果SOAP消息,对其解析,并按照用户期待的格式对结果进行重新组织。
3.2.5
服务资源库
服务资源库主要用于存放提供者录入的Web服务调用相关语义信息,包括服务操作的描述和各操作的输入/输出参数等的相关描述。
3.3 基础服务层
基础服务层主要提供了对异构平台Web服务生成的支撑技术,包括Java、.Net和PHP等平台上如何开发Web服务。