2012-03-31

Camels in Berlin

My visit to Berlin was due I was speaking at the Berlin Exchange Days conference.

Camels in Berlin at Brandenburger Tor

I arrived at Berlin the day before at noon. So I had time to stroll around in the city and to see some of the famous landmarks such as the Brandenburger Tor (see photo above).

The WW2 memorial is just next to the tor, so my Camel and I went also there.
Camel at the WW2 memorial
We then strolled down the street Under den Linden, as my hotel is located at Alexander Plats which is about 2.5km from the tor.

Unter den Linden, a famous street in Berlin
Not so far from Alexander Plats, there is a park where Karl Marx and Engels is sitting. So they had a chat with the Camel.

Karl Marx and the Camel having a talk

As I was hungry I located a Berliner restaurant nearby Alexander Plats and ordered a Wienerschnitzel, which is famous German cousine.
Wienerschnitzel and Beers is always good
The next morning I went on my way for the conference, which took place at the Free University of Berlin, so it was a 45 min ride with the U-Bahn.

The organizers have put up signposts with directs for the conference, so it was easy to find.
Bed Con 2012 is to the right

I sat down for the first talk by Paul and Christopher, from Coinor, who gave a presentation about open source integration with Apache.

Paul and Christopher from Coinor, giving a talk about open source integration with Apache

A perfect match as they gave a run down of a real life use-case for a bank, where they are using the Apache ActiveMQ, CXF, Camel, and ServiceMix/Karaf for their needs. They gave an introduction to the products, and scratched the surface a bit on each product.

Then my talk succeeded, where I focused on Apache Camel, and gave a talk with a twist of humor. After 25 minutes of slides, we went practical and did live demos, and coding. I got myself into enjoying this, as it helps people see things fall into pieces. I have accompanying slides with highlights of the source code so its easier for everyone to see; as well for people viewing the slides afterwards.

In the demos we have a bit fun with the new twitter and web-socket example I previously blogged about. And with the powers from Fuse IDE we can do runtime introspection into the applications, and see performance statistics as they occur in-real-time.
Fuse IDE with runtime performance statistics of the twitter web-socket example
(28 messages, with 0 ms avg processing time)
As well we updated the route within restarting the JVM. Also Fuse IDE allows us to see the DSL in both Java code, but also with EIP diagrams which really helps people better understand this.

We also gave a little rundown of a Groovy example which allows you to do quick and dirty prototyping from a single .groovy file, without any Maven or other build tools etc.

And lastly we covered how you can create a new Camel project from scratch. For example using the Maven archetype tooling, and/or the Fuse IDE which  also can create new projects, fully from within the IDE.

The talk was well received, and the room was packed. I have to give a warm thank you to the organizers, and the sponsors who make this conference possible. Good work and good luck with the conferences in the future.

At the airport I took in my last breathe of Berliner experience at the Berliner Currywurst cafeteria, which is an old used train wagon, located at the D-terminal.
Train Wagon Cafeteria offering Berliner Currywursts

All together a nice visit to Berlin.

I have posted the presentation to my slideshare account.

To bad that Schalke 04 lost the game yesterday. Nice to see Raul is still going strong. They really love him in Madrid, and his Schalke jersey is among the top sales on the streets there.

2012-03-27

Webinar - Are your Apache Camel routes ready for production?

My colleague and fellow Apache Camel committer, David Valeri, is giving a webinar on thursday (March 29) titled - Are your Apache Camel routes ready for production?

The abstract for the webinar is as follows:
Apache Camel is a powerful integration framework capable of connecting dozens of protocols together in a flexible and scalable manner. But did you also know that Camel provides a powerful set of testing tools for validating your integration logic? You are confident that you unit test your business logic, but are you sure that you are fully testing your integration logic?
In this webinar we will review how Camel integrates with popular testing frameworks, testing strategies, and best practices for testing your Camel routes. We will also explore the powerful testing features within Camel.

I think this is a great topic, and something I have considered presenting myself as well. The test kit in Apache Camel is very powerful, and we keep improving it from release to release. And frankly there is many gems in there, some which I have blogged about in the past. And others you can find some details in chapter 6 of the Camel in Action book, and as well some details on the Camel website, and in the FuseSource Camel documentation. But I think its the first time a full hour session has been devoted to this topic, in a free to attend webinar.

You can find more details about the webinar and how to register here.

2012-03-20

Sneak Preview Video - Fuse Fabric and Camel

My colleague Ioannis recently blogged and recorded a video of using Fuse Fabric with Apache Camel.

Screenshot of the preview video (link to video further below)
Prologue
Fuse Fabric is the open source project that we have been hacking on for the last year. Its coming all well together. And the upcoming 1.2 release is well on the way. When its GA you will hear more from us about it. The project is hosted at github and its a 100% ASL licensed project, so its very business friendly, and everybody can use it, fork it, embed it in your products, or whatever.

Fuse Fabric
Fuse Fabric is a distributed configuration, management and provisioning system for Apache Karaf based containers such as Apache ServiceMix and Fuse ESB.

Fabric provides a distributed configuration registry and also tools for:
  • Installing and managing containers to your private or public cloud.
  • Deployment agent for configuring and provisioning distributed containers.
  • Discovery of Camel endpoints & message brokers.
  • A lot more ... 
Fuse Fabric and Camel preview
What Ioannis is showing you, is a video that demonstrates how fabric makes it easy to:
  • Use a single host for installing containers to your local network.
  • Deploy and configure applications to distributed containers.
  • Discover & use message brokers in your camel routes.


More presentations at CamelOne
You will get a chance to see and hear more about Fuse Fabric, Apache Camel, ActiveMQ Apollo, et all at the upcoming CamelOne conference, which takes place in May 2012. I have previously blogged about this conference here.


Hope to see you at CamelOne.


2012-03-17

Camel now with twitter and websocket

The upcoming Apache Camel 2.10 is well underway. A lot of new components is being added, and two really exiting new components is twitter and websocket. Its yet another kick ass contributions from the community that makes this possible.

James Strachan and I gave a talk last month at the JFokus conference in Stockholm. And for that conference I had prepared a little example using these new components. Unfortunately there was a problem with the projector and James laptop, so we had to give the presentation with slides only.

So this weekend I found some time again, to polish the example, prepare documentation, and donate the example to the Apache Camel project.

The example is demonstrating how to poll a constant feed of twitter searches and publish results in real time using web socket to a web page. As usual the code in Camel is very simple. All it takes is roughly

  from("twitter://search?...")
    .setHeader("websocket.sendToAll", "true")
    .to("websocket:camel-tweet")

To use twitter, you need a twitter account which have setup an application to be used. For twitter users, you may be familiar that twitter requires you to grant applications access to your twitter account, such as twitter for iphone etc. The same applies for this example.

We have described this in more details at the Camel twitter documentation.

When you have created an application, you get a number of details back from twitter which you need to use the twitter component. We will get back to this later.

This example is located in the examples directory of Apache Camel 2.10, in the camel-example-twitter-websocket. To run the example you use Maven with the following command: mvn compile exec:java

The example will report error if you have not setup your twitter application. To do that edit the source code in the src/main/java/org/apache/camel/example/websocket/CamelTwitterWebSocketMain.java class.

When successfully setup the applications starts, and you can open a web browser on page http://localhost:9090/

By default we do a twitter search every 2nd second for the word "gaga". There is usually a lot of people tweeting about Lady gaga :). You can of course change this in the aforementioned source file.

Below is a screenshot of the example in action.
Live feeds of gaga tweets using Camel in a web browser
The client is a web browser, so we need to setup this in a .html page using JavaScript. See the src/main/resources/index.html for the source code.

The interesting piece in the source code is that its very easy to setup a websocket client
  var location = "ws://localhost:9090/camel-tweet";

  this._ws=new WebSocket(location);
  this._ws.onmessage=this._onmessage;
  this._ws.onclose=this._onclose;

Notice that all it requires is an url to pass into the WebSocket constructor. And then setup two functions for callbacks.

Have fun, and I tried using Metallica as the search term, but I must admit that there are more frequent tweets about Gaga. 
Metallica tweets
Anyone its time to end this blog, and get the code committed. And to enjoy some Metallica music, and have a nice weekend.



2012-03-08

CamelOne 2012

CamelOne is back.


Registration is open for the second annual community event created specifically for enterprise users of open source integration and messaging taking place in Boston, MA, May 15-16. Join us and learn directly from your peers and other industry experts how Apache Camel, ServiceMix, ActiveMQ and CXF can deliver measurable technical and business benefits to your organization.

Register now to attend this powerful gathering of professionals using open source integration and messaging solutions in the enterprise for an engaging and educational 2-day conference plus terrific opportunities to network, socialize and collaborate with 200+ fellow Camel enthusiasts.

This year Jonathan and I have the honor of giving a keynote about the past, present and future of Apache Camel. And of course James Strachan is attending as well giving a talk about Camels in the cloud.

Early Bird Rate
Register by March 30th for the early-bird rate of $395. Register today!

Speak about Camel
If you are already using it and interested in speaking about your journeys on the back of the Camel, you can send your speaking proposals at camelone@fusesource.com.

Enroll Now for Hands-On Training
Optimize your time at the conference with post-conference educational training led by Apache experts. These highly interactive sessions drill down into Apache ActiveMQ 5 and ServiceMix 4 with Camel. Click here for details.

You can find more details about the event at the CamelOne site, such as the agenda, list of speakers and talks, venue, and much more.

I hope to see you there, and this time we can share beers in the evening between the two conference days.