gpt4 book ai didi

esb - BPEL-ESB 链接因 WSDL 中的新操作而中断?

转载 作者:行者123 更新时间:2023-12-01 05:26:43 29 4
gpt4 key购买 nike

这个问题不好问。所以我会尽力问清楚。
我们已经有一个企业 SOA 套件 10G 系统正在运行。
一个小过程,我就这样解释。

Consumer->ESB->BPEL->ESB->Provider Webservice

消费者调用我们的一个 ESB 流程,该流程又将请求转发给 BPEL,BPEL 再次调用另一个 ESB。这个最终的 ESB 调用由我们的提供者提供的外部 WebService。

现在让它更清楚。

Consumer C1--WSDLExt1-->ESB1-->WSDLInt1-->BPEL--WSDLInt1-->ESB2--WSDLExt2-->Provider Webservice

  • 为了解释这一点,Consumer 是 C1,而我们的第一个 ESB 是 ESB1。它们之间使用的 WSDL 是 WSDLExt1。
  • ESB1,在转换之后将请求转发给 BPEL。然后 BPEL 将请求转发到 ESB2。由于 ESB2 和 BPEL 使用相同的 WSDLInt1,因此在 BPEL
  • 中没有转换
  • 然后 ESB2 转换请求并将其发送到 Provider Webservice。 ESB2 和Provider Webservice 之间使用的WSDL 是WSDLExt2。

  • 现在问题来了。
    现在由于一个奇怪的新需求,我们必须在 WSDLExt2 中添加一个新操作。注意:只有一个新的操作。但转折来了。
    1.假设,对于一个新的操作,我定义了新的消息。
    2. 或者我继续使用 WSDL 中已经存在的(定义的)消息来进行这个新操作。

    在每种情况下,我都需要修改 WSDLint1 并反过来修改 BPEL 吗?

    总之,我的问题是,增加一个新的操作,会对之前调用它的流程有影响吗?这会导致任何故障吗?

    最佳答案

    ESB 的角色/优势之一是屏蔽,例如BPEL 来自此类更改。 ESB 用作 代理 在这里,消息路由/中介在 ESB 中调用 BPEL 时发生的这种情况对 BPEL 是不可见的。

    因此,WSDLExt2 的变化只要不触碰 WSDLInt1 就不会影响 BPEL定义(及其数据类型等)。

    如果您不打算通过 BPEL 使用这个新操作,那么您不需要修改 BPEL 或 WSDLInt1 .
    WSDLInt1 中的操作之一时的情况,由 ESB 代理,也将调用 WSDLExt2 ,这都可以在 ESB 级别内部处理,并且可以透明地完成,这样 BPEL 就不会注意到任何变化。在 ESB 术语中,这可以称为 。翻译与转换/协议(protocol)转换/服务编排 .

    关于esb - BPEL-ESB 链接因 WSDL 中的新操作而中断?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13493428/

    29 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com