A Full Overview of the CamelOne 2012 Conference
CamelOne was yet again a really cool and fun conference. I just returned back home, from the 2nd annual CamelOne conference, held in downtown Boston. It was a 2 day packed with great talks with a balanced mix of technical talks, cloud stuff, and showcases of integration in the real world. CamelOne speaker podium The feedback of the conference was really good, as you can see from the image below. Feedback wall from CamelOne attendees The FuseSource engineering team was present, and on the end of the 2nd day, Debbie, got us together for a photo session. The FuseSource Engineering Team CamelOne 2012 - Day 1 So back the the 1st day. This year Jonathan and I was asked to do the opening key note, with our Camel story, and where the Camel project is today, and some thoughts about how Camel could be riding the cloud in the near future. Jonathan and I wanted to tell our Camel story with a sense of humor. I can say mission accomplished when the slide with the lovely Camel picture was shown. And no the picture is not retouched, it was found using google image search. Apache Camel is a project that stands out After the keynote I gave a talk about how to get started riding the Camel. The talk is a practical focus talk so I was sharing the time 50/50 between slides and live coding. As all sessions were recorded, and we can all watch them later, as they will be posted on the CamelOne website, free for anymore to watch. A professional production company is currently processing the videos. They should be ready in weeks from now. I will blog when the videos are online. Free Apache/Fuse Resources Apache Project Leader Videos Open Source Integration Tool Downloads Integrate Anywhere: Fuse ESB Super Fast Messaging with Fuse MQ Free SOA Webcasts Apache ActiveMQ and ServiceMix Lessons Integration Resources Jonathan was next after my talk, and his talk was a natural progress from mine talk. As he gave a rundown how you can run and deploy Camel and CXF applications in the ESB server. Jonathan showed how this works in practice as well. I got engaged in a number of hallway conversations, and didn't have the chance to attend a session at every slot. It was really great to meet so many happy Camel users, and hear their stories, where the Camel is riding in the real world. Also I was told that more and more commercial vendors is adapting Camel and embedding it internally in their commercial products. Kai Wahner gave his first of two talks today. Kai Wahner giving a talk about choosing Integration Frameworks He was talking about his experience with evaluating Apache Camel, Spring Integration, and Mule ESB. I guess Camel was in favor at a Camel conference :) James gave the ending general session of the first day. James Strachan giving ending key note on 1st day As always a pleasure to watch James talk with such a enthusiasm. His talk was a technical talk addressed to the developers how to develop and get Camel riding in the cloud. He gave a tour of the cool and awesome much improved Fuse IDE 2.1 product. It now has even more Camel crack for runtime insight. As well as easier deployment for both local jvms, remove machines, and as well the clouds. CamelOne 2012 - Day 2 On the 2nd day, we have Gabe Zichermann giving a very entertaining keynote, about gamification. Gabe talking about Gamification The idea of getting people engaged, based on the ideas of computer games. But applying them in a real life processes. For example a company managed to get its employees go to the gym, based on teaming up, and competing against your co-workers. In Sweden they have traffic cameras, using reverse sychology, by enlisting people in a lottery, if they are within speed limits. However people above the speed limit will of course still get a fine, and not participate in the lottery. I have heard good buzz about Stan Lewis and Dhirajs talk about how to manage, monitor and provision a cluster of machines, in a data centre or the cloud. Dhiraj showed how Fuse HQ could monitor the Camel applications running on numerous machines. And how that worked as well when Stan did a rolling upgrade on the fly, leaving Fuse HQ being able to compare and display a "before" vs. "after" overview. Likewise the tweets about Charles Moulliard were very positive. Seems like people wanted to go and play with websockets, and the Camel. This is definitly cool. So Camel 2.10 is a much anticipated release, having the websocket component out of the box. Kai was on the stage again, giving a talk about using Apache Camel with BPM (Avtiviti). Kai gave us a rundown of the differences between Camel and Activiti, and where they overlap. As well when you should use either one, or both of them. In Kais talk he give live demos which is a nice change in the flow, to see the "code" for real. Activiti and Camel together seems powerful. And the Activiti designer looks beautiful. Did you know that Camel is help protecting the Canadians. Mike Gingell from General Dynamics Canada gave us a rundown of how they have been successful by using open source integration technologies from Apache. The Camel is helping in cool stuff such as with the marine to detect torpedo attacks, with satellite surveillance of the north poles, and to keep track of personel and whatnot. Torpedo Warning System. Slide from Mike Gingell, General Dynamics Canada, Mike gave a really great talk, and also took us through how his team is battling uphill in a traditionally conservative organization where software projects take millions of $ and years to just get started. They have been on the open source road for about 5 years, and jumped on Apache ServiceMix when it became OSGi based. And the Camel has been riding all along together with ActiveMQ and CXF. So the Camel is help protecting Jonathan Anstey, who lives in New Foundland, Canada. Must be cool to know that the software he works on every day, is now serving the people of Canada. The ending keynote, was a real treat to all of us. Felix Ehmn from CERN gave us a very interesting talk how CERN is using ActiveMQ in their control room, to monitor the most complex machine man have ever built - the Large Hadron Collider; eg the 27km circle where they smash atoms together and see what happens. Felix giving ending keynote, about CERN using ActiveMQ There is 85.000 devices, which they need the monitor. Its everything, from censors on the collider, to fire alarms, door buttons and whatnot. CERN is definitily a cool place. In fact the coolest place on earth as well, as they need to cool down the collider, to 1 degree kelvin. That is - 272 degrees celsius. Like CERN, the CamelOne conference was very cool. I discovered a number of other blogs covering the CamelOne 2012 conference Kai Waehner blogged his CamelOne report. Christian Posta blogged as well And Rob Terpilowski who gave a talk also Hope to see you in 2013 at the next CamelOne conference. As David Reiser tweeted, the conference was awesome. David liked the conference
May 23, 2012
·
6,716 Views
·
0 Likes
Comments
Apr 25, 2017 · Piotr Mińkowski
Its not my code. Are you sure you use the stopping event. That even is notified as the first thing when Camel is being stopped. And it runs in the same thread as the thread that will stop the routes later. So you should be able to do these kind of events. Maybe you do something different - hard to tell here. You can talk at the Camel community at the user forum: http://camel.apache.org/discussion-forums.html
Mar 16, 2017 · Piotr Mińkowski
Nice blog post. Thanks for sharing your experience. This is great for other potential Camel riders to read.
I took the liberty of adding a link to this article from the Apache Camel link collection at: http://camel.apache.org/articles
Any more feedback about Camel and microservices is much welcome. You and others are welcome to reach out to the Camel community on the mailing list / JIRA / github / chat / twitter / emails or what else means.
Aug 29, 2014 · james anderson
Yes I agree.
For starters I would love a pure swagger java api of their model and annotation classes. So I can build a swagger model without any Scala runtime dependencies. We do this in Apache Camel where we allow end users to define REST services using a DSL, where we then generate a swagger model. But it also kills me that I need to add the Scala libraries, just for that. And also the issue with mixing Scala 2.10 x 2.11 versions and whatnot.
And yeah a pure Java based solution would be even better. And if Swagger could has as few 3rd party JAR dependencies.
Scala is cool et all, but not for something like this, where your library must be as light and less invasive as possible. Then old school pure Java code is IMHO the best.
Dec 13, 2012 · Kai Wähner
Kai, you asked for information about other tools. We have a link collection at http://camel.apache.org/user-stories.html where we have some links for Camel tooling, such as CamelWatch etc.
James and the Fuse team is working on a web console for Camel, ActiveMQ, etc. at: https://github.com/fusesource/fuse-console.
Camel has a bit tooling out of the box such as the Maven Archetypes: http://camel.apache.org/camel-maven-archetypes.html
And as well we have a visualization tool (though not maintained, and possible to be deprecated in the future): http://camel.apache.org/visualisation.html
And the web console http://camel.apache.org/web-console.html (to be improved in Camel 3.0 onwards)
What the reader may not read from your blog post, is that you work for Talend, and thus is biased. As well I work for Red Hat and am biased as well. So I just want to add some comments about Fuse IDE, if I may, which seems to be left out.
Fuse IDE comes in 3 flavors. You can install it as a Eclipse Plugin. We have a .zip / tarball you can unzip/untar which has all you need in one; or we have binary installers.
Fuse IDE allows you to edit any existing Camel application. For example you can load the Camel examples that comes out of the box with the Apache Camel releases.
And you can also do development with Fuse IDE with “zero-coding”. It has a graphical editor, where you can do all editing in wizards / properties panels and whatnot.
Fuse IDE is now open source and free to use for anyone to use, without any locked-down functionality etc – its all open to everyone.
But as you say the strength of Camel is that it’s very developer friendly And allows you to use whatever tool/IDE you want / are already using. The routing DSL is so intuitive that you can just use Java code editor / or a XML editor. If you setup the editor to understand the XSD then the XML editor have code assistance, just as you have in Java coding.
So the big win is Apache Camel being independent from any special tooling to get started.
Dec 16, 2010 · Mr B Loid
Dec 14, 2010 · Adam McKerlie
I'm Claus, one of the authors. Thank you for reviewing the book. Just to set the facts - This is the first time I read this review, and I was not aware that you wrote it.
Seems like we, the authors, did a good gob with the book, you highlight the book does a good job introducing and getting you setup early on to use Camel. That the core concepts in Camel and integration in general is set on the scene, and that we walk you through routing and data transformation. All in all giving the reader a good start. As many of the early reviewers of the material, you also found the error handling and testing chapters very valuable. As well as the examples is provided in both Java and XML.
Manning send you a MEAP version for you to review (must be a bit old since it didn't contain all the appendixes), which has some formatting issues as you write in your review.
Is it fair to say that the main issue you have, is mangled formatting and the likes? And that this fact solely impacted your ranking of the readability of the book, giving it 2 starts?
Since the book is actually done, the final ebook is released yesterday. If you take a look at the sample chapters you can read freely at Camel in Action you may see the tremendous improvement in the formatting, layout, figure placement and code clearly separated from body text - it looks like and is a real Manning book. Maybe you care to do that and comment if that improves and fixes your main issue? You may also get in touch with Manning if they could provide you with the final ebook so you can see the *real* book.
To clear out a few other facts. The final book is updated and based on Apache Camel 2.5 (the latest release as this time of writing). We even added a few hints about improvements and new features in the upcoming Camel 2.6 release. There are 550 pages in total.
Jan 03, 2010 · Biju Kunjummen
The final *end()* is optional as the route ends anyway. Its only needed if you need to do some additional routing after all the messages has been aggregated again (eg. scatter-gather is done). But in this case the message should be returned to the original caller = the service gateway.
The compilation error. Yeah we have stretched as far we can do with regular Java. It certainly got its limitations when trying to mimic and build a DSL.
Jan 03, 2010 · Gerd Storm
The final *end()* is optional as the route ends anyway. Its only needed if you need to do some additional routing after all the messages has been aggregated again (eg. scatter-gather is done). But in this case the message should be returned to the original caller = the service gateway.
The compilation error. Yeah we have stretched as far we can do with regular Java. It certainly got its limitations when trying to mimic and build a DSL.
Jan 03, 2010 · Biju Kunjummen
Camel do support Messaging Gateway EIP which is documented here. The documentation do need to be improved with some better samples.
In your case you can for example use the @Produce annotation to inject a messaging gateway to easily send in the message to Camel.
This makes the code nice, simple and easy as shown below:
However there is an issue in Camel (v2.1 or older) when invoking a bean later in the route which you do when calling the bean method in the splitter EIP. To prevent this problem you need to add to use the convertBodyTo as shown below:
This will be fixed in Camel 2.2 ticket CAMEL-2325.
Instead of using @Produce you can use the CamelProxy which allows you to proxy a POJO and use that POJO as the messaging gateway. You can define the proxy in the Spring XML directly as shown in the documentation.
Jan 03, 2010 · Gerd Storm
Camel do support Messaging Gateway EIP which is documented here. The documentation do need to be improved with some better samples.
In your case you can for example use the @Produce annotation to inject a messaging gateway to easily send in the message to Camel.
This makes the code nice, simple and easy as shown below:
However there is an issue in Camel (v2.1 or older) when invoking a bean later in the route which you do when calling the bean method in the splitter EIP. To prevent this problem you need to add to use the convertBodyTo as shown below:
This will be fixed in Camel 2.2 ticket CAMEL-2325.
Instead of using @Produce you can use the CamelProxy which allows you to proxy a POJO and use that POJO as the messaging gateway. You can define the proxy in the Spring XML directly as shown in the documentation.
Jan 03, 2010 · Biju Kunjummen
Some design ideas was sketched here: overhaul of Aggregator.
You can however currently create your own persistent capable implementation of org.apache.camel.processor.aggregate.AggregationCollection and use your implementation in the Aggregator EIP. Some end users have done that.
Jan 03, 2010 · Gerd Storm
Some design ideas was sketched here: overhaul of Aggregator.
You can however currently create your own persistent capable implementation of org.apache.camel.processor.aggregate.AggregationCollection and use your implementation in the Aggregator EIP. Some end users have done that.
Dec 04, 2009 · Jack Hung
Dec 04, 2009 · Lebon Bon Lebon
Apr 03, 2009 · Jonathan Anstey
Link to blog entry: eip-patterns-in-omnigraffle
Mar 24, 2009 · Jonathan Anstey
Mar 11, 2009 · Mr B Loid
AMQ web console:
http://activemq.apache.org/web-console.html
Mar 11, 2009 · Mr B Loid
Mar 11, 2009 · Mr B Loid
Maybe the description for the Camel SEDA and VM components, could be changed to:
- asynchronous call to another endpoint in the same Camel Context
- asynchronous call to another endpoint in the same JVM
The List component is renamed to Browse in Camel 2.0 as a better name what it does, eg being able to browse Messages that have passed it.
--
Claus Ibsen
Apache Camel Committer
Open Source Integration: http://fusesource.com
Blog: http://davsclaus.blogspot.com/