RAD with Java

2007-10-26

When you think of Java, you probably think of object-oriented programming, virtual machines, and enterprise development. Most likely you won’t think of rapid application development (RAD). Traditionally, the term RAD is associated with “entry level” development tools, such as Visual Basic, whereas Java is associated with “serious programming”. This is the conventional view, but one may ask whether this view is still valid. During the past few years, RAD programming tools have matured while professional high-end tools have become easier to use. The development environment dubbed “Java Studio Creator” from Sun Microsystems is a case in point.

The Java Studio Creator (JSC) is an integrated development environment (IDE) for building web applications based on the Java Server Pages (JSP) and Java Server Faces (JSF) technologies. The IDE resembles Visual Studio 2005 and this similarity is probably no coincidence. Sun wants to attract cross-over and entry level developers to the Java world with this product. When looking at the opening screen, Visual Studio developers will feel right at home. The IDE is built on top of Netbeans, Sun’s own IDE and development platform. It offers a streamlined environment for the development of production-quality Java web applications and portlets (pluggable web-based user interface components). Applications can be built easily by drawing user interface pages in a visual editor, filling in the Java code for event handlers, and connecting the navigation elements on different pages. The IDE can be downloaded at no cost at http://developers.sun.com/jscreator/downloads/.

It seems that Java just doesn’t get easier. Creating a simple application with two or three pages containing master/slave tables, search, and create/read/update/delete (CRUD) functionality only takes a few hours. The work process is very similar to creating a desktop application with a visual GUI builder, such as Delphi, Visual Basic, or Sun’s own Matisse. Data-aware components can be bound to database columns, Java bean properties, or EJBs. The level of productivity is comparable to the mentioned RAD tools. It comes close to, or even surpasses the productivity of popular dynamically typed web development languages. Java Studio Creator automatically generates JSP and Java skeleton code. It offers SOA and Web Services integration, Ajax components, and single-click build and deployment. JSC comes bundled with Apache Derby and Sun’s own application server. It supports third-party application servers, as well as any database with a JDBC driver.

The JSC user interface is designed with high-resolution monitors in mind. The main window in the middle can be switched between WYSIWYG visual editing and JSP/Java cod editing. Changes in the visual editor are immediately reflected in the code editors and vice versa. The palette window in the upper left corner contains JSF components that can be dropped into the visual editor. The server window provides access to server resources, such as EJBs, web services, data sources, and databases. The outline view in the lower left corner presents a hierarchical view of the application objects, whereas the navigation view shows the members of the active Java class. The property editor in the upper right corner allows customisation of components in Delphi/VB style. The project and file windows in the lower right corner display the hierarchical structure of the “physical” parts of the application, such as directories, files, beans, packages, libraries, etc. Finally, the refactoring and output windows show program output and the results of code refactoring operations.

Thanks to the excellent tutorials available from Sun at http://developers.sun.com/jscreator/learning/tutorials/2/index.jsp, it took me only a few late night sessions to get acquainted with the IDE. Within a week I was able to create a database-driven multi-page web application with form verification, EJB access, and an attractive Ajax user interface. I reckon that this could even be done by a developer who is not familiar with JSP and JSF, because these technologies are hidden away by the IDE and require no coding effort. The only requirement is some familiarity with the Java language. Hence, JSC may be interesting not only for Visual Studio enthusiasts, but also for experienced Java programmers who are new to web programming. Its learning curve is considerably flatter than those of traditional Java web frameworks, such as Struts, Tapestry & Co. The Java Studio Creator’s current version is “2 Update 1”. This may also be its last version, because the JSC product is now in the process of fusing with the mainstream Netbeans IDE. The current Netbeans version (http://www.netbeans.org) installed together with the Visual Web Pack offers an almost identical functionality and look.