问题标签 [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.
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 管理产品的用例吗?
- 可能的解决方案是否合理?
mule - 如何将 OutSystems 集成到 MuleSoft?
我需要将Mulesoft与OutSystems集成。任何人都可以帮助我了解基础知识吗?
谢谢。
spring-integration - Spring Integration DSL 向两个通道发送相同的消息
我们有一个要求,我需要在两个不同的渠道中处理相同的消息(有效负载)。我们的印象是,使用 PubliSHSubscribe 频道将通过将消息复制到两个频道来帮助我们处理这个问题。然而,我们认为每个通道一个接一个地执行,如果 e 对一个通道中的有效负载进行任何更改,它也会影响另一个通道的有效负载。
在上面的示例中,如果我对 bean21 中的有效负载进行更改,它会影响传递给 bean 22 的输入有效负载。
我的要求是将相同的有效负载传递给 bean21 和 bean22 并并行执行它们?你能告诉我如何做到这一点吗?
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是一个中间件是什么意思?它不执行业务逻辑。
java - 丰富收藏
我想用个人详细信息丰富订单的收集。
假设我已经(示例在 json 中):
现在我想提取所有买家标识符以点击其他消息端点,所以我会得到结果:
有了这些信息,我需要用人物详细信息来丰富每个对象,所以最终结果将是这样的:
使用浓缩器可以实现这一目标吗?
ssis - 使用 SSIS 处理传入的电子邮件
我们非常成功地SSIS
用于发送电子邮件通知。另一方面,我们缺少一个电子邮件源适配器。
假设以下情况:我们收到带有标准化附件的邮件。(例如 Excel)我们希望SSIS
遍历(POP or IMAP)
邮箱并分析电子邮件和附件。
有人见过这样的适配器吗?不管是商业的还是开源的。
google-maps - SBL-EAI-04116:“数据发送”期间的 HTTP Internet 异常:“安全通道支持中发生错误”,代码:“12157”
集成 Siebel - Google 地理编码:
直接从浏览器发送的 URL 请求:
其中 API_key = Google 在首次注册期间提供的特定 API 密钥
这样的请求工作正常,带有地理代码的响应返回到浏览器屏幕。
但是,如果通过 BS 通过 Siebel 发送相同的请求:EAI HTTP 传输
显示错误:
SBL-EAI-04116:“数据发送”期间的 HTTP Internet 异常:“安全通道支持中发生错误”,代码:“12157”。
官方 Oracle 支持 Web 上针对该错误描述的解决方案与外部服务器上的某些缺少证书(在我们的例子中为 Google 服务器)有关,这是在 SSL 握手期间在 Wininet 层发生的故障通用。操作应该是:通过提高网络服务器上的 SSL 跟踪级别,全面检查外部网络服务器日志。
但从逻辑上讲,为什么直接来自浏览器(同一网络)的 URL 请求已成功发送并收到响应而没有使用任何与 SSL 握手相关的证书或类似内容,这在逻辑上是没有意义的
有人可以帮忙吗?
谢谢您最好的问候
web-services - Web 服务和事务保证
您如何通过 Web 服务集成应用程序并处理技术错误,例如更改状态的 Web 服务调用的连接错误?
例如,当网络连接在 Web 服务调用期间中断时,客户端如何知道 Web 服务是否已处理其操作?
能否仅在业务层解决此问题(例如查询以前的调用状态),或者您是否知道一些很好的框架/最佳实践可以帮助围绕 Web 服务包装事务保证?
apache-camel - Apache Camel 聚合 - 内存不足问题
我必须使用 Camel 创建一个大型 XML。基本上,我使用较小的消息,最后聚合所有以使用 Camel 聚合器创建最终的 XML。
我的问题是,当我创建大型 XML 文件时,它会引发内存不足错误。对于较小的 XML 文件,它可以毫无问题地创建。
我检查了持久性 XML 存储库,例如 LevelDB,但这有助于在崩溃期间管理持久性以恢复聚合消息;不完全处理内存问题 - 我们也尝试了 LevelDb 存储库和聚合器,但没有帮助解决内存问题。
我不能做简单的附加,因为输出是一个 XML 文件。如果它是 CSV,我可以将其附加到现有文件中。
有人可以帮忙吗?提前致谢。
apache-camel - Apache Camel 文件附加在 Windows 中不起作用
我有一个简单的路线,我将一些字符串写入输出文件,然后尝试附加原始文件的内容。但它会忽略并覆盖文件。
我增加了延迟来观察会发生什么。
- 如果有一个名为 myFile.txt 的输入文件,Camel 会按预期选择该文件。
- 它将文件保存到代码中的客户交换属性中。
- 它打开一个名为 myFile.txt 的文件并写入内容“FIRST LINE!” 在其中并等待延迟到期。
- 我可以打开并验证内容,一切看起来都不错。
- 一旦延迟到期,Camel 会用它从输入文件夹中选择的原始内容覆盖文件 myFile.txt(即使我已经要求 Camel 追加)。
我在这里做错了吗?不确定这是否特定于 Windows 10。我使用的是 Camel 版本 2.24.1。谢谢你的时间。