Dependency Management

Eclipse Plugin (OSGi) Visualization

If you are going mad trying to figure out the dependencies between lots of Eclipse plug-ins, or work with other large OSGi systems, you may be interested in this. We’ve had a few people looking for an Eclipse/OSGi backend for … Read More

Jar Hell

A lot of jars can contribute to (and mask) the logical package/class structure. Here’s how to make sense of the whole mess using Structure101.1. View your project in the Logical hierarchy2. Tag the classes or packages you’re interested in3.  Switch … Read More

DevX review of Structure101

"Getting your arms (and eyes) around large, complex code bases has never been easy, but Structure101 from Headway Software may just be the elegant solution to this age-old problem. Find out how this visual design tool analyzes your enterprise projects … Read MoreRead More

Spring 2’s architecture – A single dependency cycle slipped in

The Spring guys have let a single dependency cycle into their architecture. A very small flaw, but it’s a perfect example of why you need to check your code-base at different levels to keep it truly tangle-free. I did a … Read More

Tracking complexity debt

Un-monitored, the complexity of a code-base increases with its size. Jboss and Struts are perfect examples. However monitoring complexity helps you keep complexity debt under control, or even down to zero. If you publish the last couple of years worth … Read More

CAT-scan a code-base

Structure101 v2 goes beta today. With it you can walk through the code-base in slices from the class-level, to the package-level and up through the design levels, spotting tangles and seeing how far they have spread. This is a snag … Read More

Emergent Package Design

java.about.com has published my article on "Emergent Package Design", in which I illustrate how the package design continually changes as the underlying code evolves, and the negative impact this can have on the productivity of a development team if it … Read MoreRead More

Struts more twisted than Spring

The structure of Struts is characterized by a nasty dependency tangle that starts at the class-level and percolates up through the package and design-levels. Following my blog on Spring’s “almost perfect” structure, I thought I’d take a look at another … Read More

Too many dependencies to manage?

Kirk Knoernschild (who has created an interesting utility called JarAnalyzer that identifies dependencies among jar files) questioned how it could be possible to manage all the dependencies at lower-than-jar (like package) levels – aren’t there just too many dependencies?  Nah… … Read More