Friday, May 27, 2011

An Alternative Method to the Request-Reply Pattern for Message-Driven Application Configuration

On a recent ActiveMQ forum discussion, I presented an alternative to a common problem that I've seen more and more people running into.

I've seem some companies using JMS - Java Message Service to provide application configuration based on the client profile. So, basically when the application starts, it connects to a JMS broker and then request its information. The application then receives all information necessary like settings, connections URLs, what destinations to read from and send to, etc.

That's a very smart way to dynamically provide that kind of information and be able to make changes on the fly if necessary.

You can transparently add and remove new features on the backend systems, change destinations, change server URLs, without performing any major update on the client side.

What I also have noticed is that most of the people uses the JMS request-reply mechanism to achieve that which is a good way to do it but can cause some side effects and problems during the client-broker communication once the client application will be waiting for a response from the another application through the JMS broker.

So, one alternative way to do that without the request-reply mechanism in place is employing the traditional point-to-point messaging model.

Using point-to-point messaging techniques you can load the necessary configuration message to an ordinary queue and the client applications can read the necessary information from there.

The client can instead of consume the message from the configuration queue, just browse the queue, which means that the client reads the message but doesn't remove it, so other client applications can benefit from the same configuration message as well.

You also have the ability to load multiple configuration messages to the configuration queue with different message headers where the clients could use the JMS message selector capability to get the right message.

When you need to update the configuration message you can consume that message administratively (simply connect a JMS client and consume the message would be the most simple way to do that) and then load the most updated information where the client applications can start reading from.

You can also take a different approach and create a queue for each client application profile you have but that may not be the best way to do it if you have a large installation base as it will certainly consume more resources on the broker.

Lastly, you can implement something really creative if you implement a Camel route to provide the client application configuration but I'll cover that on another post.

In summary, the idea here is to avoid the risk of the replier application not being able to respond in a timely fashion (it maybe be busy or offline) or consuming too many resources on the JMS broker with the request-reply pattern.

Friday, May 13, 2011

How to Configure GMail's filters to Move Messages from Your Inbox

I've been using GMail for almost a month now and honestly I really liked. It's really fast and has lots of good features and extensions.

One of the things I was not really sure I was getting everything out of it was Filters. GMail's Filters allow you to manage the flow of incoming messages where you can automatically label, delete, forward, etc.
As much as I like the label feature where you visually see what "category" the message belongs to I was not able to manage that properly and since I'm now on paternity leave my inbox started flooding once I could not keep up with the tons of emails I get subscribing to many mailing lists as they all show up on my Inbox.

So, how can you apply the filters feature to move messages to other folders automatically? Where is the magic button? Actually, there is no magic button but a magic checkbox on the filter setting.

When you create a new filter, you first select the search criteria (from, to, etc) and then you choose the action you want to take for that message category.

The first option on the Choose Action panel is Skip the Inbox (Archive It) and that's the missing part here. Check that checkbox.
Now you just have to tell GMail where to move those messages. Check the Apply the label checkbox and then select the label you want.

That will give you exactly the Move To behavior and your Inbox will be much cleaner.

Tuesday, May 3, 2011


Are you interested in Open Source integration and the benefits it brings to the table? So, here is my advice to you... FuseSource is sponsoring a great conference called CamelOne which is going to be held at the Westin Arlington Gateway in Washington, DC between May 24-26, 2011.

We have a great lineup of speakers and you should definitely go there and listen to them, interact with other users and have fun!

Don't forget to bring your ActiveMQ in Action and/or your Camel in Action books to get them signed.

See you there!

Click on the image below for more information...

Setting Up Local Environment for Developing Oracle Intelligent Bots Custom Components

Oh the joy of having a local development environment is priceless. For most cloud based solutions the story repeats itself being hard to tr...