<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <title>Interview with NetBeans Contributor Edson Richter</title>
    <meta name="description"
    value="Edson Richter, frequent contributor to NetBeans, in conversation
    about his work, responsibilities, predictions and usage of NetBeans.">
    <link rel="stylesheet" href="https://netbeans.org/netbeans.css">
    <meta name="author" content="Geertjan Wielenga">
    </head>
    <body>
    <h1>Interview with NetBeans Contributor Edson Richter</h1>
    
    <p><TABLE><tr>
            <td><a href="http://jroller.com/page/brviking"><img 
            src="../../../images_www/articles/edson_richter.png" align="right" border="0"></a></td>
            <td width="10">&nbsp;</td>
            <td><p>Edson Carlos Ericksson Richter lives in the state of Rio Grande do Sul, in Brazil. 
                    He tells us that he lives about 60 km from the state capital, Porto Alegre.
                    He works for a startup company, mostly on development of a new kind of CRM system, using an adaptive technology 
                    where the system is able to <i>"almost"</i> learn characteristics of the products and customers. 
                    His responsibility in this project 
            is "choosing the technologies, directing efforts, and coordinating resources".</p></td>
        </tr>
    </TABLE></P>
    
    
    
    
    <p><h3>Why did you choose NetBeans as your tool for web application development?</h3>
    <p>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.
    
    <p><h3>You migrated your applications from using JSP/Servlet technologies to using the Java Persistence API with JSF. What obstacles did you find?</h3>
    <p>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.
    
    <p><h3>You are a web applications expert, so what is your opinion on how web applications will evolve in the future?</h3>
    <p>I have a vision where users&#8212;either people who work for companies, customers or suppliers&#8212;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.
    
    
    <p><h3>You wrote a JDBCRealm for GlassFish. Do you use it in any production systems?</h3>
    <p>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!
    
    <p><h3>Have you already used Java EE 5 in a real project? What are your feelings about it?</h3>
    <p>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!
    
    <p><h3>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?</h3>
    
    <p>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.
    <p>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.
    
    <p><h3>What do you like most about NetBeans and what least?</h3>
    <p>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.
    
    <p><h3>If there were one or two things we should definitely improve in NetBeans, what would they be?</h3>
    <p>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!
    
    <p><h3>Thanks Edson and please continue having fun with NetBeans IDE!</h3>
    
    
    
    <p>
    <hr>
    <p>
    
    <!-- ======================================================================================== -->
    
    
    
    </tbody>
    </table>
    </body>
</html>
