Java Authors: Michelle Drolet, Kevin Benedict, Pat Romanski, Elizabeth White, Paige Leidig

Related Topics: Java

Java: Article

SpringSource Elected Newest Executive Member of the Java Community Process

Java Champions Yakov Fain and Rod Johnson talk about JCP, JEE and Spring

Yakov. Rod, Can you please remind our readers what’s JCP and how the process of elections works there?

JCP is Java Community Process by which Java specifications are offered, developed and eventually published. Members of JCP (individuals or companies) get to vote on representatives on executive committee.

Y. Congratulations on this election! I was told that “you will bring a healthy dose of paranoia and openness to the body that guides the future of Java”. Can you please explain what paranoia JCP is missing?

R.  I remember a keynote a couple of years ago when one of the most senior Sun executives said that there is no threat to Java in the enterprise today. I got out of the room and laughed. That kind of attitude is deadly. It doesn’t really matter what you are doing, if you are involved in any form of activity and think that you are complacent, you are the best, and no one can threaten you, you are on the way down.

It’s very clear that there are challenges to Java. Firstly, Microsoft is putting a vast amount of resources to .Net – they are doing a pretty good job. Certainly, I would not choose .Net platform over Java, but it’s a serious threat, and I can see why some people made this choice. Secondly, technologies like Ruby on Rails or even PHP are also a real threat. Thirdly, Java’s reputation of excessive complexity, particularly in the enterprise Java is very dangerous to the platform at this point.

It’s pretty obvious to everyone that the world has changed profoundly in the last couple of months. People are going to be looking to trim their IT budgets, people are not going to be happy if the excessive complexity maybe costs them excessive amounts of money. It’s partly a perception problem rather than reality, but certain things need to be done in Java to ensure that that perception and the part of it that is reality is cleared up.

Y. I read various online posts that state something similar to what you just said - Java has no future, it’s too complex, and other technologies will replace it. You just mentioned that Java is threatened on the server side by Ruby on Rails and PHP. I don’t think that there is such a threat, because these technologies are not there yet when it comes to reliability and scalability.  I’d agree that there is a threat for Java on the client side… Why do you think there is a threat from Ruby and PHP?

R. Java has never been particularly strong on the client side. On the server side, if you look at where Ruby on Rails is right now… some people thought that it’s an alternative to Java, then they found out that it is not. But there is clearly a window there, and if enough people will get interested in Ruby on Rails, it will get to the point when it does become a genuinely credible alternative. If enough people will want to use it and see its productivity benefits, they will gradually contribute to its features to make it more competitive.
Java is the best platform in terms of integration it has, but we need to be very vigilant, because there is very strong chance that over time Ruby on Rails will become more and more competitive. 

Y. But still, what do you think of the state of Java on the client side?

R. The state of Java on the client side is not something that I personally …. But in terms of SE aspect of JCP committee, I certainly need to spend more time thinking about Java on the client side. The combination of .Net client and Java on the server is pretty common. Also I see a lot of people using Flex clients .

Y. Do you think that JavaFX will make a difference in bringing Java to the client side?

R.  I have not looked at JavaFX details and can’t comment on its technical merits. I’m yet to hear of it. But I can say that we are constantly talking to the customers at SpringSource that are looking very seriously at Flex rollouts.

Y. In one of the interviews you’ve given in the past, you said that you don’t like EJBs in JEE spec. What do you think of the  new JEE 6 spec? Do you like it? What’s in your opinion is the best component of JEE 6?

R.  There always have been many technologies in J2EE. Many of those technologies are not used and are largely obsolete.  There are couple of things in JEE 6 that we really like. One is the introduction  of profiles.  So there will be at least one profile that is small, and it’s a really good thing.  
I think  it matches much more what people are expecting to see. There is a number of positive changes in JEE 6.  Frankly, I don’t think people will be using the full profile with older EJB stuff, but you’ll see gradual move toward the Web profile.

Y. I’ve been looking into Servlet 3.0 specification and really like it. It allows greatly increase the scalability of the Servlet containers via this combination of NIO and the new way of processing of HTTP request utilizing suspend/resume modes. Do you think it’s a big deal?

R. Everything that increases the scalability is a good thing, but I’m not sure it’s a major problem in practice because there are other containers that already have features that do this kind of stuff ahead of the spec. If people in Java are encountering these kinds of limitations, they are already aware of the server extensions that they can use in the server container. It’s good that these solutions are being standardized, but I don’t think it really changes the perception of which solutions could be used.

Y. Since you are going to have a louder voice at JCP, can we expect that you, as creator of Spring framework will start pushing the ideas implemented in Spring into the future specifications of Java?

R. If we’ve done things in Spring that have value , I’ll be arguing in favor of these and other good ideas regardless of where they come from.

Y.  I didn’t have a chance to keep up with all Spring Framework news, but recently I noticed that now there are references to something called SpringSource platform. What’s the difference between the two?

R. SpringSource application platform is a set of open source projects and products, which are Spring  Framework, Spring Security,  Spring Web Flow, Spring Source dm Server and others. Even though the Spring Framework is quite large, it’s just one part of the Spring eco system. For example, if you look at Spring Security or Web Flow, they are very substantial additions to Spring that have been out for quite some time

Y. Can SpringSource application platform be considered as an alternative to JEE platform?

I think that SpringSource can be used in a context of third-party products, for example, you can run all the Spring projects and most of the SpringSource products on WebLogic, WebSphere, JBoss, or Tomcat. On the other hand, the SpringSource dm Server, which is an OSGI-based platform, can be perceived as an alternative to Java EE 5, but it’ll almost certainly  become a Java EE 6 implementation. So in terms of profiles coming in Java EE 6, we think that this is something that people will really want to consume – we see a lot of value in that. We aim to have SpringSource dm Server and SpringSource  Application Platform certified against Java EE 6.

Y. So SpringSource is becoming yet another server for Java-based applications…

We already are for a number of months. We have two server products – SpringSource dm Server, which is a next generation server based on OSGI underpinnings , and we are also a leading contributor and  vendor of support and services  around Apache Tomcat.  So we have a complete server solution, but our products are portable and can run on other platforms too.

Y. At which point have you decided to get more involved with JCP? How did it happen?

R. JCP has changed over time. We started to see some positive changes in Java EE 6. We also detected an opening at JCP, and I believe that under the current leadership of the chairman Patrick Curran, JCP is becoming a lot more open. We had maintained the opposition, which was a very technically focused position on simplification and delivering things that people want. JCP had moved closer to us, and we thought that maybe we should get involved trying to help that movement occur.

Y. To summarize your position,  would you say that if Java platform would be simpler, you wouldn’t see any threats to Java?

I don’t think you’ll ever get into a no-threat situation, but if Java was simpler, its position would be stronger. One thing that I’d definitely argue is that a lot of things that we’ve done has contributed to making Java simpler. Imagine if there never been any Spring, imagine what Java would look like today?

Y. And here’s the final question. Someone has stopped me at a seminar asking, “Have you heard the biggest news – the Spring guys are going to ask for money. It used to be an open source framework and we loved it, but it seems that we are going to have to pay for it now.” Is this true?

That is not true. He was probably referring to the changes we’ve made in the maintenance policy. We’ve announced what almost all other open source projects have always done – the development in the community will be focused on the last release. For example, when the release 3.0 becomes final, there won’t be any further releases of 2.5 to the community, but we will provide further releases of 2.5 to our paying customers. There will be no community releases of old versions. This is pretty consistent with what many other open source companies (and projects that don’t have companies behind them) do.

We are focusing our resources on developing the latest version for the open source community.  If the enterprise customers want stability for a number of years on an old version of the software, I think it’s completely reasonable, if they want this kind of risk mitigation, they can expect to pay for it.

Support is a different thing. People can ask questions on forums, which is free. But no open source product offers you free support – this is something that people have to pay for. But all the latest releases and bug fixes are going to be available to the community. There is no change there.

Essentially, we’ve said that it’s not fair for the enterprise users to expect us to subsidize them at the expense of the community.

Y. Rod, where people can find more information about your JCP election?

  I’ve blogged about it over here: http://blog.springsource.com/2008/10/27/a-word-about-the-election/

Y. Thank you, Rod, and good luck in your new role.
Thank you, Yakov.


More Stories By Yakov Fain

Yakov Fain is a co-founder of two software companies: Farata Systems and SuranceBay. He authored several technical books and lots of articles on software development. Yakov is Java Champion (https://java-champions.java.net). He leads leads Princeton Java Users Group. Two of Yakov's books will go in print this year: "Enterprise Web Development" (O'Reilly) and "Java For Kids" (No Starch Press).

Comments (0)

Share your thoughts on this story.

Add your comment
You must be signed in to add a comment. Sign-in | Register

In accordance with our Comment Policy, we encourage comments that are on topic, relevant and to-the-point. We will remove comments that include profanity, personal attacks, racial slurs, threats of violence, or other inappropriate material that violates our Terms and Conditions, and will block users who make repeated violations. We ask all readers to expect diversity of opinion and to treat one another with dignity and respect.