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

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

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

请解释一下骆驼是什么。


当前回答

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

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

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

其他回答

另一种观点(基于更基本的数学主题)

最通用的计算平台是图灵机。

图灵机有问题。所有输入/输出数据都保存在图灵机内。在现实世界中,我们的图灵机外部有输入源和输出汇,通常由我们无法控制的系统控制。也就是说,这些外部系统将使用任何期望的数据调度器以任何格式随意发送/接收数据。

问题:我们如何使独立的图灵机器以最通用的方式相互交流,以便每个图灵机器将其对等机器视为输入数据源或输出数据汇?

答:使用骆驼、骡、BizTalk或任何其他ESB来抽象完成不同的“物理”(或虚拟软件)图灵机之间的数据处理。

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

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

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

ApacheCamel是一个实现所有企业集成模式的轻量级集成框架。您可以使用所需的模式轻松地集成不同的应用程序。您可以使用Java、SpringXML、Scala或Groovy。

Apache Camel在Java虚拟机(JVM)上运行。。。ApacheCamel的核心功能是其路由引擎。它根据相关路由分配消息。路由包含流和集成逻辑。它是使用EIP和特定DSL实现的。

简而言之:

当需要连接/集成系统时,您可能需要连接到某个数据源,然后处理这些数据以满足您的业务需求。

为了做到这一点:

1) 您可以开发定制程序来完成这项工作(可能会很耗时,很难理解,为其他开发人员维护)

2) 或者,您可以使用Apache Camel以标准化的方式来实现这一点(它已经为您开发了大多数连接器,您只需要设置它并插入逻辑-称为Process):

骆驼将帮助您:

使用任何来源/格式的数据处理此数据将数据输出到任何源/格式

通过使用ApacheCamel,您将很容易理解/维护/向其他开发人员扩展您的系统。

Apache Camel是用企业集成模式开发的。这些模式帮助您以良好的方式集成系统:-)

基于类比

以骆驼为基础的路线可以很容易地理解,只要你站在航空公司老板的立场(例如:美国航空公司、捷特航空公司)。

“您的航空公司”的目的是将“乘客”从一个“城市”运送到世界上的另一个城市。您使用来自不同“飞机公司”(如波音、空客、HAL)的飞机运送乘客。

您的航空公司使用从城市出发的“机场”登机,并使用到城市的机场登机。一名乘客可能会“旅行”到多个城市,但无论在哪里,他们都必须通过机场才能在航空公司的飞机和城市之间旅行。

请注意,从城市“出发”的乘客基本上是“抵达”航空公司的飞机。而一名乘客“抵达”城市,基本上就是离开飞机。由于我们站在航空公司所有者的立场上,“到达乘客”和“离开乘客”这两个术语与我们基于城市视角的传统概念相反。

每个城市的相同“机场”基础设施供“出发”乘客和“抵达”乘客使用。机场为离港旅客提供“离港基础设施”,这与为抵达旅客提供的“抵达基础设施”不同。

由于航空公司在飞机内提供的各种“便利设施”,乘客在旅行时可以继续进行一天的活动。

除此之外,您的航空公司还为您提供休息室设施,以进行特殊处理,如“了解当地语言”,或为您的“旅行”做好准备。

让我们将上面使用的几个单词/短语替换为以下内容:

您的航空公司:阿帕奇骆驼

飞机公司:运输机制

航空公司的飞机:阿帕奇骆驼的基本运输机制

运载:路线

乘客:消息;

城市:系统;

机场:骆驼组件;

了解当地语言:类型转换;

离开:生产,生产

到达:消耗,消耗

行程:布线

设施:提供

替换单词后,您将得到以下内容:

“Apache Camel”的目的是将“消息”从一个“系统”路由到世界上的另一个系统。Apache camel使用不同的传输机制进行消息路由。

Apache Camel使用“from”系统的“Camel based Component”拾取消息,并使用“to”系统的基于Camel的Component”丢弃消息。一条消息可以路由到多个系统,但它们必须通过“基于骆驼的组件”才能在“Apache骆驼的底层传输机制”和系统之间传输。

请注意,从系统“生成”的消息实质上被“消费”到ApacheCamel的底层传输机制中。系统消耗的消息本质上是由“ApacheCamel的底层传输机制”产生的。

既然我们试图理解骆驼,我们就必须从骆驼的角度开始思考。因此,术语“消费者信息”和“生产者信息”的含义与我们基于系统视角的传统概念相反。

“生产者消息”和“消费者消息”使用相同的“基于骆驼的组件”编码基础结构。“基于骆驼的组件”为“生产者消息”提供“生产者端点”,为“消费者消息”提供了“消费者端点”。

当邮件被路由时,Camel可以对其进行处理。

除此之外,Camel还提供了“类型转换”等特殊功能。。。