Web 服务 编制与编排规范

在学习BPEL的过程中,对BPEL这种语言的定位的之后没有一个透彻的理解,下面的一段话可能对大家的理解有帮助。

Web 服务 编制与编排规范
Web 服务正逐渐成为系统架构和实现组织内外的业务流程与业务协作的基础,从上面的讨论可以看出,实现的关键是需要一种规范、统一、功能强大的服务与业务流程的编排语言,以及与之对应的产品。目前已经存在两种 Web 服务合成语言:

1)业务流程执行语言(Business
Process
Execution
Language, WS-BPEL):这是由BEA、IBM、Microsoft以及 Siebel制定的,而后被提交给了OASIS WS-BPEL技术委员会的标准。

2) Web服务编排语言(Web Service Choreography Description Language, WS-CDL):这是由 W3C Web服务编排工作组制定的。该规范是基于一个由 Sun、Intalio、BEA、WAP 等制定的规范制定的。上述两种语言的目标都是:以一种面向过程的方式,把多个Web服务粘合起来。
编制(orchestration)和编排 (choreography)是用于描述合成Web服务的两种术语,虽然它们有共同之处,但还是有区别的。 Web 服务编制(Web Service Orchestration,WSO):指的是为业务流程进行的服务合成。它主要用于重用已有服务的内部过程。
Web服务编排(Web  Service  choreography,WSC):指的是为业务协作(businesscollaborations)而进行的业务合成。它主要定义多个方面如何在一 个更大的事务中,通过与交易伙伴及外部机构(比如供应商与客户)交换信息,进行对等(peer-to-peer)协作。



下面一段话是我在一个博客中看到的:


编制:Orchestration.首先说明BPEL属于流程编制标准.
流程编制使用一个中心流程来协调不同的 Web 服务操作。这个中心流程了解编制的总体目标、涉及的操作以及操作的调用顺序。这种集中化管理使Web 服务能够在不了解彼此影响的情况下进行添加和删除,还允许在出现错误和异常的情况下进行补偿。其结果可以看作一个新的WebService,可以执行,只是执行的过程需要调用别的Web服务.
编排:Choreography.可描述多个贸易伙伴为了实现多组织业务功能而进行的交互。也就是说编排主要描述的不同流程之间的交互情况.例如,在供应链方面,实施产品采购可能涉及到多家公司的定单、发货通知单和资金的交互。编排不描述每个公司如何处理操作,只描述不同公司如何彼此交互。
BPEL属于编制标准,而BPMN,个人认为既可以描述流程编制也可以描述流程编排.在一个BPMN图中如果只含有一个流程,那么它表现的就是流程编制. 而如果一个BPMN图中含有多个流程(存在于不同的POOL中),那么它就表现了流程编排.而BPMN的两个子类型Collaborative (Global) B2B Processes 协作图,Public(Abstract) Process 抽象图更清晰的表现了流程的编排.
而W3C的Web Services Choreography Description Language 简称WS-CDL更是专门的流程编排标准.而WS-CDL自认为可以包含流程编制,它才是SOA发展的方向.但目前WS-CDL还不成熟,而BPEL又有多家大公司支持,所以短期内,即使BPEL不如WS-CDL强大,BPEL还是会是SOA中流程标准中的主流.

按照上面的理解,Oracle BPEL是Web服务的编制。

你可能感兴趣的:(SOA)