Blog >> Java

Implementing Review Board for Code Reviews

A few days ago I migrated our build server, aptly named Bob (the Builder), to Ubuntu 10.04 LTS and incorporated a new product to the existing suite. The new product is Review Board, which we’ll be using for regular code reviews within our development team. I’ve written previously on the various products we use as [...]

Read more

Traversing the realms – Moving from .NET to Java

As some of you might notice, this is my first post here at G3, and after much deliberation about which topic I should address, I decided perhaps I should give my account of what I think moving from the world of .NET and C# to Java was like for me. When I was initially considering [...]

Read more

Applying YSlow performance improvements within SAP NetWeaver

Having just finished reading Steve Souders’ High Performance Web Sites, I thought it would be helpful to point out how some of the server-side rules can be configured on SAP NetWeaver. PS: Buy the book! It’s short and to the point, and very well written. I’ve already ordered his follow-up book Even Faster Web Sites to be [...]

Read more

Thoughts on Joining an Open Source Project

Since starting my career as a software developer back in 2002, I’ve wanted to join an open source project. A few things have held me back from doing this… including inexperience in my early career, lack of available time to commit properly to a project, and the inherent difficulty in finding that one project amongst [...]

Read more

What’s the longest class name you’ve ever seen?

When trying to do code completion for “Hashtable”, I was instead presented with this incredibly long class name! Priceless! HasThisTypePatternTriedToSneakInSomeGenericOrParameterizedTypePatternMatchingStuffAnywhereVisitor Believe it or not, it really does exist. It’s contained within package “org.aspectj.weaver.patterns”, and can be verified here: http://www.springsource.com/repository/app/bundle/version/export?name=com.springsource.org.aspectj.matcher&version=1.6.8.RELEASE&package=org.aspectj.weaver.patterns Has anyone else found anything longer than that? Now I’m curious to know what else is out [...]

Read more

Maven plugin for creating a TargetProcess Build

The development environment I use at work has a number of tools that all interoperate with each other in various ways. One of the tools central to our work is TargetProcess. This integrates with Subversion to pull through all associated code changes, and provides a nice view of where we are in our projects. Another critical [...]

Read more

Assessing the Single Responsibility Principle with LCOM4 with Sonar 2.0

A while ago I mentioned that I’d set up Sonar as part of our continuous integration system here at G3. Every time I use it, I’m amazed at what a fantastic system it is. It’s incredible that such a seemingly small piece of software can be of such great value! One of my biggest combined [...]

Read more

Book Reviews: UML Distilled and Sun Certified Enterprise Architect Study Guide

One of my personal goals for 2010 is to do more reading – specifically related to software development, design and architecture. So far everything’s going pretty well! The plan actually started in December with Martin Fowler’s UML Distilled, which I found to be an excellent introduction to UML 2. January followed with Professional Apache Tomcat [...]

Read more

Flex Shop with integration into SAP

In our recorded demo below, we are mainly seeking to demonstrate capability – the ability to build a good looking, user rich, easy to navigate online shop that integrates with the SAP Sales & Distribution back-end real time – an application that can be hosted directly on the SAP NetWeaver architecture with all the benefits [...]

Read more

Continuous Integration on SAP using Subversion, Maven, Hudson, Nexus and Sonar

When our team first began Java development on the SAP NetWeaver platform, we decided that we should start out using the tools that SAP provide for this purpose. The logic behind this decision was that SAP was best positioned to provide suitable development tools for their own platform. Even though this is fairly sound logic, [...]

Read more