关于BPEL,网上有很多资料.所以就没有写自己的总结.但BPEL中有两个概念困扰了我很久,直到不久前才彻底明白.
第一个概念就是关于流程的编制和编排
编制:Orchestration.首先说明BPEL属于流程编制标准.
流程编制使用一个中心流程来协调不同的 Web 服务操作。这个中心流程了解编制的总体目标、涉及的操作以及操作的调用顺序。这种集中化管理使 Web 服务能够在不了解彼此影响的情况下进行添加和删除,还允许在出现错误和异常的情况下进行补偿。其结果可以看作一个新的Web Service,可以执行,只是执行的过程需要调用别的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中流程标准中的主流.
第二个概念是人工流程
业务流程的完全自动化虽然非常不错,但在实际中却是不可能实现的,因为有些活动要求相关人员做出判断,或要借助人员的专业知识(例如手动处理异常情况或审批请求等),这些活动将始终由人进行。在整个业务流程中,和任何其他任务一样,人工任务是一项服务,不过是通过人员活动(而不是程序)实现的,由相关人员(而不是计算机)执行。
因此,在SOA 编程模型中,人员活动可以作为 Web 服务实现。该服务被调用时,将通知承担任务的个人进行相关工作,并将输入数据以恰当的形式传递给此人。任务完成后,将产生相应的结果,服务会返回到其调用方,并将此结果作为输出数据传递给调用方。该结果实际由相关人员得出这一事实可能对调用方完全透明。该场景采用异步调用来支持运行时间长的服务.
BPEL正是利用自己对异步服务的支持,使用这种方式来支持人工流程的.
目前的流程标准中,BPMN作为流程的标记标准,在其图示化的编辑器中是支持人工流程的.例如其ACTIVITY就有Manual的类型.而XPDL也是支持人工流程的.而BPEL为了弥补自己对人工流程支持上的不足,又定义了BPEL4PEOPLE的标准.
BPEL4People 扩展提供了通过嵌入人工任务扩展业务流程所需的扩展功能。它可处理将手动任务呈现为不透明的独立 Web 服务的场景.
分享到:
相关推荐
标题"BPEL 1.0 vs 2.0"指的是Business Process Execution Language(业务流程执行语言)的两个主要版本之间的对比。BPEL是一种用于描述、执行和监控服务导向架构(SOA)中的业务流程的XML规范。这个话题涉及的核心...
ESP32中文相关资料+Arduino实验 例程源码,ESP32中文相关资料+Arduino实验 例程源码,ESP32中文相关资料+Arduino实验 例程源码.zip
内容概要:本文详细介绍了基于SPWM(正弦脉宽调制)的异步电机无速度传感器矢量控制技术。首先概述了异步电机的特点及其传统控制方法存在的局限性,接着阐述了SPWM技术和矢量控制的基本原理。文中还提供了简化的代码示例,展示了如何通过读取电机的电压和电流信息,利用矢量控制算法估算电机的速度和位置,并使用SPWM技术生成PWM信号来驱动电机。最后强调了系统实时性的要求,并展望了该技术在未来的发展前景。 适合人群:从事电机控制、工业自动化、电力电子等相关领域的工程师和技术人员。 使用场景及目标:适用于希望深入了解和掌握异步电机无速度传感器矢量控制技术的研究人员和开发者,旨在提高电机控制精度和效率,降低系统复杂度和成本。 其他说明:该技术在工业自动化、电动汽车、机器人技术等领域有广泛应用潜力,对于提升设备性能和可靠性具有重要意义。
1.版本:matlab2014/2019a/2024a 2.附赠案例数据可直接运行。 3.代码特点:参数化编程、参数可方便更改、代码编程思路清晰、注释明细。 4.适用对象:计算机,电子信息工程、数学等专业的大学生课程设计、期末大作业和毕业设计。
第12章软件项目管理.pptx
dpx官方手册工具链使用说明
电动汽车品牌 电动汽车产地 电动汽车产量 电动汽车销量 电动汽车运行公里数 电动汽车生产日期 拥有者会员级别 电动汽车原价 电动汽车售价 电动汽车利润 电动汽车过户状态 电动汽车厂商 电池容量(kWh) 续航里程(NEDC/CLTC) 充电效率(快充/慢充) 驱动形式(前驱/后驱/四驱) 市场份额 用户年龄 用户性别 用户职业 用户使用习惯(日均里程/充电频率) 电动汽车智能化水平(自动驾驶等级/OTA频率)
内容概要:本文详细介绍了一种将白平衡技术从MATLAB环境迁移到FPGA实现的方法。首先,在MATLAB中利用图像处理工具箱实现并测试白平衡算法,包括自动白平衡和特定场景的白平衡调整。接下来,将MATLAB中的算法转换为Verilog代码,并使用ModelSim进行仿真验证。随后,在小梅哥AC620和正点原子新起点/开拓者的FPGA板卡上实现了经过验证的Verilog代码,进行了实际环境的测试。此外,还撰写了技术博客详细讲解每个步骤,并展示了最终的白平衡处理效果。 适合人群:从事图像处理和FPGA开发的技术人员,尤其是对白平衡技术和硬件实现感兴趣的工程师。 使用场景及目标:适用于需要深入了解白平衡算法从软件到硬件迁移过程的研究人员和技术爱好者。目标是掌握MATLAB、Verilog和FPGA板卡的实际操作技能,解决实际项目中的图像处理问题。 其他说明:文中不仅提供了详细的理论解释,还包括具体的代码实现和实战案例,能够帮助读者更好地理解和应用相关技术。
第2章VisualBasic程序设计入门.ppt
第2章软件开发过程及软件测试.ppt
1.版本:matlab2014/2019a/2024a 2.附赠案例数据可直接运行。 3.代码特点:参数化编程、参数可方便更改、代码编程思路清晰、注释明细。 4.适用对象:计算机,电子信息工程、数学等专业的大学生课程设计、期末大作业和毕业设计。
一键清理显卡驱动残留。支持NVIDIA、AMD显卡
琅琊海洋大模型权重文件
第五章计算机等级考试.ppt