Apache Camel到底是什么?

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

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

  • 它到底是什么?
  • 它如何与用Java编写的应用程序进行交互?
  • 它是与服务器一起的东西吗?
  • 它是一个独立的程序吗?

请解释骆驼是什么。


答案 1

我以一种更容易理解的方式描述这一点......

为了理解Apache Camel是什么,你需要了解什么是企业集成模式

让我们从我们可能已经知道的东西开始:单例模式,工厂模式等;它们只是组织你的问题解决方案的方法,但它们本身并不是解决方案。这些模式是由四人帮为我们其他人分析和提取的,当时他们出版了他们的书:设计模式。他们为我们中的一些人节省了巨大的精力来思考如何最好地构建我们的代码。

就像四人帮一样,Gregor Hohpe和Bobby Woolf撰写了《企业集成模式(EIP)》一书,他们在书中提出并记录了一组新的模式和蓝图,用于我们如何最好地设计基于组件的大型系统,其中组件可以在同一进程或不同的机器上运行。

他们基本上建议我们将系统构建为面向消息的 - 其中组件使用消息作为输入和输出来相互通信,而绝对没有其他任何东西。它们向我们展示了一套完整的模式,我们可以从中选择这些模式,并在不同的组件中实现这些模式,这些模式将共同构成整个系统。

那么什么是Apache Camel?

Apache Camel为您提供了EIP的接口,基本对象,常用的实现,调试工具,配置系统以及许多其他帮助程序,当您想要实现解决方案以遵循EIP时,这将为您节省大量时间。

MVC为例。MVC在理论上非常简单,我们可以在没有任何框架帮助的情况下实现它。但是好的MVC框架为我们提供了随时可用的结构,并且已经加倍努力,并在创建大型MVC项目时考虑了所需的所有其他“侧面”内容,这就是我们大多数时间使用它们的原因。

这正是Apache Camel对EIP的意义所在。这是一个完整的生产就绪框架,适用于想要实施其解决方案以遵循EIP的人员。


答案 2

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

Apache Camel是一个开源Java框架,专注于使开发人员更容易和更容易地进行集成。它通过提供:

  • 所有广泛使用的企业集成模式 (EIP) 的具体实现
  • 连接到各种传输和 API
  • 易于使用的域特定语言 (DSL) 将 EIP 连接在一起并进行传输

还有一个免费的骆驼在行动(骆驼在行动,第2版在这里),它在第一章中介绍了骆驼。乔纳森和我合著了这本书。


推荐