服务交互:模式、形式化与分析
1. 引言
信息技术改变了企业内部和企业之间的业务流程。过去,信息技术主要用于支持单个任务(如“打一封信”)和存储信息。如今,业务流程与信息系统紧密交织,流程高度依赖信息系统,而信息系统又由其所支持的流程驱动。
同时,面向服务的架构(SOA)作为一种集成软件应用的范式,在组织内部和跨组织边界的应用中越来越被广泛接受。像SOAP和WSDL这样基于XML的标准,促进了这种松耦合架构的实现。有趣的是,SOA及其相关技术模糊了组织内流程和组织间流程的传统界限。从技术角度来看,工作是分包给内部服务还是外部服务已不再重要。
随着越来越多的单体系统被拆分为更小的服务,交互的重要性日益凸显。许多作者都强调了交互的重要性,而且交互在各种行业标准中也被视为一等公民。例如,Web服务业务流程执行语言(BPEL)具有诸如调用(在Web服务上调用操作)、接收(等待来自外部源的消息)和回复(回复外部源)等基本活动。此外,用于基于外部触发器的竞争条件的pick构造,显然是受服务交互需求的启发。
接下来介绍一些基础概念:
- 服务有一个定义,该定义描述了服务的行为和接口。
- 服务可以被实例化,实例对应于服务的一次执行,因此它可以执行活动、接收和发送消息。活动是服务中的原子工作单元,并在服务定义中指定。
- 服务的接口由一组端口组成。一对端口可以使用通道连接,从而实现消息交换。
- 服务可以通过连接接口进行组合。我们使用“服务编排”一词来指代一组完全连接的服务定义。
下面是一个简单的服务相关术语说明图:
graph LR
超级会员免费看
订阅专栏 解锁全文

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



