The benefits of application development
frameworks now coming of age
First Published in Front
Range TechBiz on 27 December 2001
By Peter Barzen
It has been said that if the construction industry built buildings
like the software industry built systems, the first woodpecker to
come along would destroy civilization as we know it.
The analogy has some merit, as software often is created without
a supporting infrastructure or a solid foundation.
Application development frameworks (ADF) are not new to the IT
industry. They have been around for decades but are finally coming
of age. This is evident by the recent shift from the traditional
forms-based approach to an object-oriented model, which is largely
driven by the need to use new languages and tools to satisfy Internet
So what is an ADF? If you ask a dozen people, I expect youll
get a dozen different answers, including the occasional XP (Extreme
Programming) tag. One common theme would be that it provides a much
faster delivery of a robust, extensible application.
There are many types of frameworks. Horizontal or system-level
frameworks service areas such as screen painting, networks, interfacing,
security etc. There are also frameworks to serve vertical industries
such as insurance, finance and medical. The ADF is atop the framework
ADFs provide common application architecture for the delivery of
software solutions. Should the framework also provide a library
or repository of components, then applications can be assembled
as opposed to developed, providing the combined benefits of packaged
software and custom delivery. It can make a 100 percent match to
the requirements, with lower risk, lower cost and faster delivery.
Object-oriented framework is the merging of data and behavior into
re-usable components. It is like smashing software applications
into small pieces that you can put back together in any order even
if the pieces werent initially intended to go together. It
is similar to assembling Lego blocks. An individual Lego block could
be used in the side of a building, the deck of a ship, the wing
of a plane or the door of a car.
Object-oriented methodology provides enormous run-time flexibility,
reduced time to delivery, enhanced software quality, reduced maintenance
costs, interfacing and integration, cost-effective development and
However, a poorly planned object-oriented system will fail to achieve
these promised benefits. Unlike using a 3gl or 4gl, with which you
could just start generating code on day one (you people start
coding and Ill go find out what the requirements are.)
With object-oriented systems, you need to have a design or blueprint
to start with.
So where does an ADF fit?
A framework provides the benefits of object-oriented systems without
the complexity or risks of coding them. A framework should automate
the repeatable, manage change and provide an architecture for delivery.
It is the infrastructure or foundation on which you build your applications
and realize the benefits of object-oriented systems. A framework
also provides a discipline and methodology for delivery.
An ADF, as opposed to a horizontal or vertical framework, should
provide these facilities at all layers of the application, including
presentation, business logic, database, deployment and synchronization.
This is a tall order. To achieve the true benefits of object orientation,
the framework should in part be attribute driven, often referred
to as a black box framework. If its not, then its not
much more than a sophisticated code generator.
Code generators simply create more of the same development and
maintenance nightmares that were trying to avoid. Y2K for
object-oriented-based systems, at least in theory and for some in
practice, amounted to a one-class change.
Attributes drive the application. For an ADF, that would include
all the layers previously mentioned. Attributes are usually in the
form of data or parameters. Take Mapquest, for example. If Map-quest
was not attribute driven, then it would need to have a library of
maps to accommodate every trip ever conceived, not just for you,
but also for every user of Mapquest. Since Mapquest is attribute
driven, you simply provide the attributes of start location and
finish location, and the map is produced. Its a single abstract
component, delivering all possible concrete results.
So what is the benefit of using an ADF?
After completing the requirements definition for a base transaction
processing system, a seasoned IT professional provided a 40 person-day
estimate to deliver the solution, using a traditional coded forms-based
approach. Another provided a seven-day estimate using an object-oriented
approach. A third suggested that it should be achievable in just
30 minutes using an ADF.
To conclude, object-oriented systems are assembled rather than
developed, and deliver lower-risk, lower-cost and rapid-application
Peter Barzen is executive vice president and general manager
of Prophecy Americas, a provider of application development frameworks
in Greenwood Village.
He can be reached at firstname.lastname@example.org.