问题标签 [orchestration]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
soa - BPM 与 ESB - 编排?
我们可以肯定地说,如果 ESB 提供了编排功能,那么它就有资格成为 BPM 的实现吗?
我知道 BPM 有一个不同的目的,那就是对一些业务流程进行建模,这些业务流程的实现可以由任何简单的 Java/J2EE 应用程序、复杂的 SOA 应用程序或一些说我提供 BPM 的应用程序来完成。是对的吗?
transactions - SOA 中的事务管理
SOA 服务应该是自包含的服务,但实际上我们需要编排这些服务来执行某些业务/流程。
现在,为了使流程和数据保持一致,我们需要确保所有服务都已执行或没有执行。
一种实现方式是为每个服务实现“补偿”逻辑,并在流程/先前服务中出现问题时调用它。
有没有更好的方法或一些标准来做同样的事情,例如,取出事务上下文并实现类似 2 阶段提交的东西?
web-services - 聚合来自流在骡子里
故事到此为止
我有一个 SOAP 服务,它将其响应(比如 Response_A)发送到 <all> 流。在流内部,有三个 SOAP 服务(例如 B、C 和 D)从 Response_A 获取输入。我从 Response_A 获取字段并使用 XSLT,我可以为 B、C 和 D 制定请求。
快速提问:我在 <all> 中使用 <async> 块来并行处理消息。在其中使用 <all> 和 <processor-chain> 标记时,处理不是并行的。任何想法为什么?
路线图
我将读取所有三个 B、C 和 D 的响应并将它们组合成一个响应(可能再次使用 XSLT)并将其发送给 E。
路障
退出 <all> 流程后,我得到了一个 MuleMessageCollection。如何阅读它,并将消息组合成一条消息?
我的尝试
我尝试根据关联 ID 聚合消息,但我注意到仅当来自 A 的消息被 <all> 标记拆分并发送到 B、C 和 D 时才会出现关联 ID。关联 ID 在作为来自这些服务的响应的 SOAP 信封,即使我将enableMuleSoapHeaders设置为 true。我无法修改服务。那么,如何使相关 id 出现在 SOAP 响应中(如果我想合并消息,则绝对需要相关 id)
我猜我还需要组大小来聚合消息。
我什至尝试使用消息属性转换器添加相关 ID,但它没有那样工作。我被 MessageCollection 卡住了,不知道如何阅读它,即使里面可能有带有相关 id 的消息。
所以,归结为一个问题。合并来自 MessageCollection 的消息的方法是什么?
我想在 xml 中执行此操作,而不用 Java 编写自定义转换器。可能吗?我的方法应该是什么?
注意:来自 B、C 和 D 的响应消息具有不同的 DOM 结构。我要创建的合并消息与 A、B、C 和 D 的所有响应和请求具有不同的 DO。
如果有帮助,我会尝试处理此处描述的类似情况:http ://ricston.com/blog/?p=640唯一的区别是,我使用的是流和 all 标签。
biztalk - 通过字符串变量引用编排中的端口
我正在尝试开发用于配置动态端口的通用 BizTalk 应用程序。我有一个编排,可以拉回每个端口的所有配置设置,我想遍历这些设置并配置端口。这些设置保存在 MSSQL 中,例如,其中两个属性是 PortName 和 Address。因此,在编排中,我想通过字符串变量 PortName 引用端口。那么是否有某种方法可以获取编排中所有端口的集合或通过字符串变量引用端口,即Port['MyPortName'](Microsoft.XLANGs.BaseTypes.Address) = "file://c:\test\out\%MessageId%.xml"
谢谢
esb - WSO2 ESB 服务编排
你好 WSO2 社区和你好 Stackoverflow,
我从 ESB 开始对 SOA 套件的测试进展顺利:现在 ESB 识别外部服务,创建返回正确结果的正确代理。
解决了
关于这一点,我有两个问题:第一个是“尝试一下”功能引发了异常:
[tagOpened]/soapenv:Text[tagClosed]"
当我尝试发送为代理的 Web 服务的模拟服务创建的 SOAP 封装时。
无论如何,如果我从外部客户端(在 Netbeans 上创建)尝试代理服务,它会很好用。
回答
对于第一部分,原因很可能是跨域问题,因为 try-它是通过浏览器的 java 脚本存根发送消息。您会注意到,当服务本身托管在 ESB 本身中时,这很有效,因为请求通过同一个域。这就是为什么,虽然它可以通过正常的客户端调用完美地工作,但它不能通过 try-it 工作。
第二个问题是我无法协调两个服务。我的目标是将第一个服务的输入发送到第二个服务,然后发送给用户。
我正在编写 Tharindu Mathew 建议的教程:现在一切对我来说都是有意义的,除了一件事:XSLT 转换。
这是教程建议您创建的输出序列:
现在,关注第一个 switch 案例的 XSLT 节点,您可以看到对于 amount 属性只有一个 get。所以我认为我们有一个来自 in sequence 的 XML 来说明 ID,并且这得到了 amount 属性(我不知道它做了什么)。
本教程然后建议:
要创建对此 CrediService 的请求,我们将以下 XSLT 与 XSLT 中介一起使用。请注意,我们使用存储在此 XSLT 中的 ORG_ID 作为 XSLT 参数,并且还使用了 XSLT 中介。
这是教程中显示的 XSLT:
我被要求将一个类似的文件放入 WSO2 ESB 的资源目录中,但该文件从未在教程中使用过:
将示例 zip 中的 personToCredit.xslt 复制到 WSO2 ESB 的资源目录。
---------小括号----------
声明后也没有使用 WSDL 文件:
将示例 zip 中的 CreditProxy.wsdl 复制到 WSO2 ESB 的资源目录中。
我在配置/治理注册表中找不到 WSDL 文件,也不知道如何解决它,所以我选择内联指定它。
---------小括号结束----------
这句话后面是 XSLT 文件文本。我现在的主要问题是:
我应该把这个 XSLT 放在哪里?我不知道将 XSLT 中介器放在哪里,也不知道如何构建它。我应该依赖注册表吗?
一个完美的答案可能是输出序列的代码,以及建议的与 XSLT 中介的指定连接。
OverTheBitStair
xpath - xpath 在 BizTalk 业务流程中返回 null
我有一条消息(MsgPortConfig):
当我尝试使用以下命令通过 xpath 访问值时,它总是返回 null。
我不知道我还能如何做到这一点,使用XPathBuilder之类的应用程序检查语法可以正常工作,但在 BizTalk 中却不行。我错过了什么?谢谢。
oop - MyObject.DoSomething() 与 MyService.DoSomething(MyObject)
这个比那个好吗?
这甚至是一个有效的问题吗?
最近有人告诉我,这已经MyObject.DoSomething()
过时了,而且服务方式是首选。是对的吗?
例子:
对比
如果使用服务方式 - 对象可以负责任何功能还是应该只是愚蠢的?
orchestration - 编排方法
我感兴趣的职位发布要求“全面了解编排方法”。
是否有此类方法的公认清单?或者它是特定编排算法或属性(如同步/异步、事务性、长时间运行等)的另一个名称?
bpel - Apache ODE、BPEL、调用 RESTful API
Apache ODE 文档似乎支持这一点,即调用/编排 RESTFul API。他们的网站上没有可用的示例资源,即使在 Google 上努力尝试后也找不到任何有用的东西。
有人可以帮我找到方向吗?
我正在使用带有 Eclipse BPEL 设计器的最新 Apache ODE 发行版。
我们拥有大量 RESTFul API,它们完全为我们的业务流程提供核心接口。BPEL 似乎是很好的编排/工作流编程解决方案,但如果没有开箱即用的 RESTFul API 支持,我几乎要放弃它。
我一定在这里遗漏了一些东西。请建议。
wso2 - wso2 esb 序列数据库更新
我对输出语法错误的 DBreport 调解器有疑问,但我在 SQL 语句中看不到任何错误
第一个 DB 查找工作正常,但 DBreport 中的第二个 SQL 语句无法更新值:
我的表格如下:
消费(int id,varchar 用户名,int id_api,int 使用)用户(int id,varchar 用户名,varchar 密码)
非常感谢
编辑我认为在 Mysql DB 上写入时 DBREPORT 和 DBLOOKUP 中介存在重大问题,阅读很好,但更新和插入不起作用......告诉我我是否错了