AMQP is a message protocol that deals with publishers and consumers. It would look a lot like JMS but it is not. The main entities are Exchanges, Queues and Bindings. Look at the following diagram So a producer would send a message to the exchange and it is the job of the message broker (RabbitMQ […]
September 15, 2011
A plugin based architecture has many advantages. Some of the common ones include Extending an application’s functionality without compiling it again Adding functionality without requiring access to the original source code. Replacing or adding new functionality becomes easy Help in organizing large projects Help in extending the functionality of the system to unimagined areas. I […]
August 26, 2011
We are currently working on a very exciting web scale project. The framework is built using Scala and Akka actors and till date we are quite pleased with the performance. The architecture is plugin based where we can dynamically add plugins to our framework for processing incoming messages. Now, this is where it gets interesting […]
April 22, 2011
Inphina is one of the front runners on Google App Engine, at the Cloud Slam 2011. It is rubbing shoulders with some of the well known cloud vendors and niche technology organizations at the conference. Today, I would be presenting on Multi-tenancy in the cloud and Google App Engine. As you would imagine, the session […]
March 7, 2011
In my last post, we had seen how easy it was to create REST based services with Spring and Jersey. In this post we would quickly see how we can unit test them. Ok, this is not entirely a unit test in the strict sense because we are not testing the resource in isolation but […]
February 14, 2011
First, a very basic introduction before we get into code. Drools is a Business Logic integration platform which offers an integrated platform for Rules, workflow, event processing etc. Drools started off as a Rete based rule engine but over the years has evolved to have multiple sub-projects. Main ones of course are Drools Expert (Rule […]
February 7, 2011
Primitive Obsession is when the code relies too much on primitives. What this means is that a primitive value controls the logic in a class and this primitive value is not type safe. For example, there are multiple situations in which we might consider the use of String for comparison and driving the logic even […]
January 31, 2011
One of the common principles in the bouquet of SOLID principles is the Open Closed Principle (OCP) which states that software entities should be open for extension but closed for modification. This means that if we have to add any new functionality then ideally, we should be able to extend the current set of software […]
January 24, 2011
On one of our fun filled iBAT sessions, we decided to build something which would be quick and also have business value for Inphina. Amongst the top candidates was a leave tracking system. Inphina is an Agile organization and believes that when one has to take a leave then one has to take a leave. […]
January 12, 2011
All of us have had situations in which, the enterprise that we are working with, would like to have quick snapshots of the various metrics on the dashboard. These should not only be readily available, but also be refreshed with real data in real-time so that the latest on the health of the organization/business is […]
September 15, 2011
1