Thanks to collegue Kishan A, saw this writeup on theserverside  “Spring is the new Java EE”  by Salil Deshpande, ex CEO of The Middleware Company (the company that originally created TheServerSide.com and TheServerSide Java Symposium). It summarizes changes in the Java world in last 3 years – and sums it up in one word – Spring.

I found it very interesting as I had coded my last serious work in Java around roughly the same time 3 years back – and then had jumped to the .NET bandwagon. Of late – I had been struggling to get up to date with Java technology – and was roughly noticing the same things which Salil points out so well.

So In short – the perception is:

1) EJBs are a thing of past. Pojo are back. Spring is the platform now. Everything is based on Spring. <Quote>

Last but not least, next generation application servers from BEA, and maybe IBM, will be built on top of Spring. Am I the only one that finds this mind-blowing?”

</Quote>

2) .NET and Java continue to co-exist – with many Java things being ported to .NET and more slowly, .NET things being adopted in Java.

3) Service Orientated Architecture and Open Source seem to go hand in hand. There are open source ESB like Mule.

4) Dependency injection frameworks and Dependency injection metaframeworks seem to be in thing. I had earlier expressed my frustration with the abundance of Java Frameworks , however Salil seems to say that the Java community has no confusion, spring is the way to go all the way.

5) Its the UI technology which has seen most innovation. I had put my earlier views here however, the alphabet soup is continuing to grow with JavaFX, F3, Flex being open source and what not.

6) RoR is very important, has good press, has some money ( though small ) and the war of metaprogramming is not yet been won – with Groovy, Grails and JRoR on JRuby.

Some of the other things I noted were:

  • The IDEs are actually complete now, not requiring you to go out to command prompt every few seconds. Intellisense does work even for Javascripts. Most new projects immediately release eclipse plug ins
  • Communication between tiers is still not easy. Unlike .NET – you have a lot more work to do. Hopefully, someone will apply the concept of Windows Communication Framework to Java ( or maybe it exists and I havent seen it yet).
  • There seems to be a lack of centre of gravity. Sun is no longer it. It could easily be IBM – but it doesnt seem to be. Oracle seems to be most aggressive – but doesnt have a large fan base. Fragmented Open source community seems to be the biggest driver.
  • There are more standards than ever, but less than enthusiastic compliance – with vendors having proprietory full featured interfaces and part handicapped Standard compliant interfaces.
  • There is hardly any clear and distinct differentiators that Java has now. It is hardly a market leader in any stack – from servers to mobiles. Without significant commercial investments – It could easily be “Legacy” in next 3 years.
  • Supported Linux Servers ( Read Red Hat with Jboss) are more expensive than supported Windows servers (with IIS/.NET framework as an app server). Yes you read it right. This re-inforces my previous point.
  • The learning curve for new developers is higher than ever before. A typical developer has to learn Java, JSP, Javascript, Struts, Spring, AOP, Hibernate, SQL, XML DOM, Quartz, Swing, GWT, JMS, MDB, AXIS and practically a new open source component for every task they take up. All projects have a complex framework, how it works remain a black magic and debugging with all that magic around you is like searching for your car keys under the lamp post (regardless of where it fell).  By the time you learn the framework, and catch up with the lost productivity – it is time for a new project with yet another complex framework. Whether the use of these open source components has actually increased our productivity remains a big question.  Data on Hours per FP atleast is not going down.  While open source projects, frameworks and components let us write lesser code and provide more features than we generally would, its not really helping improve productivity. (Or maybe guys just spend the time on Beer if they are ahead on the FP delivered)

I really dont think that the doomsday will happen . There is just too much investment already done on it for it to fade away . It will re-invent itself – and maybe the popularity of Spring is begining of it.

Advertisements