Shaun Abram
Technology and Leadership Blog
TSS2009: How Spring Fits into the Java Landscape
How Spring Fits into the Java Landscape
Speaker: Rod Johnson
Creator of the Spring Framework; Author, Expert One-on-One J2EE Design and Development
This was the talk I have been looking forward to the most. I have seen Rob speak before and today, as before, he was a engaging speaker. I have included my ‘conclusions and take away points’ at the end.
You can also find the original presentation slides here (pdf).
Intro – IBM/Sun
Rod started by asking a question about the big news re: IBM and Sun and asked:
What if happens if IBM do buy Sun?
His answer was basically that, from a technology point of view, to Enterprise Java, it really won’t have much of an impact.
He then went in to a history of Java, how/where things went awry, and how he thinks they have been fixed (by Spring of course!).
Complexity caused by economic exuberance
Java started off as a simple language. C++ with some complexities taken away (no pointers and direct memory management; no operating overloading etc)
Yet it has achieved a reputation for complexity.
That complexity was introduced along the way and “Enterprise” Java lost touch with its roots.
Rob put some of the blame for that on economic exuberance, where there was money for software budgets that had to spent, and so bloated app servers, with more functionality than was actually needed, were purchased.
Although the “No pain no gain” mantra may be true in the gym, it is a fallacy in software! Complexity means you are more likely to fail in software projects!
The turnaround towards Lean Software
However, in software, economic downturns tend to result in a reduction of software complexity.
Complexity is an expensive luxury and truly bad ideas need a booming economy to survive. For example, during the dot com boom, we saw by far the most complexity on Enterprise Java – i.e. EJBs.
But then, in the downturn, as budgets were tightened, we saw opensource, lightweight frameworks becoming much more popular.
In the current economic downturn, we are seeing similar trends again. For example, Anne Thomas Manes from the Burton Group argues that SOA met its demise in Jan 1 2009 and that it has bee wiped out by the economic recession (a controversial, and perhaps premature conclusion!).
We are seeing a progression towards what Rod called “Lean software”. So while big vendors (e.g. IBM & Sun?) are consolidating, developers are driving the Lean software movement, which is the antidote to bloated vendors.
Developer empowerment via Open Source
Developer empowerment – A key part of the solution
Developers saved the enterprise Java platform from its initial failure and now because things change quicker than in the past, management need to rely on developers more. For example, Web 2.0 has so many technology choices that managers are now much more dependent on developers for their input and advice.
Innovation from the community has resulted in decisive changes. Whereas the old leaders were companies like IBM and BEA, the new leaders are companies driving the open source technologies like Spring, Hibernate, Ruby in Rails, Django, Grails and the Eclipse ecosystem.
Open source allows participation in shaping, not only using, technology
Benefits of Open Source
- The ultimate expression of developer empowerment
- Not just cheaper, it is naturally simpler.
- Need to be simpler to use than proprietary technologies since they need to be adopted without sales and marketing driving them.
- Simplicity saves money throughout the project – not just license costs
Rod talked about “Portfolio” solutions, i.e. a product purchased as an answer to everything a company may ever need, and how there is now more of a movement towards “Point” solutions, i.e. a solution that gets straight to the point and just solves the current problem at hand.
The Cloud
Rob described “The Cloud” as not just hype and that, unlike SOA, it makes economic sense (it seem he really doesn’t like SOA!)
For example,
- Companies use electricity, but would never consider trying to provide/generate their own.
- Similarly, if they have company cars, they don’t provide their own gas stations!
So, why do they consider providing their own hosting solutions, especially when this involves typically have a very large amount of redundancy?
The Cloud further empowers developers and could even eliminate the roles of “operations”.
Traditional Application Server is dead?
Rod suggested that the traditional Java EE app serer is basically dead!
It’s death hastened by the current economic recession.
Why?
In a recession, people wont pay for features they don’t want or need.
Instead, there is a move towards virtualization/cloud, driven by a need for lightweight products.
As evidence for this, he used Tomcat.
Despite the large number of commercial app servers out there, by far most popular app server in development and production environments in Tomcat, which is used by around 70% of organizations. On a side note, SpringSource is apparently the biggest contributor to the tomcat source code, with about 86% of commits, and 97% of bug fixes coming from them.
OSGI
Ability to modularize apps contrasts with the limitations of the age of the Java EE model and so application server vendors are implementing servers using OSGI.
SpringSource’s server strategy
SpringSource has 4 key advantages
-An independent vendor
-It has no need to protect a revenue stream on a product people don’t want
-Leaders in the movement that reclaimed enterprise Java for developers – not defenders of the status quo
-Building on the de facto standard programming model
Tomcat
Why do people choose Tomcat:
- Fast
- Robust
- Better development experience than JavaEE servers
Tomcat limitations
- Perceived lack of enterprise support
- No management capabilities
- Desire to use Java EE APIs such as EJB
Solution? SpringSource’s TC server and DM server
SpringSouce TC server is a tomcat based solution for WAR based web apps which you’d already like to run on tomcat, but it addresses the major limitation of Tomcat and has the enterprise capabilities you need.
SpringSouce DM Server is built on Spring, Tomcat and OSGI and is a lightweight, modular, strategic solution to shared library hell.
Rob’s Conclusion
- There is a “changing of the guard”.
- The parents of enterprise Java complexity are getting married, but it no longer matters
IBM, Sun no longer central… - Going forward, Java must get lighter.
- Java must advance into the new world of “The Cloud”, virtualization and high developer productivity.
- The age of the traditional app server is over
- The age of the Lean Java has already begun
My conclusions and take away points
This wasn’t a bad talk. Rod Johnson is obviously heavily biased towards Spring (as of course, you’d expect him to be), which is fine, but I think he somewhat unfairly down plays other approaches. For example, to not say anything positive about the new, streamlined EJB model and the (popular and widely deployed) app servers required for it seems a bit narrow focused.
Also, to say that conventional app servers are dead and that players like WebLogic and WebSphere are not longer required is one thing, but to then go on and advocate two new app servers that your company is releasing (tc server and dm server) seems a little hypocritical! OK, I know that the app servers SpringSource are releasing are open source, modular etc, but calling the competition dead before saying your approach is the only way forward isn’t really the open minded views you’d expect from an Open Source advocate.
He also talked down ‘Portfolio’ solutions, instead advocating ‘Lean’ solutions, which is somewhat ironic since Spring’s functionality, and the number of modules available, seems to be moving more towards the Portfolio solution approach.
None the less, while I don’t necessarily agree with all Rod’s views, he is always an engaging speaker and his views are always good to hear. He seems to believe that SOA is not the way forward, which I think is definitely worth noting, and that OSGi is the next big thing – again worth taking note off. His views can be controversial, but he has proved himself right many times in the past…