The Roundtable Summations: 11 Views on Java's Biggest Challenges
Industry technologists set the agenda for Java directions in the year ahead
by Dan Rub
<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />
At the close of the 2003 Java Pro Technology Roundtable, held two weeks ago during JavaOne in San Francisco, participants were asked to assess the greatest challenges facing Java technology and the Java Community. Here are their replies. The participants were senior technology representatives from leading Java vendor companies. The full edited transcript of the roundtable discussion will appear in Java Pro's October 2003 issue.
Director of Strategy, E-Business Division, Sybase
If you look at the history of Java, originally, we were concerned about performance. It was never going to be able to run fast enough to do anything useful. Do you remember those days? Then, the next problem was compatibility. We were going write once but have to test everywhere. Remember that? Well, we solved those issues; performance is not an issue in the Java world any longer, and the compatibility problem was a fallacy.
Now, the big issue facing the community is ease of use. The community needs to produce a development environment that is easy to use. A lot of people around this table are doing work on that, and they better get it right because it's the major issue [holding back Java].
The second major issue is all the technology that's being dumped into the application server. I'm worried that the integration technology that's being put into application servers may be self-defeating. Integration can't become part of a proprietary stack because the whole nature of integration is that it spans proprietary stacks. I believe we have to work very hard to keep portal and integration servers open so that they run on top of the platform, and not on top of individual proprietary pieces of technology.
Senior Vice President, Novell
I think that there's been too much focus with Java and J2EE on technology. To paraphrase a former president, "It's about the applications, stupid." People actually buy our stuff because they want to create applications that solve business problems, and if you look at the key thing that's going on and the reason that all of us are struggling in the marketplace and the reason that people aren't buying new stuff is that IT has reached a crisis of complexity. They have too much "stuff"—they feel like it's collapsing under its own weight. And we're at that pause between architectures where the old architecture is collapsing and the new one hasn't quite taken off yet.
The second phase that is coming is in services-oriented architecture, which is a componentized approach that will allow brittle systems to become agile systems. Today, Microsoft is actually ahead in this area, not because they have better stuff but because they've positioned .Net as an SOA solution, and we [Java vendors] haven't quite succeeded in packaging together all of the pieces required for an SOA solution. Java is a better way of doing it, and as we put together all of the surrounding pieces, I think that SOA will prove to be the second-phase rocket for Java and J2EE.
Fellow and Distinguished Engineer, Sun Microsystems
I think the big challenge for the Java Community is to greatly expand the developer base, to grow the number of people who can successfully use Java for all kinds of applications. This requires some change in thinking in the Java Community about the kind of APIs we develop and the tools we develop. We cannot think of this as a tools problem for [advanced] developers, but we also should try to simplify API design so it's accessible to a wider range of developer. I think there's going to be a trend that will play out over a couple of years. We have already captured the enterprise-developer market quite well; the challenge now is to go after other, perhaps larger, markets for developers of business and departmental applications.
Chief Architect, Quest/Sitraka
I think of J2EE as an operating system, one with growing maturity and acceptance in the industry, and you can draw analogies to other leading operating systems. While there is a lot to be done yet in terms of strengthening the platform and making it more powerful, I think the central challenge for Java is to make it easier to use. Unix won in the enterprise because of its power, not because of its ease of use. Microsoft won the desktop because of its ease of use, not because of its power. Now, we're seeing a convergence of those two worlds where we need ease of use and power at the same time, and I think that's the central challenge for J2EE and Java.
Chief Technology Evangelist, Sonic Software
IT professionals today are being charged with making existing IT assets work together. They have become integration architects. This has spawned a whole new category of software that is all about building an integration fabric, which is not all necessarily meant to be stacked on top of a J2EE app server. What the Java Community needs is a new model for integration that's not necessarily based on an app-server stack, which includes it but isn't built on it. The Java business integration standard of JSR 208 may help move us toward an integration platform.
The Java Community still needs to continue to focus on standards and having the vendors work together to make the standards work because that's really what gives us a way to compete against the .Net phenomenon. Having standards-based technologies creates a healthy breeding ground where vendors can compete with each other and then customers can pick and choose from best-of-breed implementations. That's one of the good things about the Java platform that has always been there and that I hope will continue to be.
Senior Vice President, Borland Software
I think the greatest danger to the Java Community is not Microsoft and .Net, but rather IBM. Depending upon the analyst you speak with, IBM represents 35 to 50 percent of the app-server market and 35 to 50 percent of the tools market. And yet they are not here [at the Roundtable]. I think that should be causing us to feel a lot of concern, rather than feeling proud that the rest of us are a community and those guys didn't choose to be at our table. I think the concern should be over where they are trying to take our community without us. In my view, IBM would like to be the monopolist who owns the server market. The way they're going to get there is through Java, which means that they are going to have to take proprietary control over Java. They are very capable of doing that, and of carrying away Java market share from the rest of us. If the rest of us don't all get together and make sure that they don't do that, I think that they have a pretty good shot at being one of the two platform vendors, along with Microsoft, that [will dominate] the marketplace—and the rest of us will be poor cousins at that party.
Chief Technology Officer, ATG
We've talked a lot today about developer productivity and creating applications very easily, but I think our challenge is to make Java the platform that applications can live on. I use the term "live" because a lot of J2EE applications are customer-focused, they evolve over time, they have to keep "breathing," and they interface with a lot of systems over their lifetime. We haven't talked about things like business rules and business-process management, but those are a very important part of creating a platform for applications to live on. Hopefully, next year at the roundtable there will be more people representing the application side.
Architect and Director of Strategy, Application Development Tools Division, Oracle Corp.
I agree with Graham that our primary focus in moving forward needs to be on expanding the developer base. If you look at the numbers, 20 percent of the current professional developer market knows Java. And less than that knows J2EE. There's a huge [pool] of developers who are out there, working in the same corporations where a lot of the Java developers are, who we are not reaching. We really need to focus on addressing that market, and not just building something to appease them, but figuring out how to get everyone in the organization, with different skill levels, all working together. The whole concept of J2EE frameworks and runtimes sitting on top of the server will allow much more visual and declarative types of tools and provide the flexibility that will attract these users.
But as we move forward in this area, it's very important for us as an industry to focus on continuing to work on the standards and the APIs. That allows vendors to have enough flexibility to innovate and compete on implementation, as long as we're all manipulating the same data and talking to the same APIs. We need to stay focused on that as an industry, and that includes IBM, which isn't here but should be.
Global Director, MotoCoder Program, Motorola
Our focus over the last few years [in wireless development] has been in trying to create the largest homogeneous installed base for people to develop to, as well as in reducing barriers to development. But we also need to focus on the needs of the purchasing organization and the purchasing end user, things like quality of service, reliability of service, ease of use, and technical support. A lot of that is impacted by interoperability and compatibility because most organizations and even consumers have a mixed fleet of devices that they use, and certainly the operators who provide the services want to support mixed fleets as well.
So, for mobile development, MIDP 2.0 is a great start and JTWI is a good road map to the future, but we need to get closer to menus on devices that look similar, and having a Java button that's on the desktop and not buried in a menu, and having the controls of the devices being the same for the same app on different handsets. When we get to that point, we can more effectively take advantage of the innovation created by the Java Community versus the .Net community. But until we can get more consolidation in terms of how we interoperate, we're going to have that disadvantage in terms of the consumer and the organizations that consider us.
Deputy CTO, BEA Systems
There are two main areas that Java will continue to grow and improve. As we have discussed, one is the whole area of ease of use, ease of development, developer productivity, and growing the community. Equally important, the next big revolution in technology is going to be around integration. J2EE standardized business development and that was a huge achievement. Standardization of integration is going to be done around the combination of XML standards and Java standards. That's going to be a key thing for the Java Community to negotiate properly. I think we've already taken the first few turns quite successfully, but that's the thing that we really need to work on as a community to make sure it really happens. Those two things—ease of development and ease of integrati—are going to provide an amazing amount of value to all of our customers and I think success for everybody in the software industry.
Chief Technology Evangelist, Sun Microsystems
One thing I would point out is that this is the only place you'll see this sort of discussion. Over on the .Net platform, there's no point to having this discussion because nobody who participates there gets a say in what happens next. It's a smaller table with just one company at it. One of our great strengths is the fact that there is a Java Community. And, like all things that you love, it has things that you hate. But, nonetheless, there is a community, and the discussion we've had has been a very good indication of both the strength and the diversity of that community. We've talked about many things today, but the thing that encourages me most is that there has been a discussion and that there are so many things to discuss.
Dan Ruby is editorial director, enterprise group, at Fawcette Technical Publications. Reach Dan at email@example.com.