论文部分内容阅读
随着Web服务技术被广泛认可并被大量运用到实际的生产环境中,从海量的现有服务中快速准确的发现需求服务,并且灵活有效的与现有系统进行绑定就成为Web服务系统的一个关键问题。现有的Web服务体系结构可以通过引入语义Web服务提高服务发现的准确性,但是在语义服务发现过程中仍然存在自动化程度较低,需要用户手动进行服务查找并建立绑定关系的问题。在使用Web服务的过程中也存在服务调用灵活性与可靠性差,缺少Web服务质量信息等缺陷。 针对以上问题,在研究了Web服务相关技术与规范的基础上,本文研究并实现了面向语义Web服务的动态代理技术,它是对现有Web服务架构的改进,通过添加一个或若干个Web服务动态代理,代替用户组与语义服务发现引擎及服务提供者进行交互,以提高语义服务发现的自动化程度与服务调用的可靠性与灵活性。本文给出了Web服务动态代理的系统总体设计与具体实现细节。 在语义服务发现方面,本文提出了基于动态代理的服务发现模型,它是在服务发现方式上的改进,由用户手动进行服务查找转变为由动态代理根据用户注册的申请服务接口进行语义服务发现,并在服务发现完成后自动在代理端建立服务绑定关系以进行服务调用。动态代理可以定时自动触发服务发现请求,及时反馈服务注册中心的信息变化,以保障绑定服务与服务注册中心同步。 在服务使用方面,动态代理通过服务映射表保存用户接口与Web服务的绑定关系,当绑定服务变更时(如发现新的可用服务时)只需修改服务映射表即可使用新的服务,用户本地程序无需进行修改。动态代理还支持一个用户接口同时绑定多个Web服务,调用时代理根据可用性动态选择,从而提高服务使用的健壮性。 本文提出了基于动态代理的服务质量监测,使用动态代理进行服务响应时间、吞吐率、服务异常率等质量信息的监测,并与服务调用结合,作为服务选择的依据。最后,本文介绍了使用动态代理进行语义服务发现的流程,并通过实验验证了动态代理对Web服务使用可靠性的保障以及代理对服务选择的影响。