Jeff Jackson, Vice President of Java Developer Platforms Group at Sun Microsystems, has a long and impressive history working with the Java language, going back to 1996. He has served as Vice President of Engineering for Java 2 Platform, Enterprise Edition (J2EE), where he ran the J2EE group from start to finish, and has contributed to the original Java Development Kit (JDK) and Enterprise JavaBeans technology. We met with him to explore the challenges of keeping Java technology open, innovative, and reliable.
Another interesting area is collaboration. The Java Studio Enterprise environment allows developers to collaborate and share code across the network and watch each other's edits, clip backs, and discussions. That's a huge step forward. Four developers can sit in St. Louis and San Francisco and look at the same piece of code while one edits and the other three comment, and they share the code back-and-forth. And it's all tagged and real code. This collaboration results from a product innovation built on Java technology that puts the power of the network at the developer's fingertips, and enables instant interaction among global development teams.
Collaborative growth is essential to developing software in a global economy in which developers are dispersed. In the initial phase, the Java language track involved friends and family. Next came the Java Community Process (JCP) 1.0 version, and then 2.0, and so on, and open source at the same time, with Tomcat, Jakarta, and more. As Java technology matures, innovations in collaboration expand. Here's the next step: How do we actually use all of the available tools to develop code? As the language has evolved, it has become easier to develop on the Java platform because of the additions we've made to both J2EE and Java 2 Platform, Standard Edition (Java SE 6.0). We're building new features on the proven NetBeans platform, which, as the longest running open source tool development effort, has built a solid foundation for innovation. Collaboration is an innovation introduced in Java Studio Enterprise that will migrate to other tools as we move forward. The integration of key Java technologies in Sun's new tool offerings -- JavaServer Faces in Creator for example -- shows how Sun is taking the lead in introducing powerful new products. Creator also incorporates features like InSynch -- the visual editing that generates much of the basic application framework in 100% standard Java code. We're supporting a division of labor based on skill sets, for example, Java Studio Enterprise for architects and back-end infrastructure engineers, and Java Studio Creator for corporate developers who need to quickly build web interfaces that consume data and web services. The Importance of the Java Community Process
The compatibility issue also doesn't get enough play. It's not only Sun that wants compatibility. It's the end users -- companies that are implementing the applications -- who are demanding the right to choose. They want portable applications that they can run on any platform. Enterprise e-managers want applications to be compatible and portable, and when they use extensions that are not, they want it to be their choice, and no one else's.
We've also currently engaged in kicking in the second part of the strategy -- building great tools based on our Java technology expertise that provide developer productivity in creating Java software as their primary benefit. This includes features like collaboration and Unified Modeling Language (UML) modeling in Java Studio Enterprise, visual Java development in Java Studio Creator, and support for the latest Java language standards such as Java SE 5.0 in the NetBeans IDE.
Advice to Student Developers
If you happen to have a background in programming, the java.sun.com tutorials are a good place to start for basic Java technology. And then, you can go from the basic Java tutorial to the J2EE tutorial, if you choose to go into enterprise programming. So, I'd say that java.sun.com is your first stop shopping for that kind of stuff. Look for the button on the left of the java.sun.com front page that says "New to Java Center". To students I say: Don't be bashful about asking questions. Everybody in the community is always learning. So get on the forums, ask questions, and join java.net. And, if you're interested in IDE-like tools, rather than the base Java Development Kit, then join netbeans.org and download it. NetBeans is an open-source IDE that you can use to build your applet. The NetBeans IDE is not only meant to be used by advanced developers, but, especially with recent additions, it is particularly useful to students who wish to learn about J2EE and web services technologies. NetBeans also reminds us of what students can accomplish. NetBeans started as a student project in the Czech Republic, in 1996. The goal was to write a Delphi-like Java IDE in the Java language. A company was formed around this project, called NetBeans.
The deployment opportunities in Java are greater than with competitive technologies and platforms. Sun's success in driving Java standards ensures that developers have a rich variety of deployment environments, including the Sun Java Application Server 8.0, Platform Edition included in Creator and the Java Enterprise System included with Java Studio Enterprise. A Unified Developer Environment?
Where I see Java technology going, here at Sun, is providing developers with an environment in which they can make choices about the best way to do an application. We're not quite there yet, but developers can see how rich the environment is. NetBeans IDE
Transparency With Reliability
The community wanted to see the code early on. Previously, you had to be licensed for this. Now, it's open to everyone. Take a look at it, play with it, touch it, and contribute to it. Still, we have to be very careful to preserve reliability.
The Peabody project on java.net is our latest effort to open the door wider for community participation. By making source code for Java SE 6 available to developers at large, we're giving the community the ability to actively work on features, fix bugs, and otherwise participate in Java platform development with standards.
Some want to see the source code. Others want to be involved in the actual specifications to the JCP, but they don't necessarily want to be involved in the coding; while others want to be involved in the coding. We don't yet have a community that's involved in compatibility testing -- it would be interesting to have the community join in to help us prove compatibility. Sun carries the load on this. We're working on this one chunk at a time, to do the right thing for the whole community. Special thanks to Jim Inscore, Senior Program Manager, Developer Content, Sun Microsystems, for his contributions to this interview. See Also
1 As used on this web site, the terms "Java virtual machine" or "JVM" mean a virtual machine for the Java platform. |
| |||||||||||||||||||||||
|
| ||||||||||||