论文部分内容阅读
随着SOA(Service-Oriented Architecture)技术的不断发展,不同企业间的应用集成已经成为了一种趋势。在SOA架构下,通过组合现有Web服务能够快速构建新的业务功能,使得系统的灵活性大大增加。但是随着Web服务数量的不断增多,通过人工配置的方式进行服务组合将变得越来越困难;同时,异构系统中的Web服务可能被发布在不同的平台,以不同的方式创建,每个服务都可能具有不同的环境上下文,导致系统中上下文类型复杂多变,难以管理。因此如何进行自动化的服务组合,使之支持大量服务的快速发现和上下文的动态管理成为了当前研究的热点。为了解决上述问题,本文提出了一个动态服务组合框架。框架首先以OWL-S为基础对服务的语义模型提出了改进;之后,以K-Means聚类算法对服务进行聚类,使之支持服务域和环境上下文类型的动态发现;在聚类的基础上,利用分层任务网络规划(Hierarchical TaskNetwork)技术对服务进行组合编排。最后,在得到服务执行序列之后,服务请求者能够根据每个服务具有的上下文类型,指定服务的上下文约束条件,使得系统在服务执行过程中能够监控环境上下文的变化,并根据上下文变化动态地调整参与执行的服务实例。本文的主要贡献为:1.针对Web服务组合中存在的问题,提出了一个改进的服务语义模型,改进后的模型包括两部分内容:功能性服务和环境上下文服务。功能性服务用于实现一个服务在业务上的需求,而环境上下文服务则用于在服务运行过程中获得服务的上下文信息。2.结合K-Means算法实现了服务本体的聚类,对聚类过程中遇到的初始聚类中心不确定等问题提出了解决方法,并基于聚类提出了服务的两阶段匹配算法,有效解决了对大数量服务进行动态组合时的效率问题。3.基于环境上下文的聚类实现了对系统中上下文类型的动态感知,支持新的上下文类型的自动发现和管理。通过服务执行过程的动态监控,对不满足上下文要求的服务,能够快速选择具有相似功能且有相同上下文类型的服务进行替换。4.在Web服务语义模型和服务聚类的基础上,结合分层任务网络规划技术,提出和实现了一个动态服务组合框架。框架结合两阶段服务匹配算法,将聚类结果融入到智能规划与服务执行过程中;在服务执行过程中,加入了服务上下文的动态监控,并基于服务域和上下文类型的变化对服务进行动态替换,实现了服务执行过程中的自适应。