The Artima Developer Community
Sponsored Link

Java Community News
CodeGear's JBuilder 8 Offers Application Factories

0 replies on 1 page.

Welcome Guest
  Sign In

Go back to the topic listing  Back to Topic List Click to reply to this topic  Reply to this Topic Click to search messages in this forum  Search Forum Click for a threaded view of the topic  Threaded View   
Previous Topic   Next Topic
Flat View: This topic has 0 replies on 1 page
Frank Sommers

Posts: 2642
Nickname: fsommers
Registered: Jan, 2002

CodeGear's JBuilder 8 Offers Application Factories Posted: Apr 4, 2008 4:43 PM
Reply to this message Reply
CodeGear, Borland's developer-focused division, released JBuilder 8. The latest version of the Eclipse-based IDE offers support for application factories, a concept CodeGear's Jeff Anders describes in an interview with Artima.

JBuilder 8 is the latest version of the venerable Java IDE, now being developed at CodeGear, Borland's developer-focused offshoot. The product was released to coincide with last week's ServerSide Java Symposium. JBuilder 8 comes in enterprise, professional, and "turbo" editions.

Based on the Eclipse 3.3 platform, JBuilder's distinguishing features aim to assist enterprise application development for large teams. It has, for example, a built-in collaborative environment supporting code reviews, several integrated code quality-assurance features, and a Java profiler.

JBuilder 8 also introduces a new Swing designer. According to David Intersimone, Code Gear's VP and chief evangelist, "enterprises have a ton of Swing UI code, and they want to maintain that code and update it to the use the latest Java and Swing features. This tool helps to automatically migrate Swing code, and also to create new Swing UIs very easily."

Among the more interesting JBuilder 8 features is what CodeGear calls "application factories." At the 2008 EclipseCon developer conference, Artima spoke with Jeff Anders, CodeGear senior director of product marking, about that concept:

Developers, especially those new to a technology or a tool, like to learn from examples... In fact, it is not unusual for a larger application to start out as enhancements, modifications, to a set of examples, or some prototype application, provided either open-source or as part of a framework or a tool... An example is how the Rails framework allows you to quickly generate a scaffolding for a working, basic Rails application that you can then modify to your requirements... Scaffolding is not unique to Rails, however... And in some environments, prototypes or examples offer similar benefits.

In addition, many organizations build similar kinds of applications all the time: enterprise portals, reporting applications, order-entry, and so on. These applications share many similarities—certainly, more than just a framework, APIs, or languages used. Creating a new instance of an application that has already been constructed to a great extent for another project, that may involve code reuse in the sense of actually copying another substantially similar codebase and making changes to that code to suit a particular need...

Such modifications, or coding-by-example, have traditionally been looked upon as a less than desirable way to build software. Yet, that has proven an effective way, and something actually practiced in the field... Examples, or scaffoldings, the good ones, have the advantage that they codify what might be best development practices for an API, tool, or framework...

Modifications can be as simple as changing the title page text, making changes to the style or to the layout of Web pages, adding or removing fields, or adding some functionality not present in the source application.

What we are doing with Application Factories is to provide you a way to track the change you're making to an application as it evolves. We abstract those changes away from the main codebase, and describe them in an application and programming language-neutral way.

You can then, if you wish, take the metadata reflecting the changes you made to some core application, and apply [that metadata] to another instance of the core application, perhaps making further, or different, modifications. You can save those modifications as well.

And that gives you a nice way to see exactly what you changed, to revert or further modify your changes, and, most important, to share your changes with others...

This is different from a version control system, because we're talking about tracking changes independent of the underlying source files. For instance, we can describe in a precise way that you changed the title text displayed on a page. The metadata encapsulating that change can then be used independent of the source code, and even exchanged across the organization.

This will lead, over time, to a very rapid way to construct sophisticated applications. This sort of abstraction is higher-level than what most frameworks currently provide, and directly address functionality provided by an application. That higher abstraction level also makes that code-reuse occur at a higher-grained level, too.

What do you think of the idea of "application factories?"

Topic: Adobe Releases Early Versions of AIR, Flex for Linux Previous Topic   Next Topic Topic: The Eclipse Graphical Modeling Framework

Sponsored Links


Copyright © 1996-2017 Artima, Inc. All Rights Reserved. - Privacy Policy - Terms of Use - Advertise with Us