什么是Apache Camel?

13 浏览
0 Comments

什么是Apache Camel?

我不太理解Camel具体是做什么的。

如果您能用101个单词对Camel进行介绍:

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

请解释一下Camel是什么。

0
0 Comments

如果你有5到10分钟的时间,我通常建议人们阅读Jonathan Anstey的Integration with Apache Camel。这是一篇写得很好的文章,它简要介绍了Camel的一些概念和总览,并使用代码样例实现了一个用例。Jonathan写道:

Apache Camel是一个开源的Java框架,专注于使集成对开发者更容易,更可访问。它通过提供以下内容来实现这一点:

  • 所有广泛使用的企业集成模式(EIPs)的具体实现
  • 与各种传输和API的连接性
  • 易于使用的特定领域语言(DSLs),将EIPs和传输进行连线

还有一份免费的Camel in Action章节(第二版的Camel in Action在这里)在第一章中介绍了Camel。Jonathan是该书的共同作者。

0
0 Comments

我个人认为这个可以用更通俗易懂的方式来解释...

要想理解什么是Apache Camel,你需要先理解什么是企业集成模式。

让我们从我们预先了解的模式开始:单例模式、工厂模式等,它们只是组织你的解决方案的方式,但它们本身不是解决方案。这些模式是由四人帮整理和提炼出来的,当他们出版了他们的书《设计模式》时,他们为我们其中的一些人节省了大量思考代码结构的工作。

与四人帮类似,Gregor Hohpe和Bobby Woolf编写了书籍《企业集成模式》(EIP),其中他们提出并记录了一组新的模式和蓝图,以便我们如何最佳地设计大型基于组件的系统,在这些系统中,组件可以在同一进程中运行,也可以在不同的计算机上运行。

他们基本上提出,我们应该将我们的系统结构化为面向消息的方式--组件之间使用消息作为输入和输出进行通信,绝对不使用其他任何东西。他们向我们展示了一整套可以从中选择并在不同组件中实现的模式,这些组件将一起形成整个系统。

那么什么是Apache Camel?

Apache Camel为您提供EIPs的接口、基础对象、常用实现、调试工具、配置系统和许多其他辅助工具,这将节省您大量时间,当您希望实现遵循EIPs的解决方案时。

MVC为例。MVC在理论上非常简单,我们可以在没有任何框架帮助的情况下实现它。但是好的MVC框架为我们提供了就绪的结构,并且在创建大型MVC项目时考虑了所有其他“附加”问题,这就是为什么我们大多数时候使用它们的原因。

这正是Apache Camel为EIPs而存在的。 它是一个完整的生产就绪框架,适用于想要实现遵循EIPs解决方案的人们。

0