我不明白骆驼到底是干什么的。
如果你能用101个单词介绍一下骆驼:
到底是什么?它如何与用Java编写的应用程序交互?它是与服务器一起使用的吗?这是一个独立的项目吗?
请解释一下骆驼是什么。
我不明白骆驼到底是干什么的。
如果你能用101个单词介绍一下骆驼:
到底是什么?它如何与用Java编写的应用程序交互?它是与服务器一起使用的吗?这是一个独立的项目吗?
请解释一下骆驼是什么。
当前回答
另一种观点(基于更基本的数学主题)
最通用的计算平台是图灵机。
图灵机有问题。所有输入/输出数据都保存在图灵机内。在现实世界中,我们的图灵机外部有输入源和输出汇,通常由我们无法控制的系统控制。也就是说,这些外部系统将使用任何期望的数据调度器以任何格式随意发送/接收数据。
问题:我们如何使独立的图灵机器以最通用的方式相互交流,以便每个图灵机器将其对等机器视为输入数据源或输出数据汇?
答:使用骆驼、骡、BizTalk或任何其他ESB来抽象完成不同的“物理”(或虚拟软件)图灵机之间的数据处理。
其他回答
另一种观点(基于更基本的数学主题)
最通用的计算平台是图灵机。
图灵机有问题。所有输入/输出数据都保存在图灵机内。在现实世界中,我们的图灵机外部有输入源和输出汇,通常由我们无法控制的系统控制。也就是说,这些外部系统将使用任何期望的数据调度器以任何格式随意发送/接收数据。
问题:我们如何使独立的图灵机器以最通用的方式相互交流,以便每个图灵机器将其对等机器视为输入数据源或输出数据汇?
答:使用骆驼、骡、BizTalk或任何其他ESB来抽象完成不同的“物理”(或虚拟软件)图灵机之间的数据处理。
骆驼从A向B发送消息:
为什么要有一个完整的框架?如果你有:
许多发送者和许多接收者十几种协议(ftp、http、jms等)许多复杂的规则仅向接收方a和B发送消息a将消息B以XML的形式发送给接收方C,但部分地将其翻译、丰富(添加元数据)和IF条件X,然后也将其以CSV的形式发送到接收方D。
因此,现在您需要:
在协议之间转换将组件粘合在一起定义路线-路线在某些情况下过滤某些内容
Camel为您提供了以上(以及更多)开箱即用的功能:
使用一种很酷的DSL语言,您可以定义什么以及如何:
new DefaultCamelContext().addRoutes(new RouteBuilder() {
public void configure() {
from("jms:incomingMessages")
.choice() // start router rules
.when(header("CamelFileName")
.endsWith(".xml"))
.to("jms:xmlMessages")
.when(header("CamelFileName")
.endsWith(".csv"))
.to("ftp:csvMessages");
}
另请参阅《这和这》和《骆驼在行动》(正如其他人所说,这是一本优秀的书!)
ApacheCamel是一个实现所有企业集成模式的轻量级集成框架。您可以使用所需的模式轻松地集成不同的应用程序。您可以使用Java、SpringXML、Scala或Groovy。
Apache Camel在Java虚拟机(JVM)上运行。。。ApacheCamel的核心功能是其路由引擎。它根据相关路由分配消息。路由包含流和集成逻辑。它是使用EIP和特定DSL实现的。
到底是什么?
ApacheCamel是一个轻量级集成框架,它实现了许多企业集成模式。您可以使用所需的模式轻松地集成不同的应用程序。
您可以使用Java、SpringXML、Scala或Groovy。几乎所有你能想到的技术都是可用的,例如HTTP、FTP、JMS、EJB、JPA、RMI、JMS、JMX、LDAP、Netty等。
看看这篇文章和EIP模式文章
它如何与用Java编写的应用程序交互?
Camel使用Java域特定语言或DSL以各种域特定语言(DSL)创建企业集成模式或路由,如下所示。
Java DSL-一种基于Java的DSL,使用流畅的构建器风格。
企业集成模式的故事围绕以下概念展开:
消息、端点、生产者、消费者、路由、总线、转换和过程。
看看Anirban Konar的这篇文章,了解其中一个实时用例。
它是与服务器一起使用的吗?
它充当跨多个企业子系统的桥梁。
这是一个独立的项目吗?
ApacheCamel是一个集成框架,它集成了不同的独立应用程序。
Camel的主要优势:您可以通过对每个集成使用相同的概念,将不同的应用程序与不同的技术(和不同的协议)集成。
是的,这可能有点晚了。但有一点需要补充的是,Camel实际上是一个工具箱,而不是一整套功能。在开发和需要进行各种转换和协议转换时,您应该记住这一点。
Camel本身依赖于其他框架,因此有时您需要了解这些框架,以便了解哪种框架最适合您的需求。例如,有多种方法来处理REST。这一点一开始可能会有点混乱,但一旦开始使用和测试,您就会感到轻松,对不同概念的了解也会增加。