Summary of TSS Future of Enterprise Java Panel
The panel began with Ted Neward allowing each panelist to take a minute to give their opinion on the future of Enterprise Java:
Bruce Tate - Enterprise Java is in a good state, what's missing is Java support for low-end of app development [a reference towards web apps, no doubt alluding to Ruby on Rails].
Ari Zilka - The scale out trend, will continue to allow lot of machines to distribute work rather than spend money on big iron. "I think is AOP is really going to change the shape of the App Server market."
Floyd Marinescu - Java itself is changing, it's no longer the language, it's JDK+JVM=bytecode=any language. Java becoming a platform for DSL's and scripting languages. Web development frameworks will be an area of innovation - Rails is evidence of this but we need a solution that is better integrated with Java. Web 2.0 is changing the web from a publishing platform to an application platform which will change the nature of application development that we do.
Bruce Snyder - Agrees with Web 2.0 point. Development must get easier and API's must simplify. Talks about how it would be really cool if we could code to a metamodel that abstracted away deployment details like EJB vs. JAX-WS, and instead lets you generate all that at compile time (sounds like MDD). Somehow relates this idea to SOA and Web 2.0. ;)
Cameron Purdy - Agrees with Web 2.0 point but states that we shouldn't assume Java will be the foundation for Web 2.0 apps.
Rod Johnson - Excited about the rediscovery of object orientation. EJB persistence API allows us to build real domain models, not anemic one. We are going to see AspectJ become very widely used in the next couple of years. The hardest thing to grasp is that the JVM will be more than Java. The hardest part to predict is what will happen to the web tier, there are a huge number of competing approaches.
Ted asked the hard question: Do you think the window of opportunity on EJB has closed and is gone forever or does it have a chance?
Bruce Tate: "Let me sneak in and say I think EJB3 is dead and I think Rod killed it."
Rod Johnson: The persistence part is awesome and should be widely embraced. The rest of it is inferior compared to existing approaches, the interception capabilities such. [Editor's interpretation: Spring+JPA is better than EJB 3].
Floyd Marinescu: This question is really about "what role to standards play in the new world of open source"? In open source, the best of breed solution becomes the standard, and such solutions don't have the same issues with vendor lock-in that commercial projects do, so the real question is will people adopt EJB when they already have Spring+Hibernate. Standards will matter to large corporations where stability matters more than innovation, but I don't think small projects will jump onto EJB 3.
Bruce Tate: "I don’t think that, that EJB is all that relevant at all. It’s mainly just the ability to package and consume services around a POJO, which Spring…which really JBoss, which a lot of things have given us and the API around that is completely secondary."
Ari Zilka: It's important to identify the catalyst for any big change. There was catalyst/need for the persistence part and that will stand on its own. Projects currently on EJB 2 will not have much reason to move to EJB 3 as not that much has really changed from a functional perspective.
The discusion turned to Linux and open source, with Rod commenting that he's seeing increasing Linux and Java deployments but it's good that Java isn't tightly coupled to Linux. Bruce commented that the most successful open source projects are run by benevolent dictators, Floyd pointed out that open source is important to emerging economies as a way to be free of US intellectual property / threat of embargo.
Cameron suggested that people are expecting more and more to be free so companies need to keep innovating and investing in R&D in order to remain competitive but it's hard to hire the best people if there is less to sell to justity the r&d expense. Rod disagreed stating that "we don’t use Open Source because it’s free, we use it because it does the job." Very few open source projects succeed wildly, and you can hire the best and brightest, like Interface21 did. Rod also urged avoiding being ideological, it is not open source's role to take out commercial software.
Ari suggested a pragmattic approach for commercial companies: "Open Source does not mean people will come, download your product, and tweak on it, and add value to it as if you were MySQL or JBoss. So, Open Source versus free most of the time, I would think of vendor should lean towards free before they jump into the Open Source pool."
The panel ended with Floyd reassuring the audience that open source will mean more job security for Java developers due to the continually lowering costs of software development enabling companies to solve more business problems with software. Floyd also pointed out that this year was the first time in 3 years that the panel did not spend a lot of time worrying about competition about .NET, and that this is a reflection of how far we've come.