1

I am evaluating an integration framework to use for my app based on EIP(enterprise integration patterns). I have apache camel and spring integration as candidate frameworks.

I see spring integration provides features more or less similar to EIP like messages, channels etc.

But, apache camel does not have expose any features like message , channel , endpoints and so on. On the contrary it seems to have made the concepts simpler in its own way.

I feel spring integration feels more like a true implementation of EIP than camel.

Not sure if there are a downsides with spring integration compared to camel.

Can anyone help me in deciding on usecases or scenarios where using each of them is appropriate than the other.

Also, my other query is does using either of them serve as a abstraction if at a later point I consider using a messaging system like rabbitmq or activemq which in my opinion also has similar functionality.

Thanks, Sri

Claus Ibsen
  • 56,060
  • 7
  • 50
  • 65
user6191474
  • 21
  • 1
  • 3
  • Camel has messages, channels, and endpoints. Not sure where you're camel information is coming from, but I would call camel one of the purest implementations of the EIP pattern. – Matthew Fontana Jun 25 '16 at 16:16
  • Camel IS based on the Enterprise Integration Patterns book itself, in fact you can look at it as the reference implementation of this book. – Pavel Lechev Apr 05 '17 at 10:29

2 Answers2

5

This is a very popular topic and discussed in lot of places. Please refer the following:

When to use Spring Integration vs. Camel?

What exactly is Apache Camel?

Let me give you my brief view on this topic:

  1. Apache Camel - Simple to write & read
  2. Why are you feeling its not pure EIP ? You can search in google what the founders of EIP feel about Camel, may be read their tweets.
  3. Its all about integration, Camel does the job. In a much simpler way than Spring.
  4. Camel has better community, more connectors, simpler language to write, and what not ! All compared to Spring.

Personally, I have worked with almost all open source based integration products. Apache Camel is my favourite so far !

You can go through slides as well - http://bushorn.com/apache-camel-developer-onboarding/

By the way, as these technologies have evolved so much these days. I think , your point of investigation should be Camel or Mule, WSO2. ;) - http://bushorn.com/middleware-market-revisited/

Community
  • 1
  • 1
gnanagurus
  • 883
  • 1
  • 12
  • 29
0

At our company we are using Spring Integration Framework. The biggest disadvantage of this framework is that there is no GUI like Eclipse to support this framework.

Glorfindel
  • 21,988
  • 13
  • 81
  • 109
  • Well, that is fact one, there is no GUI, but with Camel after few days/weeks you are able to write interfaces by hand... that simple it is. – kensai Oct 09 '17 at 17:18