论文摘要
随着SOA和SaaS技术的快速发展,面向服务的软件开发正逐步成为互联网上软件开发的主流趋势。在这种趋势下,网络上服务资源的规模呈现出快速增长的态势。同时,由于服务遵循的协议多样化(比如SOAP、REST等)及其描述方式的多样化(比如WSDL、OWL-S、自然语言文本等),使得这些服务资源具有明显的多样性特征。服务规模的剧增以及服务资源的多样性给大众用户进行按需服务发现增加了困难,也为软件开发者有效发现和重用服务资源带来了极大的挑战。因此,面对大量多样化的服务资源,如何进行按需服务发现是面向服务的软件工程亟待解决的一个重要问题。然而,随着服务描述方式的多样化,服务类型也逐步多样化。已有的服务发现方法采取的匹配策略往往只适用于一种类型的服务查询,并且缺少对候选服务集的有效组织,对RESTful(?)务的关注也较少。同时,互联网上用户层次的多元化以及用户需求的个性化都增加了按需服务发现的难度。针对上述问题,本文拟解决的关键问题是“面对互联网上广泛分布的多样化服务资源及用户的个性化需求,如何对服务进行组织,以有效地支持按需服务发现”。围绕这个关键问题,本文所做的贡献主要体现在以下几个方面:(1)提出了一种基于支持向量机的迭代式服务分类方法,从服务所属的领域视角对候选服务进行有效地组织。基于向量空间模型,将不同类型的服务描述文档统一转换成向量形式,然后使用支持向量机进行迭代式服务分类。该方法能够为不同类型的服务进行面向领域的分类提供支持,同时为后续的特定领域内服务聚类奠定了基础。(2)提出了一种基于概率的服务聚类方法,用于对特定领域内服务进一步从其所属的主题视角进行组织。在面向领域的服务分类基础上,使用LDA主题模型对不同类型的服务描述文档进行建模,然后通过概率方式对特定领域内服务进行面向主题的聚类,并且对得到的每个主题类簇中的服务按照其与类簇间的相关度进行排序。该方法可以对特定领域内不同类型的服务进行有效地聚类,有助于对服务从不同层次、不同视角进行有效地组织,进而促进按需服务发现,同时可以为服务组合与服务推荐提供支持。(3)提出了一种基于“领域-主题类簇-服务”匹配的按需服务发现方法。在面向领域的服务分类与面向主题的服务聚类基础上,从不同角度、不同层次进行服务匹配,逐步定位与用户需求相关的服务。首先根据功能性相似度计算,将用户需求由特定领域定位到该领域特定的主题类簇,然后根据功能性与非功能性相似度计算,并结合相应的服务过滤策略,从定位的主题类簇中查找匹配用户个性化需求的服务。该方法通过多策略相结合的方式逐步缩小候选服务集的规模,有助于用户快速查找满足其个性化需求的服务。(4)通过在云服务超市中的应用,展现了基于服务分类、服务聚类的按需服务发现方法的实际应用价值,同时通过该方法的潜在应用,即领域本体构建、服务标签推荐,表明该方法具有良好的应用前景。本文围绕“面对互联网上广泛分布的多样化服务资源及用户的个性化需求,如何对服务进行组织,以有效地支持按需服务发现”这个关键问题,在面向领域的服务分类与面向主题的服务聚类的基础上,提出了一种基于“领域-主题类簇-服务”匹配的按需服务发现方法,通过多策略相结合的方式,分阶段、逐步定位用户所需的服务,有效地支撑了按需服务发现。同时,根据领域视角进行服务分类、主题视角进行服务聚类的服务组织方式,有助于从不同角度、不同层次、不同粒度对服务资源进行组织管理,进而促进服务发现,并且可以为服务组合与服务推荐提供支持。