March 13, 2004

Network Tuning

We’ve been busy at work tuning a high performance network application. We were having trouble tuning the Windows network stack, with a 30% throughput drop compared to Linux. Searching MSDN, we got some clues, but not a solution. Following those clues into “man socket” and its friends on a Linux machine told us what we needed to do!

So we now have similar performance in Linux and Windows, which is good.

Lesson: MSDN is an amazing resource, but it sure could be improved. Bigger Lesson: Thank god for BSD heritage!

Posted by aviks at 05:49 PM | Comments (0)

March 03, 2004

Naked POJO's

James Strachan asks if it is time for Naked POJO’s.

When I first came accross Naked Objects a couple of years ago, I was excited at what I thought was a cool idea. That thought quickly turned into mild derision when I realised that all objects need to extend from Naked Object… read the gory details in max’s criticism if you are interested.

Naked Objects would probably be the best way to prototype an Object Oriented System. You can focus on creating and validating the business objects without worrying about UI. I can also see how such an effort would be useful in ensuring a cleaner/”pure-er” object model.

Another useful case would in to create simple data admin screens for application. One often spends a large amount of effort in creating data admin screens which are quite incidental to the rest of the application.

I’ve never liked O-R tools that insist that all your objects should extend “PersistentObject” or some such thing. To me, its a bad architectural smell. Same here.

From a practical perspective (since this is quite a revolutionary idea for most users)l, I would first like to see how users react to naked Objects using an existing application. Again, I think no-one can, in his right mind, justify the cost-benefit of coercing existing classes into the Naked Objects hierarchy.

So, I imagine its time for a Naked POJO. I am certain its technically feasible as well. If anyone wants to write one, consider me an early beta user :)

Posted by aviks at 10:46 PM | Comments (0)