I am currently reading Java Power Tools , came across this book on John Ferguson Smart blog.I quite regularly read his blog as he generally writes about current java landscape and good overview of problems faced in current set up say release management,branching strategy ,continuous integration etc.
So on weekend just went out and got a copy of it from nearest Book store ‘Landmark’ in gurgaon.
After going through the index i noticed that we were using mostly all the technologies in various projects barring
a) Continuum,LuntBuild : I am happy with Hudson and no itention of switching to another CI server.
b)Openfire : Haven’t heard of it ,will try to dig deeper into it.
c)JunitPerf ,Jmeter ,Jupiter etc:We are using something else but would like to know more about them especially JunitPerf and Jmeter.
After going through couple of Chapter i noticed that this book is written in very simple and clearly demonstrated the rational behind using these technologies .May be its due to the fact that i was already familiar with most of the technologies mentioned in the book .
In all i would recommend this book to java developer for a reference book for what’s all tools available for their arsenal.
Few things standout for me :
a) TestNG :
Author pointed this as Next-generation Testing and in my view this is very apt definition for TestNG.Junit has not kept pace with growing demands in testing space and Junit4 is also bit of disappointment.It still lacks on many features and i think way behind TestNg.
One thing i find missing in TestNg chapter is migration strategy and examples for Migrating to TestNG from Junit.But otherwise other aspects of testng were well explained like Test LifeCyclye,managing dependencies in test cases,parallel testing etc.
b) Continuous Integration :
This book cover this topic quite well and give a good overview of various tools available for this like hudson,cruise-control,continuum etc so well covered topic.
c) Profiling and Monitoring using Sun JDK tools:
Its really good to see that this book pointed out some very handy tools available to developer right under their nose ex: Jconsole is really good tool for thick client application monitoring.
I still don’t know why the tools which come bundled with JDK are not so popular inspite of such a great use.
What this book missed :
a) Aspects :
Aspects is a mainstream concept now and could have been incorporated in this book.AspectJ have now really matured and now comes with good support in IDE like eclipse and Idea.
b) Design analysis tools :
c) UML and Reverse Engineering tools :
I think this is also a topic worth considering in this book .Their are some good offerings from IBM which integrated well with Eclipse (although paid).
eUML2 from Soyatech is another good tool for UML and comes with very good eclipse plugin .
In all its a good book for getting a feel of Java landscape.