Interview with NetBeans Contributor Edson Richter
Why did you choose NetBeans as your tool for web application development?
I've been using NetBeans since before it was NetBeans... due to its high flexibility and ease of learning, allied to its well integrated modules (also known as plugins). The choice is obvious. From time to time I try other IDEs, mainly to learn new ways of doing things, but NetBeans is always (at least) one step ahead of other products.
You migrated your applications from using JSP/Servlet technologies to using the Java Persistence API with JSF. What obstacles did you find?
Well, I think Java Persistence API (JPA) and JSF are relatively new, so there is a long way to get the same flexibility that we have with JSP/Servlet technologies. But my vision is that these technologies are complementary. An example is when integrating other technologies (like .Net), where unfortunately SOAP still doesn't help much. I expect this to change fast, when WSIT establishes itself. Meanwhile, we still maintain a proprietary XML protocol with message exchange based on Servlets, which just works. This allow us to advance using WinCE devices, J2ME phones and App Servers communicating with each other, using only one code base. But we are looking closely at the advances made with web wervices, especially the new features on Mustang and Sun App Server 9 (Glassfish). The latter is our platform of choice for new deployments, and our older ones will be migrated soon.
You are a web applications expert, so what is your opinion on how web applications will evolve in the future?
I have a vision where users—either people who work for companies, customers or suppliers—will act with systems as if they (the programs) were just other people in the workflow. And I foresee that we will have systems talking to other systems automatically, without much human interaction. I don't expect "expert systems", using artificial intelligence, for a long while, though.
You wrote a JDBCRealm for GlassFish. Do you use it in any production systems?
Since we had a demand for this kind of authentication, I wrote this realm, and we are using it. When an official one comes out, we may migrate to it, because it will probably have many more features than the one I developed. But until then, mine is working like a charm, is available today, and I'm providing support for it. Thanks to the structured nature of Glassfish, and the availability of its documentation, it was a relatively easy task to accomplish. I'm getting curious to see what more is possible to develop and integrate into Glassfish in the near future!
Have you already used Java EE 5 in a real project? What are your feelings about it?
Since our projects focus on the web area, and because our team is very small, all our work is based on JSP/Servlets/JSF/XML and now also JPA. I think Java EE 5 is a real advance over J2EE 1.4. To give you an idea, it took only two hours after I finished reading the final JPA specs to migrate everything from Hibernate (which is old and XML-based) to Toplink Essentials (also known as the reference implementation and based on annotations), and work with resource injection instead. I think I could take similar decisions in the future, when appropriate, migrating some Servlet code into Session Beans. This is one "hidden" advantage of Java... working in layers makes technology updates so easy!
You are a very active member of NetBeans community and a very significant participant in the NetCAT 5.5 program. What is your motivation for being such a great contributor?
Well, like I told one of the NetBeans engineers, if I was a carpenter, NetBeans would be my hammer! If I can contribute to getting a better hammer, my work will be more efficient and bring better results. Helping people is something I've always loved. I'm always teaching and learning with my employees and colleagues. The better educated Java developers are, the wider will be the acceptance of the technology.
I sometimes hear people say things like: "Java is bad: hard to learn and needs too much coding". And so on. I think these are lies that are told just because people don't want to learn Java! I'm trying to change this myth, and give people a better vision... a vision about how fast Java is evolving, how much it has already evolved, and how powerful and secure it is.
What do you like most about NetBeans and what least?
NetBeans is very robust and well integrated, thanks to its modules. What drives me crazy is the NetBeans editor, but it is being refactored, and I expect a lot of improvement in NetBeans 6. In one company we maintain 575000 lines of code, so there the editor is driven to stress levels when changes are needed! There are other exciting features I expect to be integrated in NetBeans in the short-to-medium timeframe, but I'm just speculating, since I haven't heard anything official yet.
If there were one or two things we should definitely improve in NetBeans, what would they be?
Well, something that is definitively needed is visual page designer in the web area. We already have visual mobility development and a visual forms designer for J2SE. A visual JSP editor is a must have. There are good WYSIWYG page designers, but none is able to work really well. I'm looking forward to being able to do visual design in web pages in NetBeans IDE itself. However, what is great is that NetBeans is the only tool tuned to the very latest specs!
Thanks Edson and please continue having fun with NetBeans IDE!