Sunday, July 29, 2007

Best of this Week Summary 22 - 28 July 2007

  • Interesting conclusion made in a technical report from the Delft University of Technology regarding the use of push vs pull techniques in AJAX applications for web-based realtime notifications. They concluded that:

    "In this paper we have compared pull and push solutions for achieving web-based real time event notification. The contributions of this paper include the experimental design, a reusable implementation of a sample application in push and pull style as well as a measurement framework, and the experimental results.
    Our experiment shows that if we want high data coherence and high network performance, we should choose the push approach. However, push brings some scalability issues; the server application CPU usage is 7 times higher as in pull. According to our results, the server starts to saturate at 350-500 users. For larger number of users, load balancing and server clustering techniques are unavoidable."

  • Yahoo released this very cool extension to Firebug (the standard tool for webdevelopers) named YSlow. Here's a good introduction with screenshots and what it can do. Here's an example of it analyzing this blog (click on it for the large version):

  • On the funny side: a list of commonly used development methodologies that are "broken" to say the least :-)

Saturday, July 21, 2007

Best of this Week Summary 15 - 21 July 2007

Related to this posting which mentions a good article about Continous Integration (CI), I found this interesting article which compares four open source CI tools: CruiseControl, Continuum, Luntbuild and Hudson. In short it is telling you:

+ Open source
+ Actively checks your source control system (SCM) for changes
+ Good notification options (including RSS)
- Bit more complex to setup
- Wrapper Ant build script/Maven SCM plugin needed
- Inter-project dependencies not a strong point

+ Open source
+ Easy setup
+ Strong Maven integration
+ Good notification options (though no RSS notification)
- Less extensive list of suppored SCM
- Checks SCM changes on user defined scheduled times (so not actively)
- Inter-project dependencies not a strong point

+ Open source
+ Easy setup
+ Most feature-richh of the OSS versions
+ Supports inter-project dependencies
+ Supports many SCMs
+ Separation of build scripts and schedulers
- Not so many notification options
- Checks SCM changes on user defined scheduled times (so not actively)

+ Easy setup (war deployment)
+ Scheduling and ability to poll SCM for changes
+ Good built-in JUnit support
+ Unique fingerprint per build so you can easily find out what was in that build
+ Supports inter-project dependencies
- Not so many notification options (but RSS is available)
- Supports not so many SCMs
- Lack of flexibility (e.g Ant build.xml has to be in your project's root directory)

Looking at the above +s and -s, my conclusion is that for smaller projects where inter-project dependencies are not important, CruiseControl or Continuum can be used. For larger projects with inter-project dependencies, Luntbuild and Hudson are a good option, though you really have to evaluate whether the new kid on the block Hudson is currently mature enough to be used in large projects.

Saturday, July 14, 2007

Best of this Week Summary 01 - 14 July 2007

  • Last week GPL v3 has been released. This article gives a good overview of what has changed, with one of the major changes being the anti-"tivoization" provision. This ensures that the owner of a device that uses GPL software can change that software.
    When you are going to use open source tools that use this GPL3, it can have a serious impact the use of it on your project and product.

  • This is a free downloadable handy Ruby tool that checks for a given CSS file whether the CSS statements are used in any of the supplied HTML pages. For large projects the CSS might have gotten so big that is too hard to check whether all selectors are actually used. CSS files are usually a significant part of any website page, so size does matter for CSS files. Removing any unused selectors is thus very useful excercise.

Sunday, July 8, 2007

Service Oriented Architecture diagram template

In a past project I had to create a Service Oriented Architecture diagram. Before I created it, I searched on the internet to find a template I could re-use.That I couldn't find anywhere. As next best solution, I used many diagrams as inspiration to come up with my version.

Since I believe in re-use, I wanted to share my knowledge and give others a headstart by providing the the diagram I created online. The actual diagram from the project I couldn't use, so I recreated a new diagram from scratch. Below you see the final version and a link to the editable(!) actual .odg document you can download. It has been created in OpenOffice 2.1 Draw.

The diagram is free for you to use, just as long as you refer to were you got it from:

And this is the link to the actual document.

Hope you find it useful. Comments/feedback/tips are of course welcome too!