Web服务合成与组合:技术与方法解析
1. 引言
Web服务的一个核心思想是将已发布在网络上的现有服务组合成一个新服务,以实现更高级的功能并满足业务目标。然而,手动开发新的组合服务是一项困难且容易出错的任务,因为人类领域专家需要考虑服务执行过程中的所有可能情况。因此,自动合成Web服务组合成为了Web服务领域的关键挑战之一。
自动合成Web服务组合,即生成新组合服务的可执行实现,通过以合适的方式调用现有Web服务来满足组合需求。但在实践中解决这个问题并非易事。组件服务通常是有状态的过程,它们的交互是长期且异步的,并且表现出复杂的、非确定性的行为,服务消费者只能部分控制这些行为。此外,为了应对现实场景,需要指定复杂的组合需求,这些需求既约束服务的行为(控制流),也约束数据的操作和交换(数据流)。
本文将重点介绍一种特定的Web服务组合方法——ASTRO方法。该方法基于这样的观察:在大多数现实场景中,服务是有状态的,实现复杂的协议(例如,多阶段预订过程包括搜索、选择和结账任务);它们的行为可能是非确定性的(搜索可能没有结果,结账可能失败),并且可能异步交换消息。在这种情况下,Web服务组合的合成在于理解如何编排组件服务之间的交互,以便遵守它们的协议,涵盖所有非确定性结果,并实现组合需求。
2. 组合Web服务
服务组合是Web服务背后最有前景的理念之一。组合Web服务通过与预先存在的服务(即组件Web服务)交互来执行新功能。服务组合有潜力通过重用已发布的服务来减少新应用程序的开发时间和工作量,从而实现可重用性和可扩展性。
手动实现服务组合是一项非常困难、耗时且容易出错的任务,因此需要高效的自动化支持来实现具有成本效益且实
超级会员免费看
订阅专栏 解锁全文
1428

被折叠的 条评论
为什么被折叠?



