Johnson emphasized the emerging significance of AOP (aspect-oriented programming), particularly in light of the decision to merge the IBM-led AspectJ open-source project with the BEA Systems Inc.-led AspectWerkz project.
"AOP usage and understanding is growing," Johnson said. "Adoption is growing" and developers are using aspect-oriented programming to go places where object-oriented programming cant.
To get better adoption for AOP, "we need more success stories, better tools support and to clear up the FUD [fear, uncertainty and doubt] around AOP. Hopefully, all of this will be advanced by the merger of AspectJ and AspectWerkz," Johnson said.
The merger brought together two of the leading AOP implementations, leaving Spring AOP and JBoss AOP. However, Johnson said Spring interoperates with AspectJ and "convergence is going to continue, leaving one converging solution and one proprietary solution in JBoss AOP."
Yet Johnson said he does not see a need to set standards in the AOP space.
"Its hard to see what a benefit to AOP standardization would be," he said. "JCP [Java Community Process] standardization is not really appropriate for AOP."
However, Johnson said he thinks AOP holds significant implications for the application server.
"AOP will change the way we think about app servers," he said. "Were going to see an evolution from a monolithic container to a service integration point. Services will be available separately, and app server vendors will continue to try to move up the stack."
Johnson also discussed the value of open-source software to development projects, but he looked at it from the perspective of what open source is not. "Open source is not about getting something for nothing, or changing the world by giving things away," he said. "Software is a business. Complex software projects need a viable economic model behind them. Open source is becoming more like traditional business. And its not about making closed-source obsolete," he said. "Open source will probably steadily encroach on commercial software," but it will take a long time, he said.
What open source is about is "community, pride, freedom of information, a close relationship to users, and easier debugging," Johnson said.
"A well-run open-source project is probably an easier path to good software products, but it needs the exact same conditions as a commercial software product," he said.
Moreover, Johnson said he thinks "it is unwise and expensive to build a J2EE application today without using at least some open-source software."
Johnson said open-source software tends to get "too easy a ride today." He said you have to look at total cost of ownership when deciding what technology is best for your purposes.
Check out eWEEK.coms for the latest news, reviews and analysis in programming environments and developer tools.