Managing Transparency, Innovation, and Reliability: A Conversation With Jeff Jackson

   
By Janice J. Heiss, June 2, 2005  
Articles Index

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.

question Where do you see innovation in Java technology?

answer Both technology innovation and Java product innovation happen everywhere. This year, Real-Time Specification for Java (RTSJ) is enhancing the utility of the Java language. For example, Java technology, as it matures, is using real time in an embedded device that allows the Mars rover to employ a Java virtual machine 1 to process data to control live action.

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.

"Here's the next step: How do we actually use all of the available tools to develop code?"
 
 
Jeff Jackson
Vice President of Java Developer Platforms Group at Sun Microsystems
 
 

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

question Is there a Java technology story that doesn't get enough attention?

answer Two come to mind. First, the importance of the JCP and how to participate in it. The openness of the community does not get enough press -- anyone can join and contribute. We need to credit the JCP and foster it, and emphasize how open it really is. Java Specification Requests, Reference Implementations, and compatibility tests are developed to prove that they work. This is unique in the standards industry in which raw standards produce a spec only, and one is left to guess whether it's compliant.

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.

"How do you have something that's as reliable and as enterprise-quality as, for example, the Java SE that we classically call "Java" -- and at the same time, encourage innovation?"
 
 
Jeff Jackson
Vice President of Java Developer Platforms Group at Sun Microsystems
 
 

question What are the key elements in Sun's strategy to make the Java language more popular and developer friendly?

answer That leads us back to innovation. How do you create something that's as reliable and as enterprise-quality as, for example, the Java SE that we classically call "Java" -- and, at the same time, encourage innovation? To do both simultaneously is a challenge. Sun has met the challenge of developing strategies that foster community and encourage innovation, while simultaneously providing a stable, reliable platform on which developers can grow real enterprise applications. It's a fine balance.

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.

question What do you see as the great opportunities for Java developers in the next five years?

answer We've taken the seeds of what we express in both Java EE and Java SE, and have abstracted that into a product called Java Studio Creator to take Java technology to a larger mass that we call corporate developers. A larger number of developers can now productively get an app running fast. The challenge for software engineers in the future is how to service a need quickly and efficiently -- to get an application running, get a problem solved, and move on to the next thing. And that's where I see Java Studio Creator and other ease-of-development extensions taking that next step up, in order to make their jobs easier and more pleasant. We begin with some basic concepts, such as garbage collection, and then make that easy for everyone to use. New tools make the Java platform more productive, leading to faster application development with portable applications and portable developer skills.

Advice to Student Developers

question What inspiration can you give to the roughly 15% of our audience who are students just learning to develop?

answer This hits home to me as I just took my son to the university. JSC is probably the best place to learn about the platform. Of course, there are many ways to learn, depending on your particular focus. For instance, BlueJ is an excellent product for those who are new to object-oriented programming.

If you happen to have a background in programming, the JSC 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 JSC is your first stop shopping for that kind of stuff. Look for the button on the left of the JSC 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.

question Why should developers switch to Java technology for their projects?

answer Numerous inherent features in the Java language make it more productive. And it's not just the language; it's a broad-spectrum environment from devices to heavy-duty servers. Knowing Java technology is a real plus for developers seeking a more marketable career. In terms of getting your job done, it's also quite valuable because of the wide choice of vendors. Developing a portable application is essential. Enterprises want portable apps. They want the choice.

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?

question Some Java developers want one unified developer environment.

answer Being experienced in all areas would require an extremely talented developer. Typically, those of us who are developers wear multiple hats, sometimes two at the same time. We're doing a set of web applications, or we're doing a back-end application or a desktop application, or a cell phone, or a similar device.

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

question What should developers understand about NetBeans IDE?

answer It's a very well-constructed open source environment. It's free, and you can join the community and collaborate. There are two camps -- the camp that would like to help build an IDE, and the camp that needs an IDE that's free to build their application. NetBeans offers both options. You can pick up the binder, look at the documentation, and get started really fast -- no assembly required. Or, you can join the community and contribute to the code. As I said, NetBeans is also a great tool for students.

Transparency With Reliability

question In June of 2004, Sun began experimenting with a transparent development process by releasing early snapshots of J2SE 5.0 software. Now with J2SE 6.0, Sun's taking it further by releasing source code under the simplified Java research license in an open community project. How have developers responded to this?

answer There are two projects, one in J2SE, the other in the J2EE space. J2EE was the first to make it free and available. Developer feedback has been incredible. We want to make the development of the Java platform more transparent, while at the same time preserving compatibility and reliability. Many enterprises, for example, rely on the J2EE platform to run their banking transactions. So the platform must preserve its reliability and integrity as it becomes more open, which is the challenge for Java technology. And it excels here with the specifications, the Reference Implementations and the Technology Compatibility Kits (TCKs).

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.

"There's no simple solution to open source and the Java language."
 
 
Jeff Jackson
Vice President of Java Developer Platforms Group at Sun Microsystems
 
 

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.

question How is build 12 of the next version of J2SE 6.0 source code going?

answer We're surprised at how well it's going. We expected more negative comments to exposed source code, but it's been a very positive experience for the entire development team. Open source means different things to different people. Thus, when we began the project inside of Sun, we received a mixed reception. There's no simple solution to open source and the Java language. It goes way beyond Sun. All the JCP partners along with the end user are stakeholders.

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.

Rate and Review
Tell us what you think of the content of this page.
Excellent   Good   Fair   Poor  
Comments:
Your email address (no reply is possible without an address):
Sun Privacy Policy

Note: We are not able to respond to all submitted comments.