Insights and perspectives to keep you updated.

Open Closed Principle in Action

Ivar Jacobson stated that all software entities change during their life cycle and this must be borne in mind when developing systems which are expected to last longer than the first version. A design principle which helps you with long lasting software is OCP (Open Closed Principle). Open Closed Principle was coined by Bertrand Meyer. It states that “Software entities should be open for extension Continue Reading

Unit Testing Esper Statements

Esper Statements would allow the flow of events to pass through them. Usually what would you like to unit test for a basic scenario? The valid events are being passed to the listener The invalid events are filtered out and are not passed to the listener The batching time, if defined for the statement, is being adhered to. Let us quickly look at what a Continue Reading

Excellent Code Quality is Also an Issue

We all know the importance of good clean code. Meaningful names, ubiquitous language, one level of abstraction per function, SRP, OCP etc etc. It is not debatable that good code would lead to better reuse, maintenance, enhancements etc etc. Have you ever encountered the scenario where the code was too good and that was an issue? I was reading the book, The Pragmatic Programmer: From Continue Reading

Combining CEP with Grid Computing

In the last few posts, we have talked about Complex Event Processing (CEP), have gone through a simple case of CEP and have also looked at Grid Computing with GridGain. In this post, we are going to see how you can integrate both the paradigms together. There are 2 ways to look the combination of CEP and Grid. 1) CEP does its job and passes Continue Reading

CEP with Esper

In the last post we looked at the basics of Complex Event Processing (CEP). In this post we are going to give that a try using the community edition of Esper which is an open source event stream processing (ESP) and event correlation engine (CEP). Let us assume a simple scenario. Say you want to go from Foster City to Redwood city on US 101. Continue Reading

Complex Event Processing

In the last post, we saw the difference between a Rule Engine, Event Stream and Complex Event Processing. In this post, we would try to dig a bit deeper into what is CEP. There are a lot of events happening in the enterprise. If these events are routed through an intelligent system that can find the correlation between the events and then take proactive action Continue Reading

Comparing Event Processing and Rule Engines

Recently, there has been a lot of talk about CEP and the benefits that it can bring to the industry. CEP is the analysis of event data in real-time to generate immediate insight and enable instant response to changing conditions. Likewise, a seemingly similar concept is that of Business Rule Engines. These again work in enterprises and help in triggering actions on the basis of Continue Reading

Let Us Grid Compute

Since early times oxen were used for heavy pulling. Sometimes the logs were huge and an oxen could not pull it. The smart people from the earlier times did not build a bigger ox. Instead they used two or three together. Simple, isn’t it? It is the same concept which has gone behind the use of multiple commodity hardware linked together to provide super processing Continue Reading

Role of an Agile Architect

This post is a reproduction of my article which has been published on Agile Journal by the name The Shiny New Agile Architect. You can download the pdf here. Recently there has been a lot of talk on whether we need an Architect on agile teams or not. There have been never-ending discussions on various forums both inside organizations and out in the public questioning Continue Reading

Don’t Judge an Application by the Looks

We have heard a lot of times that for the end user, the UI is the system. Well, in my view the answer is partially correct. Agreed that the UI gives a pleasant feeling and makes you stay on the site for  longer. But would you stay on the user cool looking site if the pages were taking 30 seconds to load? Probably not. The Continue Reading

What Does 99.99% Availability Mean?

Availability is defined by uptime. I.e. the time between failures. It is dependent upon Downtime and Recovery Time Downtime is the amount of time that the system is unavailable due to either failures or scheduled maintenance. Recovery time is the average time it takes to recover from failures. This includes time for detection, isolation and resolution. Hence to have high availability, you must have low Continue Reading

%d bloggers like this: