我不明白骆驼到底是干什么的。
如果你能用101个单词介绍一下骆驼:
到底是什么?它如何与用Java编写的应用程序交互?它是与服务器一起使用的吗?这是一个独立的项目吗?
请解释一下骆驼是什么。
我不明白骆驼到底是干什么的。
如果你能用101个单词介绍一下骆驼:
到底是什么?它如何与用Java编写的应用程序交互?它是与服务器一起使用的吗?这是一个独立的项目吗?
请解释一下骆驼是什么。
当前回答
Camel有助于路由、转换和监控。
它使用Routes;其可以描述为:
当服务总线接收到特定消息时,它将通过任何服务/代理目的地(如队列/主题)将其路由。这条路径称为路线。
例子:您的股票应用程序得到了分析师的一些输入,它将通过应用程序/web组件进行处理,然后将结果发布给所有感兴趣的/注册的成员,以进行特定的股票更新。
其他回答
这是另一个尝试。
你知道有很多东西,比如Webmethods、ICAN Seebeyond、Tibco BW、IBM Broker。他们都为企业中的集成解决方案提供了帮助。这些工具通常被称为企业应用程序集成(EAI)工具。
大多数拖放工具都是围绕这些技术构建的,在某些情况下,您必须用Java编写适配器。这些适配器代码要么未经测试,要么测试工具/自动化较差。
就像编程中的设计模式一样,您也有用于通用集成解决方案的企业集成模式。他们因格雷戈里·霍普(Gregor Hohpe)和鲍比·伍尔夫(Bobby Woolf)的同名书而出名。
虽然很可能实现使用一个或多个EIP的集成解决方案,但Camel尝试使用XML、Java、Groovy或Scala之一在代码库中实现这一点。
Camel通过其丰富的DSL和路由机制支持本书中列出的所有企业集成模式。
因此,Camel是其他EAI工具的竞争技术,为测试集成代码提供了更好的支持。由于使用了领域特定语言(DSL),代码简洁。即使是商业用户也可以阅读它,它是免费的,让您更有效率。
计算中的大多数“新”事物都不是真正的新事物,它们只是一个围绕着已经很好理解的东西的神秘包装。当它们难以理解时,通常是因为有人决定发明新的语言术语或出于不同的目的殖民现有术语(X开发人员颠倒了“客户端”和“服务器”的意思就是一个很好的例子)
Camel是用于应用程序间中间件的基于Java的包装器/API。
中间件是在不共享公共语言或数据类型的实体之间提供解释服务的软件的统称。
这就是骆驼的本质。我们可以通过注意它提供了EIP类型的中间件来充实描述。
它不提供中间件本身,因为它不知道应用程序需要通信的细节。但它提供了创建中间件的不变部分的API(创建起点、创建终点、创建开始和结束条件等)
希望这会有所帮助。
如果您了解企业集成模式,ApacheCamel是一个实现所有EIP的集成框架。
您可以将Camel部署为web容器中的独立应用程序。
基本上,如果您必须使用不同的协议和技术集成多个应用程序,那么可以使用Camel。
基于类比
以骆驼为基础的路线可以很容易地理解,只要你站在航空公司老板的立场(例如:美国航空公司、捷特航空公司)。
“您的航空公司”的目的是将“乘客”从一个“城市”运送到世界上的另一个城市。您使用来自不同“飞机公司”(如波音、空客、HAL)的飞机运送乘客。
您的航空公司使用从城市出发的“机场”登机,并使用到城市的机场登机。一名乘客可能会“旅行”到多个城市,但无论在哪里,他们都必须通过机场才能在航空公司的飞机和城市之间旅行。
请注意,从城市“出发”的乘客基本上是“抵达”航空公司的飞机。而一名乘客“抵达”城市,基本上就是离开飞机。由于我们站在航空公司所有者的立场上,“到达乘客”和“离开乘客”这两个术语与我们基于城市视角的传统概念相反。
每个城市的相同“机场”基础设施供“出发”乘客和“抵达”乘客使用。机场为离港旅客提供“离港基础设施”,这与为抵达旅客提供的“抵达基础设施”不同。
由于航空公司在飞机内提供的各种“便利设施”,乘客在旅行时可以继续进行一天的活动。
除此之外,您的航空公司还为您提供休息室设施,以进行特殊处理,如“了解当地语言”,或为您的“旅行”做好准备。
让我们将上面使用的几个单词/短语替换为以下内容:
您的航空公司:阿帕奇骆驼
飞机公司:运输机制
航空公司的飞机:阿帕奇骆驼的基本运输机制
运载:路线
乘客:消息;
城市:系统;
机场:骆驼组件;
了解当地语言:类型转换;
离开:生产,生产
到达:消耗,消耗
行程:布线
设施:提供
替换单词后,您将得到以下内容:
“Apache Camel”的目的是将“消息”从一个“系统”路由到世界上的另一个系统。Apache camel使用不同的传输机制进行消息路由。
Apache Camel使用“from”系统的“Camel based Component”拾取消息,并使用“to”系统的基于Camel的Component”丢弃消息。一条消息可以路由到多个系统,但它们必须通过“基于骆驼的组件”才能在“Apache骆驼的底层传输机制”和系统之间传输。
请注意,从系统“生成”的消息实质上被“消费”到ApacheCamel的底层传输机制中。系统消耗的消息本质上是由“ApacheCamel的底层传输机制”产生的。
既然我们试图理解骆驼,我们就必须从骆驼的角度开始思考。因此,术语“消费者信息”和“生产者信息”的含义与我们基于系统视角的传统概念相反。
“生产者消息”和“消费者消息”使用相同的“基于骆驼的组件”编码基础结构。“基于骆驼的组件”为“生产者消息”提供“生产者端点”,为“消费者消息”提供了“消费者端点”。
当邮件被路由时,Camel可以对其进行处理。
除此之外,Camel还提供了“类型转换”等特殊功能。。。
Camel有助于路由、转换和监控。
它使用Routes;其可以描述为:
当服务总线接收到特定消息时,它将通过任何服务/代理目的地(如队列/主题)将其路由。这条路径称为路线。
例子:您的股票应用程序得到了分析师的一些输入,它将通过应用程序/web组件进行处理,然后将结果发布给所有感兴趣的/注册的成员,以进行特定的股票更新。