● 摘要
Web 服务是一种通过网络进行发布,定位并且调用的软件应用程序,主要实现了通过网络将多个应用进行集成的功能。当前的大型企业越来越多的依赖于Web Service来进行软件开发以及与其他的企业共享服务资源。软件系统正处于一个由软件服务实体组成的开放协同的软件环境中,未来网络软件的一种趋势表现为通过服务发现和服务动态组合构造软件应用系统。以Web服务为代表的软件服务及软件服务协同已成为一种新型的Web应用形态,如何实现服务按需发现,以保证服务有效复用、相容组合,对提高网络软件生产效率,实现跨组织的业务集成具有极其重要的意义。目前已有Web服务发现技术主要有基于UBR以及通用搜索引擎这两种。其中分散的UBR增加了Web服务发现的复杂度,对于不同的操作系统、应用服务器以及Private API都会导致用户花费大量时间;此外通用搜索引擎不能获取Web服务的元数据信息,并且无法获得服务的当前状态。基于搜索引擎技术在网络信息抓取和查找方面所具体的强大功能[4],利用搜索引擎技术从网络中抓取Web服务信息已经逐渐成为Web服务发现的突破口,本文主要研究的内容是如何通过搜索引擎技术获取Web服务并创建Web服务信息库,最后对库中服务信息建立高效索引并为用户提供搜索查询接口。本文首先分析了当前Web服务发现技术的优点以及尚未解决的共性问题,明确进一步改进Web服务发现系统的设计目标和功能需求;从而提出一种基于搜索引擎技术实现Web服务发现的方法,并提出一种通过JMX技术获取远端服务容器中Web服务的思想;接着分别设计并实现了Web服务抓取器,Web服务索引库和Web服务搜索引擎Portal三个模块;最后通过实验对系统的功能进行了评估和评测。论文工作的主要特色体现在如下几个方面:(1).基于搜索引擎技术实现了现有Web服务发现方式(基于Service Portal,通用搜索引擎);(2).提出并实现了一种新的Web服务发现机制,即基于JMX技术和HTTP技术从远端Web服务容器中抓取服务,一定程度上提高了Web服务发现的覆盖率;3.实现了简单的服务状态验证以及元数据解析功能,保证服务的有效性,面向用户提供了服务具体信息的检索功能。最终实现了一个基于搜索引擎的Web服务发现原型系统。