本书在全面介绍服务计算中的基本概念、关键问题、与云计算的关联的基础上,着重介绍在SOA架构下Web服务研究中包含的两大关键问题——服务管理与服务组合,主要包括Web服务架构与标准、服务的分类管理、服务检索、服务选择、服务推荐等问题。
服务计算为一门新兴的交叉学科,包含了多种突破性的技术。本书将其划分成两部分内容,分别为服务管理与服务组合。事实上,服务管理研究的目的也是为服务组合过程提供技术支撑。对服务有效的分类管理有助于用户或系统快速、精确地查找服务。
服务组合中的服务是指Web服务,而Web服务的实现理念是基于面向服务的架构的,发布于互联网上的Web服务,可被互联网上的任何机构和人所调用。这些Web服务通常具有一些简单的功能,其本质是软件模块。单独的一个服务是无法对复杂问题求解的,此时需要将服务进行组合以完成对复杂任务的求解。因此,服务之所以具有重要的研究价值,是因为它可以被组合形成流程,用于复杂问题求解。最理想的目标是在求解问题时,从互联网上调用服务,将这些服务按逻辑操作组合建立形成流程。这些操作只需通过图形化界面,将它们建立连接并运行,不理解服务技术背景的人也可以完成。但是现在的服务组合技术的发展还远没有达到这种阶段。随着Web服务的发展,流程中另一重要的要素——人与工作流的交互也逐渐受到了重视,如2007年Web Services Human Task(WS-HumanTask)规范的发布,它将与工作流交互的人需完成的任务定义为人工任务,包含了服务流程与人的交互。
本书以服务流程为研究对象,以服务的已有技术、标准为研究基础,通过应用相关的理论与技术,主要包括语义、本体、分类算法、TF-IDF算法、命题库、粒子群优化算法、遗传算法、Agent等,分阶段地探讨了服务计算的关键问题——服务组合,以帮助实现服务流程。
本书的特色在于:将服务组合划分成多个阶段并分别做了介绍,且每部分的内容都有相应的提出的方法、实验与结论,分别为服务检索、服务选择、服务推荐,以及应用Agent技术构建服务组合流程的方法。在服务检索中,为了检索到满足用户功能需求的服务并提高服务检索的效率与准确率,在同一服务类别中,提出利用相似度建立服务间关系模型,并对个体服务的描述元素的内容进行语法结构分析,通过语法结构以及语义相似度以完成查询内容与检索服务之间的匹配。在服务推荐中应用用户组建形成的社会网络预测候选服务的信任值,为用户推荐满足其非功能需求的服务,还介绍了Protege平台支持的服务解析与组合的实现过程。Agent技术与服务的结合,则应用了BDI模型于分布式服务组合流程的构建。最后是对云计算模式下的未来发展趋势——多云架构的介绍。
本书的主要目标是在阐述服务计算的基础上,重点探讨服务管理与服务组合的内容及其实现技术。面向的读者是相关领域的研究人员、科技工作者、高年级的本科生与研究生。
本书出版得到了浙江省高校人文社科重点研究基地“管理科学与工程”项目(No.ZX140204304001/007)专著出版基金的资助,作者在此表示由衷的感谢。
本书在编写过程中参考了大量的国内外文献,在此感谢这些作者。
由于作者水平有限,书中难免存在一些不足之处,恳请读者批评指正。
第1章 服务计算
1.1 云计算
1.1.1 云计算的定义
1.1.2 云计算的特点
1.1.3 云计算的挑战
1.1.4 云计算与服务计算
1.2 服务计算
1.2.1 SOA与SOC
1.2.2 服务计算的关键问题
1.2.3 服务计算的挑战
1.3 服务管理
1.4 服务组合
1.4.1 服务组合的特征与分类
1.4.2 分布式服务组合
1.4.3 服务检索
1.4.4 服务选择与推荐
1.5 总结
本章参考文献
第2章 Web服务架构与标准
2.1 Web服务
2.1.1 定义
2.1.2 特性
2.1.3 实现平台
2.2 Web服务流程的总体实现架构
2.3 Web服务实现的支撑技术
2.3.1 XML
2.3.2 WSDL
2.3.3 SOAP
2.3.4 UDDI
2.3.5 RPC
2.4 Web服务的描述语言
2.4.1 WSDL
2.4.2 OWLS与WSML
2.5 服务质量
2.5.1 简单服务的QoS计算
2.5.2 组合服务的QoS计算模型
2.5.3 QoS的应用场景
2.6 人件服务
2.6.1 定义
2.6.2 特性
2.6.3 描述方式
2.6.4 挑战
2.7 总结
本章参考文献
第3章 语义网与Web服务
3.1 语义网
3.2 本体
3.2.1 本体的定义
3.2.2 本体的建模元语
3.2.3 本体的描述语言
3.2.4 本体的建模工具
3.2.5 已有本体及其分类
3.2.6 本体的应用
3.3 本体和Web服务
3.3.1 Web服务的本体语言
3.3.2 OWLS与WSDL
3.4 语义相似性
3.4.1 语义和Web服务
3.4.2 语义相似性算法
3.4.3 语义在Web服务中的应用
3.5 总结
本章参考文献
第4章 服务的分类管理
4.1 服务分类管理的提出
4.2 服务分类管理的过程
4.3 服务的分类步骤
4.3.1 服务的描述文档解析
4.3.2 服务预处理
4.3.3 服务的向量化
4.3.4 机器学习分类算法
4.4 服务分类实验
4.4.1 数据源
4.4.2 分类正确率
4.4.3 实验结果
4.5 实验结果分析
4.6 服务的输出预测
4.6.1 人件服务的输出预测
4.6.2 人件服务的输出预测结果分析
4.7 总结
本章参考文献
第5章 服务检索
5.1 服务检索的提出
5.2 服务检索的过程
5.3 基于语义和语法的服务建模
5.3.1 基于相似度的服务间关系模型
5.3.2 个体服务的建模
5.4 服务与检索条件的匹配算法设计
5.5 服务检索实验
5.5.1 测量指标
5.5.2 实验步骤与数据
5.5.3 实验结论
5.6 总结
本章参考文献
第6章 服务选择
6.1 服务选择的提出
6.2 服务选择的过程
6.3 服务选择中的QoS
6.3.1 QoS指标
6.3.2 信任值计算
6.4 服务选择问题的形式化
6.4.1 目标函数
6.4.2 QoS约束条件
6.5 基于QoS与优化算法的服务选择模型
6.5.1 基于穷举搜索算法的服务选择求解
6.5.2 基于随机算法的服务选择求解
6.5.3 服务选择求解的优化算法——粒子群优化算法
6.5.4 服务选择求解的优化算法——遗传算法
6.6 实验结论
6.6.1 服务选择优化算法的比较
6.6.2 信任在服务选择问题中的分析
6.7 总结
本章参考文献
第7章 服务推荐
7.1 服务推荐的提出
7.2 基于信任网络的服务推荐
7.2.1 服务选择
7.2.2 信任及信任的度量
7.2.3 基于信任网络的服务推荐
7.3 信任网络模型
7.3.1 信任网络构成
7.3.2 网络特性
7.3.3 网络信任值计算
7.4 基于信任网络的服务推荐
7.4.1 服务推荐算法
7.4.2 用户间的间接信任值计算算法
7.5 服务推荐实验
7.5.1 实验环境
7.5.2 衡量标准
7.5.3 实验结果
7.6 总结
本章参考文献
第8章 服务组合
8.1 服务组合过程
8.2 服务组合实现
8.2.1 实验环境及开发工具
8.2.2 服务的统一分类管理
8.2.3 服务的操作解析
8.2.4 服务的组合实现
8.3 总结
本章参考文献
第9章 Agent技术在服务组合中的应用
9.1 分布式服务组合
9.2 问题描述
9.3 Web服务与Agent
9.3.1 服务与Agent的特性
9.3.2 服务与Agent的结合
9.4 扩展的BDI模型
9.4.1 经典BDI模型
9.4.2 扩展的BDI模型
9.4.3 基于扩展BDI模型的架构
9.5 基于扩展BDI模型的服务操作与演化
9.5.1 服务的基本逻辑操作
9.5.2 流程动态演化操作
9.5.3 环境变化对操作的影响
9.5.4 定理与结论
9.6 实例分析
9.7 总结
本章参考文献
第10章 云计算中存在的问题
10.1 多云
10.2 多云平台下的研究方向
10.3 基于信任的多云安全机制
10.4 从多方面比较单云与多云
10.5 总结
本章参考文献