gpt4 book ai didi

java - CAMEL 或其他企业集成框架是否更适合此用例?

转载 作者:行者123 更新时间:2023-12-01 17:13:43 25 4
gpt4 key购买 nike

关闭。这个问题是opinion-based .它目前不接受答案。












想改进这个问题?更新问题,以便 editing this post 可以用事实和引用来回答它.

8年前关闭。




Improve this question




我的应用程序需要作为中间件(MW)工作,它从各种客户那里获得订单(以 XML 形式),其中包含 --------------优先级 1
客户可以将 XML 发送到这些组件之一的供应商 ID

1)JMS queue
2)File system
3)HTTP
4)Web service request(rest/soap)

此 MW 将首先验证传入的请求并将确认发送给请求订单的客户
通过他们的首选 channel 。 channel 和客户端点信息存在于传入的 XML 中。

一旦它得到订单,它需要通过他们的首选 channel 以 xml 的形式向不同的供应商发送订单请求。
我的数据库中有供应商及其首选 channel 信息。

所以它是一个企业集成用例。

我打算使用核心 Java 技术来实现它。这是我计划的方法。

对于每种类型的传入请求(JMS 队列、文件系统、HTTP、Web 服务请求(rest/soap)),将有四个监听器/入口端点。
这些监听器会将 xml 字符串放入 jms 队列中。这将作为接待员工作并使流程异步。

现在我将拥有 jms 消费者,它将在队列上监听。(消费者可以在同一系统上或与生产者不同,具体取决于负载
生产机器)。这个消费者会将 xml 字符串解析为 java 对象。执行验证。将确认发送至
客户(需要根据客户偏好发送确认。我将使用确认处理器工厂,它将发送
基于偏好的确认)。验证完成后,将此 pojo 转换为另一种 pojo 格式,以便进一步使用 xstream/jaxb
将其编码为 xml 格式并在他们的首选 channel 上发送给供应商(供应商偏好存储在 db 中),例如通过 soap、jms、文件请求等。

有些我遇到了这个 CAMEL 链接 http://java.dzone.com/articles/open-source-integration-apache看起来它提供了完美的解决方案
发现这是企业集成用例。

请专家建议,Camel 是解决此问题的正确方法。或其他一些企业集成框架,如 Spring 集成、ESB
在这种情况下会更有益。如果有人可以指出 ESB 解决这种用例的资源。这真的很有帮助。

由于时间限制,我无法探索所有解决方案,因此寻找专家建议以便可以专注于一个。

最佳答案

像 Camel 这样的东西完全适合这项任务。

像 Camel 这样的东西提供了工具集和组件,可以更轻松地将像您描述的工作流拼接在一起,但需要注意的是,您必须首先学习整个工具(即 Camel,在这种情况下)。

对于熟练的、经验丰富的开发人员和简单的用例,您可以了解他们可能会采用您正在采用的方法。使用手头的工具(可能包括自定义代码)来配置工作流,而不是花时间学习新工具。

回想一下,虽然工具可以带来很大的好处(功能、测试、质量、文档),但它们也带来了负担(支持、资源、复杂性)。将工具集引入您的环境的一个关键方面是,虽然您可能没有编写代码,但您最终仍要对它在您的环境中的行为负责。

因此,综上所述,您需要确定合并像 Camel 这样的工具所花费的时间是否值得为您当前的项目带来好处。奇怪的是,如果您打算在 future 继续并进行更多集成,那么投资这样一个工具将是一个好主意,因为该工具将使这些集成更容易。

但是请注意,像 Camel 这样非常灵活的东西也带来了固有的复杂性。但是对于像您所说的那样简单的东西,我认为它非常合适。

关于java - CAMEL 或其他企业集成框架是否更适合此用例?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22943311/

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