Featured

    On Technical Debt

    Technical debt has been mentioned in multiple blogs. Ward Cunningham apparently coined the term. As a software product starts acquiring more and more features and thence complexity; it tends to degrade in certain ways technically. If all potential product features are documented in a product backlog, then technical debt is that part of the product backlog that pertains to […]

    [continue reading...]

    About this Theme

    This wordpress theme was borrowed from der-printz.com

    I have changed the theme a little bit to avoid post duplication. Also,the posts have been fetched in random order. Hence this site is designed to change dynamically with every reload.

    Please see the "About me" tab above for more information about me and the web site. Thanks for looking me up!

j2ee

Framework design patterns.

Imagine a large building with its foundation resting on a bedrock. Now consider  the possible impact of doing  any kind of repair work on the bedrock!  Sounds scary? Fortunately, the analogy does not fully extend to the realm of software in its full gravity. Yet this metaphorical mental escapade would bring some notion of the […]

management

Opspeak
This entry is part 1 of 1 in the series Architecture Viewpoints and perspectives

It is one of software’s little ironies that most architects would fervently wish to see their software run forever and yet fail to foresee how the system would be maintained after it goes LIVE. This is where the operational viewpoint shines. This view point could gently steer the  straying architects obsessed with functionality back on course and […]

design

The Router Pattern

Browse through all the non integration pattern books and you would not find a Router mentioned. The Router pattern has been recognized as an excellent way to accomplish Enterprise Application Integration (EAI). But it is my contention that their role in application programming has not been sufficiently emphasized. This post seeks to introduce the reader to this exotic beast […]

architecture

The Law Of Demeter

Most of us are familiar (or must be familiar) with the law of Demeter (LoD) as documented here. Basically, the LoD stipulates the principle of least knowledge about the internal structure of your dependencies. Or as in the case of this toilet sign, “no looking at what is happening inside”. Let us say we have […]

process

On Project Ramp ups

As I think back about all the failed projects that I had seen, I recognize one unifying feature about them. They all took too long to ramp up! I am not saying that they did not spend enough time on design or architecture. On the other hand, many of these failed projects spent an inordinate […]

java

On Digesting XML

One of the earliest uses of XML was for the purpose of storing configuration. It was soon realized that XML constructs are more amenable for specifying nested configurations rather than properties or INI files that were hitherto used for the same purpose. Since I am a confessed frame-workaholic (a term I just coined to denote […]

optimization

App Optimization – Asynchronous Pre-fetching Strategies
This entry is part 3 of 9 in the series optimization

I remember perusing through an article on web services some time ago where the author  quips about the similarity between web services and teen sexuality. He said that in both cases, they talk more about it rather than do it and even if they do it they do it pretty bad. A similar comparison can […]

OTHER ARTICLES

The benefits of spam

The other day I had installed Spam Karma for word press which is a nifty little plugin that catches unwanted ...

Ecommerce & Java

I recently spoke at a Java conference in Bangalore where we discussed Java and E-commerce. This is becoming important with ...

The Search Problem

In almost every application, there exists some kind of ability to execute a search for information. In fact, an application ...

Prelude to AOP – Requirements, Patterns, SRP and DRY

AOP has graduated for quite sometime now from the esoteric reaches of design to become a mainstream pattern. ...

The n+1 selects problem..

A few years ago, one of my numerous job sojourns took me to an interesting project at a telecom company. ...

Business Model vs. Revenue Model

Even code geeks know that a company needs a business model to survive. A busines model tells you about why ...

Application Optimization – Design in Retrospect

Application Performance and endurance tests are a terrible duo. They let a badly designed application fester unnoticed for a considerable ...

OOAD and the Strategy pattern

Recently, I had a discussion with someone on Object Oriented Design. How do you identify objects when you are ...

Flow Orchestrations

BACKGROUND Most enterprise applications follow a layered architecture. The best practice is to layer an application as a UI layer and ...

Domain Model and Application Contracts

We had spoken before about the application contracts. As we define components, it is imperative that we spend sometime in ...