What all happened to Java in last 3 years?
May 11, 2007
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?”
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:
- 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.
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.