问题标签 [eai]

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.

0 投票
1 回答
102 浏览

oauth-2.0 - 当后端 API 存在于互联网上并使用 OAuth2 保护时 API 管理产品的用例

背景

我正在开展一个项目,我们正在建立一个集成平台/ESB 以及一个 API 管理产品。

策略是有一个集成层,通过它处理大部分集成。这将各个系统解耦,可以在一个地方控制访问和监控。

我对 API 管理也很陌生,但已经从事企业应用程序集成多年。

设想

在第一个集成中,我们将通过 API 管理平台公开后端 API。后端 API 以及调用应用程序存在于 Internet 上,并且后端 API 使用 OAuth 2(授权类型 = 密码)进行保护。但是,没有发送任何最终用户凭据,这是一种机器对机器的流程。

我们已经获得了客户端和用户凭据,我们的想法是将其从应用程序中抽象出来,应用程序将根据 API 管理产品进行身份验证。

问题

然而,这种情况很难在 API 管理产品中实现,它似乎需要中介,因为 API 网关不能只将请求发送到后端 API,它首先需要获取令牌才能调用 API。

我发布了另一个问题(WSO2 APIM - Backend service uses OAuth 2 with Password Grant),它更关注产品,但我想从更广泛的角度同时询问这种情况。

可能的解决方案

使用 ESB 来调解流向后端 API 的 OAuth 流,并将 API 管理产品作为外观,在其中管理身份验证和其他方面以用于调用应用程序。

问题

  • 由于 API 管理产品不支持使用 OAuth 2 对后端 API 进行身份验证,我想知道这种情况是否不寻常?即在使用 OAuth 时抽象出后端 API 身份验证。
  • 这是 API 管理产品的用例吗?
  • 可能的解决方案是否合理?
0 投票
2 回答
280 浏览

mule - 如何将 OutSystems 集成到 MuleSoft?

我需要将MulesoftOutSystems集成。任何人都可以帮助我了解基础知识吗?

谢谢。

0 投票
1 回答
1284 浏览

spring-integration - Spring Integration DSL 向两个通道发送相同的消息

我们有一个要求,我需要在两个不同的渠道中处理相同的消息(有效负载)。我们的印象是,使用 PubliSHSubscribe 频道将通过将消息复制到两个频道来帮助我们处理这个问题。然而,我们认为每个通道一个接一个地执行,如果 e 对一个通道中的有效负载进行任何更改,它也会影响另一个通道的有效负载。

在上面的示例中,如果我对 bean21 中的有效负载进行更改,它会影响传递给 bean 22 的输入有效负载。

我的要求是将相同的有效负载传递给 bean21 和 bean22 并并行执行它们?你能告诉我如何做到这一点吗?

0 投票
2 回答
2254 浏览

web-services - 为什么 Web 服务被称为中间件?

背景:

wiki说:可以看作中间件的服务包括企业应用集成数据集成、面向消息的中间件(MOM)、对象请求代理(ORB)和企业服务总线(ESB)。

下面是我工作的基于中间件的 3 层架构,其中 4 个组件——客户端、中间件和两个管理器,都是基于 Java 的系统和RMI感知。

在此处输入图像描述


架构中引入了中间件(上图),主要用于数据集成(业务逻辑):

  • 执行来自多个管理器的不同数据(业务逻辑)的集成
  • 表示层(用于客户端)在集成后提供特定格式的数据
  • 客户端访问的身份验证/授权/安全性。

概括地说,以上是在任何 3 层架构产品中引入中间件的一些主要原因。

正如这里提到的,RMI 仅提供寻址同步编码移动性,但不提供互操作性通信方面,在上述架构中仅此而已。RMI 本身不是中间件


想象一下将上述架构从基于 RMI迁移到Axis2,这 4 个组件(包括中间件)中的所有 POJO 都应该使用Axis2启用 Web 。中间件(上)的功能保持不变。

Axis2只会使用 SOAP 或 REST(v2) 协议启用这 4 个组件之间的互操作通信,仅此而已。

但在本文中,Axis2 被称为中间件。它是JAX-WS规范的实现。


说Axis2是一个中间件是什么意思?它不执行业务逻辑。

0 投票
1 回答
158 浏览

java - 丰富收藏

我想用个人详细信息丰富订单的收集。

假设我已经(示例在 json 中):

现在我想提取所有买家标识符以点击其他消息端点,所以我会得到结果:

有了这些信息,我需要用人物详细信息来丰富每个对象,所以最终结果将是这样的:

使用浓缩器可以实现这一目标吗?

0 投票
0 回答
195 浏览

ssis - 使用 SSIS 处理传入的电子邮件

我们非常成功地SSIS用于发送电子邮件通知。另一方面,我们缺少一个电子邮件源适配器。

假设以下情况:我们收到带有标准化附件的邮件。(例如 Excel)我们希望SSIS遍历(POP or IMAP)邮箱并分析电子邮件和附件。

有人见过这样的适配器吗?不管是商业的还是开源的。

0 投票
1 回答
1883 浏览

google-maps - SBL-EAI-04116:“数据发送”期间的 HTTP Internet 异常:“安全通道支持中发生错误”,代码:“12157”

集成 Siebel - Google 地理编码

直接从浏览器发送的 URL 请求:

https://maps.googleapis.com/maps/api/geocode/xml?address=Landsdorf%20Strasse,,Gr%C3%BCnewald,01945,Deutschland&key=API_key

其中 API_key = Google 在首次注册期间提供的特定 API 密钥

这样的请求工作正常,带有地理代码的响应返回到浏览器屏幕。

但是,如果通过 BS 通过 Siebel 发送相同的请求:EAI HTTP 传输

显示错误:

SBL-EAI-04116:“数据发送”期间的 HTTP Internet 异常:“安全通道支持中发生错误”,代码:“12157”。

官方 Oracle 支持 Web 上针对该错误描述的解决方案与外部服务器上的某些缺少证书(在我们的例子中为 Google 服务器)有关,这是在 SSL 握手期间在 Wininet 层发生的故障通用。操作应该是:通过提高网络服务器上的 SSL 跟踪级别,全面检查外部网络服务器日志。

但从逻辑上讲,为什么直接来自浏览器(同一网络)的 URL 请求已成功发送并收到响应而没有使用任何与 SSL 握手相关的证书或类似内容,这在逻辑上是没有意义的

有人可以帮忙吗?

谢谢您最好的问候

0 投票
1 回答
63 浏览

web-services - Web 服务和事务保证

您如何通过 Web 服务集成应用程序并处理技术错误,例如更改状态的 Web 服务调用的连接错误?

例如,当网络连接在 Web 服务调用期间中断时,客户端如何知道 Web 服务是否已处理其操作?

能否仅在业务层解决此问题(例如查询以前的调用状态),或者您是否知道一些很好的框架/最佳实践可以帮助围绕 Web 服务包装事务保证?

0 投票
0 回答
108 浏览

apache-camel - Apache Camel 聚合 - 内存不足问题

我必须使用 Camel 创建一个大型 XML。基本上,我使用较小的消息,最后聚合所有以使用 Camel 聚合器创建最终的 XML。

我的问题是,当我创建大型 XML 文件时,它会引发内存不足错误。对于较小的 XML 文件,它可以毫无问题地创建。

我检查了持久性 XML 存储库,例如 LevelDB,但这有助于在崩溃期间管理持久性以恢复聚合消息;不完全处理内存问题 - 我们也尝试了 LevelDb 存储库和聚合器,但没有帮助解决内存问题。

我不能做简单的附加,因为输出是一个 XML 文件。如果它是 CSV,我可以将其附加到现有文件中。

有人可以帮忙吗?提前致谢。

0 投票
1 回答
428 浏览

apache-camel - Apache Camel 文件附加在 Windows 中不起作用

我有一个简单的路线,我将一些字符串写入输出文件,然后尝试附加原始文件的内容。但它会忽略并覆盖文件。

我增加了延迟来观察会发生什么。

  1. 如果有一个名为 myFile.txt 的输入文件,Camel 会按预期选择该文件。
  2. 它将文件保存到代码中的客户交换属性中。
  3. 它打开一个名为 myFile.txt 的文件并写入内容“FIRST LINE!” 在其中并等待延迟到期。
  4. 我可以打开并验证内容,一切看起来都不错。
  5. 一旦延迟到期,Camel 会用它从输入文件夹中选择的原始内容覆盖文件 myFile.txt(即使我已经要求 Camel 追加)。

我在这里做错了吗?不确定这是否特定于 Windows 10。我使用的是 Camel 版本 2.24.1。谢谢你的时间。