Zookeeper – Distributed Configuration and State Container

I don’t know if the title correctly captures all that Zookeeper is.  But, I think it is close.  Zookeeper is not a Message Queue or Message Broker like Apache ActiveMQ, RabbitMQ), Mule, Active Camel, etc.  Actually, there is quite a long list there, ZeroMQ could be added to the list too.

But but Zookeeper is something that fits a nice itch one might have when writing distributed applications and wanting to share information amongst them.  Surely, a MQ can be used, but what if the data is just configuration or changes to values?  A message queue seems a bit heavy.  And that is exactly why Zookeeper limits the size of messages.

I like the idea of Zookeeper for apps that have to present life data or share state changes.  For example, you have several distributed applications and you want them to know what the other is doing.  Or you want them to synchronized on some work, Zookeeper makes this very easy.  I don’t know a lot about it yet, but I am getting into it now for my current task.

I will be looking Spring XD and Spring Reactor projects too, so look forward to even posts soon won my adventures in these new technologies.  Hopefully I will get my hands on Hadoop too.

WaveMaker Saves The Day

Last week, our manager called the entire team into a meeting.  His charge was, a Web Application, using any technology we want, that implemented a portion of the OpenStack Horizon Dashboard UI.  He had a set of pages he wanted developed.

What was really challenging about this task, was that he wanted it about 5 business days later.

Generally, out team develop web applications using Spring MVC and PrimeFaces JSF library for UI.  Unfortunately, with the very tight deadline of just one week, I didn’t think we could pull off all that XML UI editing.

Instead, I decided to do a prototype of the UI to be implemented in WaveMaker after the meeting.  Not surprisingly, after about 20 minutes, I had about half of the UI completed.  Of course, I didn’t have data in the UI yet, since that would have required making RESTful calls to the OpenStack Keystone service.

One of my teammate saw what I was doing and was immediately impressed.  The only thing left to do I told him, was to figured out how to make the rest calls.  Here too, WaveMaker was surprisingly easy.  When it comes to making RESTful API for get, WaveMaker couldn’t be easier.

Soon, I showed the rest of the team and we decided that same day, that WaveMaker was the way to go.  The only problem we had, was doing RESTful API post calls and of course, trying to integrate Web Services token based API authentication into WaveMaker Spring Security.  We eventually, opted to just not use Spring Security and just do the authentication checks ourselves.

WaveMaker saves the day.