问题标签 [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.
edi - “服务总线连接 EAI 和 EDI”将如何有助于集成内部 SAP?
我刚刚开始探索 Service Bus Connect EAI 和 EDI,我正在寻找满足以下场景的解决方案/中间件。
我们有一个产品,我们希望在本地客户端将我们的产品与 SAP/Oracle Business Suite/Sieble/Oracle/SQL Server 集成。因此,我们应该只进行配置和最小安装以在本地客户端公开端点。
“Service Bus Connect EAI and EDI”在这种情况下会有什么帮助?
据我了解“Service Bus Connect EAI and EDI”,我们需要做很多安装,我的理解是否正确?
如果不是我们如何使用这个中间件?
提前致谢。-里帕尔
soa - BPM 与 ESB - 编排?
我们可以肯定地说,如果 ESB 提供了编排功能,那么它就有资格成为 BPM 的实现吗?
我知道 BPM 有一个不同的目的,那就是对一些业务流程进行建模,这些业务流程的实现可以由任何简单的 Java/J2EE 应用程序、复杂的 SOA 应用程序或一些说我提供 BPM 的应用程序来完成。是对的吗?
apache-camel - Is a standard implementation of an ESB on one server, or a cluster of servers?
I already used SOAP, but I never worked with SOA, ESB and other enterprise application integration patterns. And I find documentation about ESBs quite confusing.
There is something I am not sure to understand with an ESB. I know it is rather a concept describing the network of an enterprise as a bus and not really a concrete thing, but still.
I can understand that an ESB provides protocol and message conversions with legacy services, allows orchestration and that the logic of the message destination is done by the ESB. But I also thought of the ESB as a middleware between different ESB servers (and not only with web service interfaces).
If I take the example of ServiceMix, I thought that it would be natural to have several ServiceMix platforms on different servers which interact through a common bus/protocol (NMR? JMS?). Therefore my service on ServiceMix (a) created with CAMEL (by using some web services for instance) could consume a service on ServiceMix (b) also created with CAMEL.
So if my service need another service, I would just mention its identifier, and the ESB would route my request to the correct ServiceMix platform.
But when I read about the examples of ServiceMix, it seems to me that ServiceMix is prefentially used as a standalone application server. Not a cluster of servers.
Is an ESB simply a boosted application server? (let apart the integration capabilities it provides)
Is there actually multiple ESBs in an SOA? Are they linked with a protocol internal to the ESB? Or do the services implemented on an ESB (a) must provide external interfaces like SOAP so an ESB (b) can use its services?
java - 并发消费者但确保订单
我有一个以非常高的速率(> 100,000/sec)填充的 JMS 队列。
每秒也可能有多条与同一实体有关的消息。(对 entity 的多次更新,每次更新都作为不同的消息。)
另一方面,我有一个消费者处理此消息并将其发送到其他应用程序。
现在,由于消费者无法应对传入消息的速度,整个设置正在放缓。
因为,消费者处理消息的速率有一个 SLA,所以我一直在玩弄让多个消费者并行行动以加快流程的想法。
所以,我想做的是
- 多个消费者在队列上独立行动。
- 每个消费者都可以自由地获取任何消息。
- 抓取消息后,确保它是实体的最新版本。为此,我可以检查处理该实体的应用程序。
- 如果它不是最新的,请升级版本并重试。
到目前为止,我一直在查找集成模式和 JMS 文档,但没有成功。
我欢迎以更优雅的方式解决这个问题的想法以及 Java 世界中任何已知的 API、模式。
spring - 使用 Spring Integration 将大型 XML 文件拆分为单独的较小消息并单独处理每个消息
我正在使用 Spring Integration 并且有一个包含子项集合的大型 XML 文件,我想将文件拆分为一组消息,每条消息的有效负载将是一个子 XML 片段。
使用 splitter 是显而易见的,但这需要返回一组消息,这会耗尽内存;我需要将文件拆分为单独的消息,但一次处理一个(或者更可能使用多线程任务执行器)。
是否有一种标准方法可以做到这一点,而无需编写以编程方式将子消息写入通道的自定义组件。
java - 将 Web 应用程序与第三方应用程序集成
我正在开发一个集成解决方案,我的 Web 应用程序必须与第三方应用程序进行通信。Web 应用程序只能通过调用具有特定参数的可执行文件来调用第三方应用程序的服务。然后,第三方应用程序以文件形式生成结果,这些文件存储在安装它的服务器上。这些文件将由 Web 应用程序使用和处理。Web 应用程序和第三方应用程序不一定在同一台服务器上。Web 应用程序是使用 Spring 框架构建的。
目前,我正在尝试寻找应该用于执行此集成的最佳方法和最佳实践。由于我是这个领域的新手,我不知道我应该使用哪些确切的术语来搜索。我也不知道描述 Web 应用程序与此类第三方应用程序集成的这种设置的确切术语。
我需要一些关于要搜索什么样的信息以及在搜索过程中使用什么术语的指导。这对我来说很重要,因为我还需要记录整个搜索过程以及基于当前方法和最佳实践的解决方案。
提前非常感谢!
阿斯玛
java - 需要将网络应用程序与所有主要的 ERP 和 CRM 系统集成
我有一个 Web 应用程序,它需要与所有主要的 CRM 和 ERP 系统交互才能发送和接收数据。
根据您的说法,这将是一个更好的方法。
- 在 Web 应用程序中设计整个逻辑,也许每个界面都有一个组件
- 使用 ESB。
请建议什么是实现这一点的最佳方法,任何其他解决方法,也欢迎设计。
.net - 使用服务总线架构在不同系统之间关联/映射实体有哪些方法?
我正在研究在我们的企业中使用服务总线架构来协调我们环境中系统之间的数据和业务流程。
我们的情况很典型:面向客户的 Web 应用程序将消息传递给内部系统以进行计费、库存等。我们有几个业务实体在大多数或所有这些系统中都是通用的;这些系统中的每一个都在自己的数据库中维护自己的这些实体版本。
应用于服务总线概念,我们可以从我们的客户门户网站向总线发布代表订单的消息。每个感兴趣的系统(计费、库存等)都可以使用此消息在自己的数据库中创建相应的客户记录。但是,当这些内部系统中的一个需要发布有关订单状态的消息时,它会从自己的数据库中携带订单 ID。如果我们的门户网站需要使用该消息,它将不知道如何将从我们的内部系统发送给它的订单 ID 与保存到门户网站数据库的订单 ID 相关联。
由于没有其他系统固有地知道等效实体如何跨系统关联,因此似乎需要某种类型的映射机制来允许系统将消息中包含的 ID 转换为与其相关的 ID。例如,可以创建一个将 ID 从一个系统映射到另一个系统的数据库表。可以查询该表以检索目标系统的适当 ID。我们的业务目前不使用实体聚合或其他一些“360 度视图”类型的存储库作为通用实体信息的单一权威来源,通用 ID 可以从这些信息中在所有系统之间传递和使用。
使用这种实体映射方法来伴随服务总线实现是一种有效的方法吗?如果是这样,是否有任何既定的指导方针来指导设计?如果没有,我有兴趣了解跨系统链接实体以促进通过服务总线进行集成的替代方法。
PS:如果有帮助,我目前正在评估用于构建我们的公共汽车的 MassTransit 框架,所以如果有特定的信息可以提供,那也非常受欢迎。
comparison - WSO2 ESB 中介序列与代理服务
WSO2 ESB 具有用于实现 EAI 模式的中介序列和代理服务。我目前是新手,无法区分何时使用中介序列或代理服务。两者似乎在大多数用例中都运行良好。我应该什么时候使用每个?
jakarta-ee - Java EE 架构:适配器的单独战争
架构问题:我有一个 Java EE 企业应用程序,目标是部署给许多不同的客户。它包括:
- 标准后端:为每个客户提供相同的核心
- 用于 EAI 适配器的单独模块:旨在包含所有客户特定的集成(财务、CRM、ERP 等) - 为每个客户提供不同的实施
我可以看到 2 个选项:
- 只有一个 backend-cust1.ear,其中包含 core.jar 和 adapter-cust1.jar。
- 适配器的单独 WAR。因此,我们将拥有:backend.ear 仅包含 core.jar,即为每个客户提供相同的交付方式和单独的适配器-cust1.war。
问题在于,使用第一个解决方案,核心可以通过简单的 java 方法调用来调用适配器,客户特定的实现可以注入一些 CDI 代码。
但是对于第二种解决方案,我们需要一些远程技术来在核心和适配器之间进行通信:例如 JMS 或 WS。在我看来,这是一种相当沉重的方式。
但是我们认为适配器可能依赖于任何东西(MQ、SAP 客户端,实际上是任何东西),我们希望确保这些依赖关系不会以任何方式影响我们的公共核心,这就是我们考虑进行单独战争的原因。
对此有什么想法吗?