CRN: What is Sun doing in the near term to unify development across J2EE, J2SE and J2ME?
Fowler: The number-one thing in the near term is to really make it possible to develop Web services across all of the Java community.
Today, Web services is really about developing for the server. What it means to developers is[that] any set of systems services that you make a Web service you [will be able] to access by any kind of device with a highly interactive client, not just a browser. That's the obvious near term. You can already do that to some extent today, but what we're really doing is raising the level,how do tools support it, is it WS-I Basic Profile compatible, will it interoperate with anything including Microsoft .NET etc. I think that's a big near-term step.
There are smaller steps around that. When you look at, for example, mobility, we're making it much, much clearer for developers to understand what is the exact Java capabilities around the device, so the tools can express that. Today there are hundreds of millions of mobile devices, but you do have to know a bit about what each device is capable of doing in order to approach it as a developer. There have been quite a lot of Java Specification Requests[JSR] to try to accommodate the vast range of technology. So JSR 185 [also known as Java Technology for the Wireless Industry, or JTWI] is basically taking a subset of this and saying in the mobile and wireless world, this is the minimum-level capability every phone will have, down to the free-with-your-subscription-level phone. So there's no ambiguity if you're a developer and you're targeting wireless.
We're finalizing [JSR 185] on June 25th. The handset manufacturers are in the process of endorsing it. We expect volume shipments,multiple handset manufacturers that are compliant with this,this winter, around Christmastime, December [or] January.
CRN: You mentioned wireless standards. How is that related to J2SE and J2EE?
Fowler: For example, JTWI includes JSR 127, which is [the] Web services for mobile [standard]. So the relationship there is, on every handset or client, you can do Web services that connect to the desktop or back end].
CRN: So when you talk about unifying the platform, you're talking primarily about unifying it for Web services?
Fowler: Yes. Obviously, the language is always the same. The programming APIs vary depending on the depth of the platform. So obviously there's some J2EE stuff to run an app server container, you're not going to have that on a device.
CRN: Can you mention some other JSRs or new technologies that will contribute to the unification of the Java standards?
Fowler: There are a lot of them. We're working on some JSRs around graphics that are actually not submitted yet, some JSRs around OpenGL that will allow us to extend graphics both to the mobile and the desktop space. If you want to write more graphically intense applications, you can develop to a single API. On java.net [Sun's new Java community site], Sun contributed Java on OpenGL [to open source]. Now we're making sure we get the standards together to develop highly graphically intense applications using the same API on any range of devices. That would be another example of unification.
Another example is a project called Java Desktop Network Components [JDNC] on Java.net, which is about being able to develop highly graphical Swing applications that talk directly to Web services. [Ed. note: Swing is a subset of Java used to develop interfaces]. In the case of a Swing application, you need to know a lot about Web services to actually build that. So JDNC is intended to make it very easy to develop graphical applications using Swing that talk directly to Web services. [Sun is] talking about it this week and will be making it available later this summer.
CRN: There's been a lot of talk about Java at the mobile and desktop level. What about the enterprise?
Fowler: What's next for J2EE 1.5 is we're going to use language features, like metadata and generics,to make it much simpler to develop J2EE applications, and make it much more possible to develop rich tools.
CRN: How will metadata simplify J2EE development?
Fowler: It lets you create portions of Java code that are reused in places that are effectively invisible. You can take a whole bunch of complex Java code and hide it behind the templates so that what people see is a very simple expression of what they want to do.
The way this will work is a very sophisticated developer in a shop may create metadata that is then used by other people in the shop. We will use [metadata] to make the platform itself more simple, and the tools vendors will use it to be able to express the tools better.
That's going to be a really important portion of J2EE 1.5. This will open up to people who don't know the language as well; it's a basic developer productivity enhancement. J2EE 1.5 is going to be big news because it will look quite different [than 1.4].
