Categories
Development

DWR on the move

It’s moving both organisationally and in features. It is one of the first AJAX experiences I had, and it really does solve the Javascript to Java and back problems in a clean and easy way.

Shortly summed up it generates Javascript from your Java classes (that you configure it to expose) and lets you call them on the clientside. So a call to your AddressService.lookUp(id) would return a Address object with data populated. Pretty neat.

It will be exciting to see the new features scheduled too.

Check this post on InfoQ for some of the news, or go to it’s homepage here.

Categories
Development

Tier based architectures and scaling

Nati Shalom has a good post on why tier based architectures doesn’t scale, and a good analogy to use if you need to explain it to someone.

He points to some very important issues, and uses an analogy of producing coca-cola. The scaling promise with multi tiered applications also seems like it has focused on scaling in the wrong tiers. Most applications (my experience is from the web) don’t really have any computationally intensive code, so scaling in the “business tier” is not something that would be a issue. The data storage (which pretty much has to be synchronized) is the main bottleneck most of the time. There are of course ways to improve this too, but they require something quite different than more tiers.

Categories
Development

Performance testing tools

Google senior test egnineer Goranka Bjedov has a good blog that I’ve been reading lately. The latest post is about performance testing which is sort of relevant to our project currently. The blog entry also points to a video presentation that are both worth a read or watch.

We are currently using one of the commercial tools mentioned in the video, which probably cost a lot, but it wasn’t our decision or budget. I can understand the arguments for using some of the open source tools, but I also see that I would miss a couple of features:

  • The graphs. I know, it’s all really pretty stuff for managers. But when you’re new to performance testing, and don’t have the luxury of learning all the ins and outs of performance testing it is a great help to us to be able to get the graphs out easily.
  • The probe-integration. Commercial tools usually have integration to let you do deeper analysis of the problem. This includes SQL-profiling and java-profiling to show you which areas are spending time. This might be a newbie feature again, but it does help in tracking down the problem areas.