What is the difference between Apache Camel and JBoss Fuse?

扶醉桌前 提交于 2019-12-22 03:50:59

问题


What is the difference between JBoss Fuse and Apache camel? How can it be used in building micro service based applications?


回答1:


Apache Camel is a versatile open-source integration framework based on known Enterprise Integration Patterns. Camel empowers you to define routing and mediation rules in a variety of domain-specific languages, including a Java-based Fluent API, Spring or Blueprint XML Configuration files, and a Scala DSL. So From this definition you can conclude that Apache Camel is an integration framework, Which mean you have a set of libraries to build application. As we know each application need to be run on an environment. Apache Camel application can be run in these ways:

1-Standalone. for more information about Standalone runnig Camel Standalone Running

2- On OSGI container. Apache Camel is designed to work nicely into Apache Karaf OSGi container. You can say that Redhat fuse provide support for running Camel Appilcation through Apache Karaf in addition to the support of Fuse for technologies that Apache Camel use like ActiveMQ and CXF. see https://developers.redhat.com/products/fuse/overview/ for more explanation.

You can use Camel to build mirco service application by write your Camel Routes inside your Camel Context, package them as bundles using mvn for example and deploy it on Redhat Fuse Karaf container. Each route consist of endpoints that represent different technolgies may be CXF for SOAP and REST, Files and a lot of type to endpoints to help you in integration process.




回答2:


To expand on Mohammed's answer:

Apache Camel is a container agnostic mediation and routing engine, running on Java and implementing Enterprise Integration Patterns. There are a couple of hundred Camel components providing access to may different protocols (file:, http:, ftp:, jms:, amqp:, etc.) and providers (AWS, DropBox, GitHub, etc.).

Red Hat JBoss Fuse, formerly FUSE ESB from FuseSource.com, is a commercial implementation of Apache ServiceMix. Apache ServiceMix is an Integration Framework, built on OSGi (runtime), which includes Apache Karaf (OSGi container; not part of the OSGi spec), Apache Camel (mediation and routing engine), Apache ActiveMQ (reliable messaging), CXF (web services framework), and a few other bits.

You can run Camel a number of different ways, including stand-alone, inside a Java EE deployment, on OSGi (with or without Karaf), or pretty much anywhere you're on Java. It looks like Red Hat is going to be pushing folks to use Spring Boot on OpenShift to run Camel.



来源:https://stackoverflow.com/questions/42165877/what-is-the-difference-between-apache-camel-and-jboss-fuse

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!