Browse by year:
June - 2008 - issue > Technology
JBuilder 2008Focusing on code reuse
Jayakishore Bayadi
Friday, May 30, 2008
Say, you are building a house and struggling to visualize the interior of it. The cost may pinch if you go to a designer. What can be done? You may visit your friend’s house and try to bring some of the design aspects of his house to your house and adapt the same according to your requirement and suitability. In essence, you’ve saved lot of money, time and energy, which otherwise you would have put to design your interior.

Now, apply the same analogy to software development. Every time a new software or application is developed one need not have to begin it from scratch. Already there are trillions of codes available that were used to develop millions of software and applications. Why can’t we use them while developing new software?

CodeGear, a subsidiary of Borland Software, has come up with a concept that is similar to this. With its newly released JBuilder 2008, the company claims that it has added a methodology and tools called “Application Factories” for simplifying code development to its flagship integrated development environment (IDE).

“Application Factories is a fresh method to help Java developers to better navigate the range of complex framework choices, open source, internal code, and deregulated technology standards available for reuse in order to deliver quality solutions quickly,” states Ravi Kumar, Principal Architect, CodeGear.

Application Factories fosters reusable developer intelligence that can make developers more productive and speed up projects, especially among fluid, globally distributed teams. David Intersimone, VP, Developer Relations and Chief Evangelist, CodeGear, says, “What we have to look at is the ways in which we can reuse components or modules to save the developers having to write from scratch. What we’ve done is that we have packaged that ability into a single repository so that developers are presented with views of all modules that are available.”

The idea of Jbuilder 2008, which CodeGear asserts as ‘a major leap in development paradigm’, came when they were working on some open source projects. They found the developers struggling with huge volume of codes available out there. “There was no assistance available to developers to capture the appropriate codes from the archives and share them with the whole team sitting in various development centers across the globe. When we noticed that, an idea flickered,” recalls Kumar.

The concept also includes a new approach to organizing and navigating application code, using diagrams and even a fashionable tag cloud instead of rooting through folders.

“We’re trying to shift to an application-driven paradigm, by overlaying a bunch of metadata on top of the existing structure,” notes Kumar. Many applications today begin with a whiteboard sketch showing the basic architecture. But here the idea is to preserve that high level view in the IDE, so that even the new team members can quickly understand and navigate the code.

In JBuilder’s Application Factories, reusable code is delivered in the form of modules, which both contain code and capture knowledge about its purpose and design. Thus developers can choose from a collection of modules which are stored in a metadata repository to create their applications, or if necessary create their own application modules which they can store in the same repository for future reuse. “JBuilder lets you preview a new project and then click Create Application to generate the code,” points out Intersimone. The output includes the metadata as well as the code, thus enabling the new navigation tools.

Microsoft unveiled ‘Software Factories’, which embraced the ‘reuse’ concept, when it launched Visual Studio way back in 2005. So, how is ‘Application Factories’ different from Software Factories?

In the case of Application factories, the information about how and why an application was created is captured. Developers can attach scripts and tags. According to an analyst, “Software Factories encapsulates patterns of usage and reuse at the source code level, whereas Application Factories captures patterns about how the development tool itself is used.” But, it is yet to be seen whether the company’s effort to give JBuilder a lift in a commoditized market will bear fruits or not.

Share on LinkedIn