Sunday, June 28, 2009

Best of this Week Summary 21 June - 28 June 2009

  • Misunderstandings of Domain Driven Design described. DDD = "Domain Driven Design is an approach that describes the approach to designing the business layer".

  • A Google site dedicated to deploying Google Apps in an enterprise (more than 100 users).

  • Which on is the best of these agile methodologies: Scrum or Kanban? Differences and similarities are described. The unsurprising answer: it depends on the situation :) My conclusion: Kanban has less "rules" to follow and thus might be a better suit for experienced agile developers.

  • A handy opensource Java library (no i18n yet) for showing real user friendly times, like "in 3 minutes", formats you see on many social sites like Digg and Facebook: PrettyTime.

  • And what is your programming personality style? For me it's DoerHighlevelSololiBeral...

Sunday, June 21, 2009

Best of this Week Summary 15 June - 20 June 2009

  • Finally I found a good summary of JavaOne 2009 (PDF) by Frank Cohen.
    Two other pretty good summaries can be found here and here. Both are split into days, so some browsing required :)

  • This blogpost describes how's the opensource project MySQL fork Drizzle handling code contributions and testing. Some rules for the 100+ contributors are:

    • No code will be accepted that works by disabling any existing tests

    • It is not allowed to contribute code that causes a compiler warning

  • Here's a nice summary of Google Wave's architecture.

  • This week I performed a short research on tools being able to generate Java classes from XSDs. All I wanted to use it for is generate my domainmodel classes, nothing more, nothing less. No need for Java <--> XML binding/conversions. Another requirement was that the generated code should not contain any dependencies on that tool. Finally, it has to run under JDK 1.4 too :( Because of that last requirement, this summary was already quite handy. Well, I thought the research would be pretty easy, but it wasn't. Actually, in the end I didn't succeed. None of the below tools generate code that has no tool-specific imports. Do you know of any tool that should do it? Let me (us :) know in the comments! Below a summary of my findings:

    • Castor 0.9.x and 1.3: generates classes (no interfaces), with matching Descriptor classes per class that can be used to validate the created object. Imports org.castor.* stuff.

    • XMLBeans 2.4.0 generates interfaces and implementing classes. Both import xmlbeans classes.

    • JAXB 1.0 generates interfaces, implementing classes and runtime classes (haven't figured out what that is exactly). Imports JAXB classes/interfaces.

    • XMLSpy 2006 Enterprise Edition: generates classes. Looks more like you expect, "one class per type". But also needs com.altova.* imports.

Sunday, June 14, 2009

Best of this Week Summary 8 June - 14 June 2009

Sunday, June 7, 2009

Best of this Week Summary 1 June - 7 June 2009

  • Presentation from the author of POJOs in Action on running Java applications in Amazon's EC2. Shortly describes the opensource project Cloud Tools that can be used to configure Tomcat, MySQL, Apache, JMeter, (cluster) deployment etc. CT also includes AMIs pre-installed with these tools and a Maven and Grails plugin. A couple of sample deployment architectures are shown too. Tiny bit older presentation because it does not mention the AWS Management Console.

  • Of course you know YSlow, which helps you analysing your webpage load time, and then gives you tips on how to improve it. Google has just opensourced its similar tool Page Speed, but with tips based upon different insights. It's a Firefox add-on integrated with Firebug.

  • A 42 minutes presentation by LinkedIn's engineers on exploring the best available technologies which could be used to build its next generation architecture.
    "The new architecture involved using OSGI/Spring DM as the foundation because it had the right properties we were interested in. The code was migrated to a more modular paradigm using binary consumption.
    The session will demonstrate how they integrated OSGi, the pros and cons of the changes, the pain points as well as the migration strategy."

  • Open up your company's data so others can link to it: the next step in the web, and why you should care. As seen by Tim Berners-Lee.

  • Did you know about this cool feature in Java 6 SE: it is possible to make a standalone Java application available as a webservice via the EndPoint class (i.e, via its main() method). Thus: without a container!