JBuilder 2007 is out and it's very different from the previous versions. See what is does and does not offer and who should use it.
In this article, I will look at the new version of Borland JBuilder 2007, an award-winning Java Integrated Development Environment (IDE) product that underwent a radical change with this new release. I will discuss new features and plug-ins and compare this new version with the previous JBuilder releases and with the free Eclipse WTP platform.
Many changes happened to both JBuilder and Borland since it released JBuilder 2006 in 2005. In 2006, Borland announced reorganization, as the result of which a subsidiary called CodeGear was formed. This new entity continued development and support of Borland development tools, whereas Borland solely focused on ALM (Application Lifecycle Management) solutions for the enterprise. As of this writing, revenue for ALM products and services for the third quarter of 2007 was $47.4 million and CodeGear (IDE) products and services revenue was $12.5 million. Therefore, this restructuring seems to have been a correct decision on the part of Borland's management.
The Past and Present of JBuilder
All the previous versions of JBuilder starting from 3.5 to X (and 2006) were written purely in Java and used a proprietary framework. Around 1999, JBuilder surpassed other existing IDEs on the market, such as VisualCafe, and became one of the best IDEs for Java development.
Click here for a larger image.
Figure 1: JBuilder 2006
However, after the Eclipse project was donated to the open source community in 2001, it started to rapidly gain popularity among Java developers, partly because it was free and partly because of its modular structure that allowed for other plug-ins to be easily developed and added. By 2005, Eclipse (and IDEs based on it such as MyEclipse, IBM RAD aka WSAD, and others) dominated the Java development community with about 65% of the market share.
Therefore, in 2006 Borland decided to rewrite JBuilder. Keeping the most important components, the core framework was switched to the Eclipse SDK and new plug-ins were added to accommodate new technologies such as EJB, ULM, Hibernate, Spring, and other enterprise Java development needs.
JBuilder 2007 was released with the following editions: Turbo, Developer, Professional, and Enterprise. Add-ons in JBuilder 2006 such as OptimizeIt, Profiler, and Code Coverage are now a standard part of JBuilder 2007. Turbo JBuilder 2007 is free, and provides the fundamental Eclipse development environment. JBuilder 2007 Enterprise Edition is the flagship product that has a complete collaborative development environment with graphical Rapid Application Development (RAD) tools, and graphical Web Services and EJB wizards. It is rumored that the intial porting of JBuilder to Eclipse was done by the Russian team that developed EJB Workbench and the UML LiveSource environments.
The Good, the Bad, and the New Features
JBuilder 2007 is definitely a revolutionary change for the product; it does not look anything like the previous version, and most of the main features have been ported to work on the Eclipse platform. For a developer used to Eclipse SDK, the transition should be smooth and the learning curve minimal.
The tool included many innovative features for RAD development such as new—EJB Workbench—graphical environment for EJB and EJB 3 development. Updated Web Services wizards, which allow developers to create robust services with little effort, are included in the visual environment. The new Design pattern wizard includes hundreds of patterns that can be generated and incorporated in the project without a lot of work. The new UML modeling (LiveSource) environment also has innovative features such as synchronization of the code between the graphical presentation and the corresponding source. Both are updated dynamically whenever the source or the graphics change.
Click here for a larger image.
Figure 2: JBuilder 2007–LiveSource environment
Two new modules, EJB Workbench and UML LiveSource visual design tools, are the two features that set JBuilder 2007 apart from the other Eclipse SDK-based IDEs. The other modules ported from previous JBuilder such as debugging tools—OptimizeIt, Profiler, and Code Coverage—also differentiate this product. The new IDE offers all of the necessary features for enterprise development with the support by "a trusted, turnkey solution provider."
However, because this is the first version of JBuilder build on top of Eclipse SDK, there are many deficiencies that still need to be polished out by CodeGear before this IDE can rise to the top of Eclipse-based offerings. The most noticeable shortcoming is the speed. The new JBuilder IDE starts a lot slower and is very sluggish compared with its predecessors (and even Eclipse SDK). It seems that the hardware requirements are also higher to run this product smoothly.
On the enterprise development side, previous JBuilder versions had very tight integration with BEA WebLogic products (similarly as IBM RAD or WSAD products have tight integration with IBM WebSphere), and starting, stopping, and deploying the web application to WebLogic were rudimentary tasks. The new offering tried to accommodate all major enterprise application servers, including WebLogic, WebSphere, JBoss, and Tomcat. But, by doing so, tasks such as deploying apps from JBuilder have fewer features and are not as easy as before. For example, the option to deploy as an exploded achieve for WebLogic is gone, as are specific WebLogic deployment instructions.
The option to develop web services using WebLogic Web services toolkit is also gone and only the Axis toolkit remains.
One of the reviews of JBuilder 2005 mentioned an old joke in which a man is seen coming from a conservation area with a hefty catch of fish. After noticing the proficiency of the fisherman when others had come back empty-handed, a park ranger decides to tag along with him. When they get to a specific location, the fisherman lights a stick of dynamite and throws it in the water, retrieving a huge quantity of fish. While the ranger begins to explain the illegal nature of the fisherman's actions, the man lights another stick, hands it to the ranger, and says, "Do you want to talk? ... or do you want to fish?"
The previous versions of JBuilder seem to ask a similar question, "Do you want to play with your IDE? ... or do you want to code?" And unfortunately, JBuilder 2007 now also focused more on the play side of the development environment.
The current standalone Eclipse SDK does not offer many support features that enterprise developers are used to, such as integration with application servers or UML modeling. However, all of these (and many more) features are available as plug-ins for Eclipse from the open source community or commercial vendors.
Click here for a larger image.
Figure 3: Eclipse SDK 3.x
For example, the free Eclipse Web Tools Platform (WTP) Project includes source and graphical editors, wizards, and built-in applications to simplify development, and deployment to all major application servers. Currently, WTP also performs much faster than JBuilder 2007 and has comparable features, but if JBuilder 2007 is refined it has the potential to offer much more to the enterprise developers.
The Future of JBuilder
Based on CodeGear's press release, the JBuilder roadmap includes improvements to RAD web development. It also promises a "better way to develop, assemble, orchestrate, and deploy SOA applications through a single tooling environment," as well as better support for new versions of other Open Source community offerings such as Spring, Hibernate, and Shale.
New standards and Java frameworks also areexpected to be supported, and tighter integration with Application Lifecycle Management (ALM) products from Borland and others are likely.
In this article, I have looked at the new version of JBuilder 2007. I have described what is new and old in the product and compared it with the other IDEs such as Eclipse. As I mentioned, the most profound change is that now JBuilder 2007 is built on the open source Eclipse platform. Overall, this is a huge change from the previous tool, and being the first release on the new platform, it does not seem like a completely polished product. It has many shortcomings that need to be fixed before it will truly compete with other enterprise IDEs (including JBuilder 2006) currently on the market. However, if you are used to Eclipse SDK, now may be the time to give JBuilder a fresh look.
About the Author
Vlad Kofman works on enterprise-scale projects for the major Wall Street firms. He has also worked on defense contracts for the U.S. government. His main interests are object-oriented programming methodologies, UI, and design patterns.