The Ultimate Enterprise Java Build Solution
Christopher Judd recently blogged on his “Ultimate Enterprise Java Build System” and places Sonar in this system along with Maven, Hudson, Subversion and Nexus.
On Sonar, he writes: Sonar is a server that provides a dashboard into your code quality. It integrates with many common code quality tools like PMD, Checkstyle and FindBugs. It include metrics for code coverage, unit testing and lines of code. The trending capabilities make it easy to identify patterns.
We naturally do share the same vision for an Enterprise Java Build System but beyond the tools, the underlying fundamental question is : "Does the future of Enterprise development forges will be monolithic or modular ? ".
Modularity certainly sounds like an evidence for most readers but as always, reality is a bit more complex. Microsoft on one side with its Visual Studio Team System and IBM on the other side with its Jazz platform are pushing their all-in-one forges : IDE, Activity tracking, SCM, Build System, Dashboard, Code Quality Management, Wiki, Data mining... I've been recently invited by IBM to attend a Jazz presentation and the foundations of their forge look pretty good.
What I am describing here is an important shift in the industry. The debate seems to be more and more around integrated/"closed" versus modular/"opened" when before it was around open source versus commercial. I am sure that IBM and Microsoft would argue that Visual Studio Team System and Jazz are open but they are open only to swallow other tools in the surrounding ecosystem. On the other side we find open source tools such as Hudson, Subversion, GIT, Maven, Nexus, Sonar but also commercial tools like Jira, Confluence, Clover, Team City, IDEA, ... that all share the same vision : being open enough to enable easy replacement of one component by another. I guess that is what we call freedom.