我不明白骆驼到底是干什么的。

如果你能用101个单词介绍一下骆驼:

到底是什么?它如何与用Java编写的应用程序交互?它是与服务器一起使用的吗?这是一个独立的项目吗?

请解释一下骆驼是什么。


当前回答

在尝试理解ApacheCamel之前,您需要了解的一件事是企业集成模式。并不是每个领域的人都真正意识到了这些问题。虽然你当然可以阅读《企业集成模式》这本书,但了解它们的更快方法是阅读维基百科中关于企业应用程序集成的文章。

如果你已经阅读并理解了主题领域,你将更有可能理解Apache Camel的目的

HTH

其他回答

创建项目描述不应该很复杂。

我说:

Apache Camel是消息技术与路由的粘合剂。它将消息传递起点和终点连接在一起,允许将消息从不同的源传递到不同的目的地。例如:JMS->JSON、HTTP->JMS或漏斗式FTP->JMS、HTTP->JMS、JSON->JMS

维基百科说:

ApacheCamel是一个基于规则的路由和中介引擎,它使用API(或声明性Java域特定语言)来配置路由和中介规则,提供企业集成模式的基于Java对象的实现。特定于领域的语言意味着ApacheCamel可以使用常规Java代码支持IDE中路由规则的类型安全智能完成,而无需大量的XML配置文件;尽管也支持Spring内部的XML配置。

看见这不难吧?

如果您有5到10分钟的时间,我通常建议大家阅读Jonathan Anstey的《与Apache骆驼的集成》。这是一篇写得很好的文章,对Camel的一些概念进行了简要介绍和概述,并用代码示例实现了一个用例。乔纳森在信中写道:

ApacheCamel是一个开源Java框架,专注于使集成更容易,更易于开发人员访问。它通过提供:所有广泛使用的企业集成模式(EIP)的具体实现连接到各种传输和API易于使用的领域特定语言(DSL)将EIP和传输连接在一起

《行动中的骆驼》(Camel in Action,第二版)还有一个免费章节,在第一章中介绍了骆驼。乔纳森和我是那本书的合著者。

计算中的大多数“新”事物都不是真正的新事物,它们只是一个围绕着已经很好理解的东西的神秘包装。当它们难以理解时,通常是因为有人决定发明新的语言术语或出于不同的目的殖民现有术语(X开发人员颠倒了“客户端”和“服务器”的意思就是一个很好的例子)

Camel是用于应用程序间中间件的基于Java的包装器/API。

中间件是在不共享公共语言或数据类型的实体之间提供解释服务的软件的统称。

这就是骆驼的本质。我们可以通过注意它提供了EIP类型的中间件来充实描述。

它不提供中间件本身,因为它不知道应用程序需要通信的细节。但它提供了创建中间件的不变部分的API(创建起点、创建终点、创建开始和结束条件等)

希望这会有所帮助。

是的,这可能有点晚了。但有一点需要补充的是,Camel实际上是一个工具箱,而不是一整套功能。在开发和需要进行各种转换和协议转换时,您应该记住这一点。

Camel本身依赖于其他框架,因此有时您需要了解这些框架,以便了解哪种框架最适合您的需求。例如,有多种方法来处理REST。这一点一开始可能会有点混乱,但一旦开始使用和测试,您就会感到轻松,对不同概念的了解也会增加。

假设你创建了一家像亚马逊这样的电子商务公司,你只想专注于销售产品的战略/选择。与亚马逊的送货车队不同,你不需要自己处理从卖家到仓库的货物运输,而是在仓库中对货物进行包装,然后将货物发送给其他城市和客户。你雇了一家公司来做这一切,只需向他们提供你所有仓库位置、车辆类型、交货地点的信息,以及何时做什么的列表。然后他们自己处理,那就是阿帕奇骆驼。一旦你把东西交给他们,他们会把东西从一端移到另一端,这样你就可以自由地专注于其他事情。