【问题标题】:BPMN and BPEL relationship with SOABPMN 和 BPEL 与 SOA 的关系
【发布时间】:2020-06-13 11:51:50
【问题描述】:

我对 BPMN、BPEL 和 SOA 之间的关系有点困惑。

简而言之,我是这样理解的:

BPMN 是使用 Web 服务的流程的图形符号。所以 BPMN 以某种顺序组合了多个 Web 服务。然后 BPEL 是在 XML(可执行级别)中使用 BPMN 创建的这个流程的表示。所以它是多个 Web 服务的编排。 BPEL 的结果是新服务,我可以在 SOA 中使用它(以及其他服务)

我理解正确吗?如果不是,请尝试尽可能简单地解释它。也许现实生活中的例子会有所帮助

非常感谢

【问题讨论】:

    标签: web-services soa business-process-management


    【解决方案1】:

    让我们从高层开始。 SOA 是一个包罗万象的概念,可以应用于企业的技术解决方案。为此,您如何处理解决方案以确保遵循某些原则,而与用于实施该解决方案的技术无关,这更像是一种哲学。

    我使用了几个 BPMN 引擎/套件,并在该工作中遇到了一些 BPEL 解决方案。根据我的经验,BPEL 似乎倾向于编排基于系统的流程,协调多个系统需要交互以实现业务成果的复杂逻辑。 BPMN 也可以做到这一点,但许多实现更加关注需要协调系统和用户的业务流程。

    重要的是要注意,BPMN 对流程的实施部分保持沉默。虽然它旨在捕获流程的“什么”,但它没有说明如何实际使图中的项目以指示的方式执行。这表明了“业务流程建模符号”和“业务流程执行语言”之间的根本区别。后者至少意味着包含执行以使您合规,而前者几乎是说“这是一种可用于显示/理解业务流程的符号。实现不是规范的一部分”。

    这很容易被混淆,因为 BPMN 的实际软件通常被拉向包含实现,或者作为为流程执行进行簿记的引擎(例如,当前发生的事情、之后发生的事情、之前发生的事情),例如Camunda,或完整的端到端 BPM 套件,如 IBM BPM(现在是他们的“数字流程自动化”套件的一部分)。其中包括流程执行的实现,但这不是 BPMN 标准所要求的。

    【讨论】:

      【解决方案2】:

      所以它是多个 Web 服务的编排

      我理解正确吗?

      没有。 BPMN 和 BPEL 都是notations,用于表示、表示和执行流程,而不是 Web 服务 (!!!)。而且它们在实现和声明方面没有单一的相互联系

      那么 BPEL 就是在 XML 中使用 BPMN 创建的这个流程的表示(可执行级别)

      不正确。是的,有一些工具(非常过时)允许从 BPEL 转换为 BPMN,反之亦然,但通常不是那么简单,主要是手动工作。 in Wiki 给出了关于转换 BPMN2BPEL 的“简易性”的非常好的观点。 BPMN 和 BPMEL 是解决同一问题的两种相互竞争的方法,例如文档的 DOCX 和 ODF 格式,例如 Android 和 iOS 等。您可以选择任何一种工具,但对于某些任务,某些工具更适合。

      BPEL 的结果是新服务,我可以在 SOA 中使用它(以及其他服务)

      通常是正确的。任何 BPEL 方案的结果都是代表流程的 Web 服务,您可以将该服务作为 WSDL 文件获取并推送到任何 WS 工具(SOA 不是工具,它是架构)。

      使用 BPMN,这是一项更复杂的任务,它需要 BPMS,引擎会将您的服务编译/呈现为诸如 Web 服务或 Web 应用之类的可执行文件。

      【讨论】:

        【解决方案3】:

        BPMN 关注业务逻辑片段内的交互,描述为流程和子流程以及它们与用户输入的关系。 通常你会有一个包含一些任务的流程,它们总是会遵循流程中描述的流程,有时涉及不同的分叉选项或事件触发捕获机制。

        BPEL :它的主要重点是基于编排(意味着将所有内容放在一起)不同的外部服务、来源。与一些内部逻辑交互,它也可以使用一些任务让用户进行交互,但不是主要的。

        通常,BPMN 流程将作为组合中的 WS 提供,与 BPEL 相同。主要区别在于 BPMN 将作为优先级(用户输入、以步骤表示的业务逻辑),BPEL 将作为优先级(组织不同的数据源、写入、向外部系统检索信息等)。概括地说,您可以将其视为一项服务 BPMN 使用多个 BPEL 服务与外部系统进行交互。

        因此,通过将所有这些都传递给 BPEL 服务,BPMN 流程中不同系统交互的复杂性降低了。制作更易于理解的业务流程如何工作的图表。这是一个简单的方法,希望它有所帮助。最好的!

        所有这些都是高水平的

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2014-06-06
          • 2015-08-29
          • 1970-01-01
          • 2018-01-08
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多