JDJ: What is your role in the Java 2 Enterprise Edition, and what do you see as its strength?
Roth: We're extending the Java platform from its traditional base on the desktop all the way into server-centric space. We want to take write once, run anywhere and extend it all the way to the server side so you can write your business applications once, especially Web-facing business applications, and have them run on any app server. The good news is that we're 90% of the way there. We want to make sure that people can deliver the same Java applications on a server anywhere. That includes applications with servlets, JavaServer Pages and Enterprise JavaBeans its three major components. There are a lot of other APIs under the hood so you can do transactional systems. There are JNDI, JTA and JDBC. Basically, we want to make it easier to run business applications.
JDJ: Tell us about the whole Enterprise system. Would all the APIs within the Enterprise keep changing? How is it going to look to the end developer?
Roth: We're beginning the process of building a platform. Our draft specification is up on the Web at Java.Sun.com/j2ee. One of the things in the platform is a table that states the required elements of the platform, which include Java 2 Standard Edition, Enterprise JavaBeans 1.1, servlets, JavaServer Pages and so on. We're going to build a reference implementation of the platform to prove you can actually implement the stuff we have in our specs. We're also going to have a set of tests so we can test not only our implementation but other peoples' and a branding program. You pass the test the Enterprise developer will be guaranteed. Folks can brand an application server, for example, and be guaranteed that the components will write once and they can run them anywhere.
Photo: Bill Roth (r.) being interviewed by Alan Williamson of SYS-CON Radio.
JDJ: So whenever a developer develops that Enterprise solution, if they see a server that is Enterprise enabled, they can be sure that it will come with all the necessary components to support their Enterprise solution.
Roth: Exactly. When something is Java 2 Enterprise Edition branded, you can be assured that JavaServer Pages, servlets and Enterprise JavaBeans will all be there. They'll all be versions, but you can begin to see that it exists. Ultimately we're going to evolve the platform to add more functionality. One of the things we may add to the table, for example, in future releases, will be the Java Message Service. That's something that may find its way into the platform. It's a crucial piece of technology, but I think we want to focus on delivering something that supports Enterprise JavaBeans, JavaServer Pages and servlets.
JDJ: You're talking about the server engines here?
Roth: Yes. Compatibility testing is very important to us. We want to make sure that we don't have any fragmentation in the servlet space. What we're working on and what our engineers are working on is a new tool called JCheck. It's a way to guarantee that you've lived up to the requirements. It's not a compatibility kit, and we still preclude anyone from saying that they're servlet compatible, but it'll be a way to get a relatively good idea of whether developers have all the APIs and if they implement them in the way we say and only the way we say. That's how we ensure write once, run anywhere, and that they behave properly. JCheck is currently under development. We have some nuts and bolts to work on, as well as getting it through the lawyers and licensed properly. We intend to make it a tool, just like the JDBC tests that will be available soon in the public domain in binary form.
JDJ: You're now deploying real hard resources to work with the Apache team to come up with Tomcat, which is another open-source community. Are there other examples of Tomcat in other areas of the Enterprise world that are going to pop up?
Roth: I think that we responded to our community source licensing program as well as servlets and JavaServer Pages in response to a direct, concerted effort by the industry; we don't see that in any other place. I think Sun's announcement of its intent to license the source of servlets and JavaServer Pages to the Apache group is a boon to developers. It leverages off the innovation that's able to happen in the open-source environment. I want to make one point, however, and that is that we're licensing the source only. We'll continue to maintain the specification as part of our Java community process, sort of an auditable, verifiable way that we'll move our technologies forward. Apache will be a key member of the expert group, as will other folks in the industry who have a vested interest in this.
JDJ: You chose Apache as your reference, so there's going to be no other reference that's offered for servlets. Why not Netscape Enterprise, which is one of your alliance partners, or JWS, which is a Sun core Web
Roth: That's a really good point. In general, I don't think there are many instances of Sun actually licensing commercial products and making a commercial product in a reference implementation. We didn't do it with EJB. We didn't do it with a lot of our technologies. We certainly didn't do it with JNDI. What we're doing is basically taking our implementation and giving it to the community. If we were to take Netscape and their servlet engine, for example, that would pretty much irritate every other vendor. You could say that Apache is a kind of vendor, but it's sort of a new beast. There are really two factors. One, it was our technology going into Apache. Two, based on the market data I've seen, most notably from Netcraft, it's clear who the market leader is. Our goal is to get the stuff ubiquitous, and Netcraft tells me that Apache has at least if you believe the June numbers about a 57.5% market share, at least in terms of Web servers on the Internet. It was clear that this was the right process and the right thing to do.