BPEL服务的形式语义与客户端合成
1. 引言
1.1 从基础Web服务到复杂Web服务
Web服务是“自包含、自描述的模块化应用程序,可在Web上发布、定位和调用”。它基于一组独立的开放平台标准,具有较高的接受度。Web服务框架分为通信协议、服务发现和服务描述三个领域。“Web服务描述语言”(WSDL)为Web服务提供了正式的、计算机可读的描述,规定了软件组件接口,列出了通过标准XML消息在网络上可访问的操作集合,包含应用程序调用所需的所有信息,如消息结构、响应结构和一些绑定信息(如传输协议、端口地址等)。
然而,对于某些复合服务来说,简单的操作调用是不够的,它们需要基于显式流程模型的长期交互。这种服务常见于两种情况:一是开发Web服务时,由一组可访问操作和调度调用的流程模型组成;二是面对Web服务的能力限制,通过聚合现有Web服务创建更复杂的服务。为了处理复杂服务的行为方面,引入了一些工业和学术规范语言,其中“Web服务业务流程执行语言”(BPEL4WS,简称BPEL)由行业领先企业(BEA、IBM和Microsoft)提出,并迅速成为标准。
1.2 复杂Web服务的两个方面
BPEL支持两种不同类型的业务流程:
- 可执行流程:指定业务流程的精确细节,可由编排引擎执行。
- 抽象业务协议:指定客户端与服务之间的公共消息交换,不包括流程内部细节,但客户端正确与服务交互需要它。
给定可执行流程的描述,其关联的交互协议通过抽象机制获得(屏蔽服务的所有内部操作)。但这两种流程引发的问题非常不同,可执行流程的规范接近程序的定义,而交互协议的规范主要提出了一个难题:如何合成一个能正确处理与服务交互的
BPEL服务形式语义与客户端合成
超级会员免费看
订阅专栏 解锁全文
14

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



