Archive for 19/04/2008

Google opens new front in war with Microsoft

Just when Microsoft thought it couldn’t get any worse, Google have hit another crippling blow to the software behemoth.

I’m happy to admit that I am of an age such that the first flight simulators to come out (in monochrome) were really cool; and I mean REALLY cool. I spent many frustrating hours trying to get that aircraft to take off from Chicago’s O’Hare airport with little success. The point is that Microsoft’s Flight Simulator holds a special place in the annals of software history.

Imagine my amazement when the latest version of Google Earth comes with a flight simulator built in!

Those guys in Redmond must be quaking in their shoes. What next? A first person shooter in Google Earth? Stranger things have happened.

Business Transaction vs Batch

I’ve been thinking a lot recently about the interactions between systems; specifically the nature of batch files versus discreet transactions.

My instinct is to go for business transactions. The question is why. I think my rationale is as follows

  • The business transaction is more likely to either successful or not. A batch has more chances to fail in ways not easily recoverable. If a transaction fails I can generally design the system so that it can process other transactions without having to wait for the failed one to complete.
  • I can process one transaction at a time, or many in parallel. Batch has to be done completely and in sequence
  • We used the batch approach in the first place because it was more efficient. We could take out table level locks and optimise processing. There is a law of software design that says that the more efficient you make something, the more inflexible it becomes. Data processing is getting cheaper but flexibility is getting more expensive. The economics have changed since we were all writing COBOL on the mainframe (although let’s not forget that many of us still are)
  • Fundamentally, the business transactions approach matches more closely what the business understands, hence any changes that the business are likely to come up with are likely to be better served with the business transaction approach

So in summary we did batch because we had to. If we don’t need to any more then let’s use the approach that better supports our customer.

|