RAD Grows Up
'Every integrator has 'em--clients who are way too detail-oriented.
A favorite story of mine is about an incredibly
intelligent CEO named Maurice who is based in Brussels, Belgium. He's always
knowledgeable about his business and keenly interested in the software being
developed for it.
For a while Maurice was obsessed over user interfaces.
Every morning he'd come up with an exciting new insight. And every morning at
around 9:00 his time (approximately 3:00 A.M. my time) Maurice would telephone
me to say something like, "The alerts on the screen. They must be r-r-red,"
or, "That icon for the honeybee has one too few black stripes."
One predawn morning, frustrated and sleep deprived, I
answered without a hello. "Maurice!" I yelled. "User interface is easy! There
are tools that do it for us. Let's sweat the hard stuff!".
I hung up and went back to sleep. The early-morning phone
calls stopped. We finished the product; the alerts were red and the honeybees
had the right number of stripes. More important, I was able to focus on the
job of reading data from Maurice's central phone switch and processing gazillions
of transactions per second in real time--not easy in those days of two-dimensional
rapid application development.
3D Development Challenge
Only a few years ago client/server RAD focused solely
on building Windows clients, recalls Bill Bartow, product line director for
PowerBuilder products at Sybase. "RAD did the easy stuff," he notes. "It painted
pretty pictures for us and stopped there."
All other important application functions resided on
the server, and RAD didn't go there at all. But as advances in software-development
technology enabled three-tier client/server applications , coders began keeping
the GUI on the client but moving the business logic to the middle tier, which
of course doesn't require a GUI.
"We still need RAD tools," Bartow observes, "but what
they do and how they do it changes."
Rick LeFaivre, CTO at Borland, concurs. "RAD tools are
beginning to offer much more than GUI-building features."
Good thing, too. Integrators doing custom software development
need the help. As the client/server paradigm shifts to three tier, and eventually
up to n tier, you literally can't afford to sweat the easy stuff.
Getting three-tier development done fast and right puts
you in a cutting-edge market where margins are high but hurdles are many. Working
in three or more dimensions is orders-of-magnitude more difficult than working
in two.
You can make pretty pictures sizzle on client computers,
but customers often want to keep their clients thin these days, which can be
tough. There's usually a data base or two at the other end. In between are those
squirrelly business rules, which you need to abstract, share, maintain, edit,
and just generally deal with.
The really hard part--layer management-isn't even included
in the tier count. You must provide security between layers, define what code
goes where and how it interacts with the other code layers, and then tie it
all together with hooks to COM (component object model) layers such as DCOM,TCP/IP,and
CORBA (common object request broker architecture).
The big question for integrators is this: Are the RAD
tools we've come to know and love, such as Microsoft's Visual Basic, Borland's
Delphi, and Sybase's PowerBuilder, ready to crank out n tiers of code? Or how
about the new RAD Java environments, such as Syrnantec's Visual Cafe?
The integrators and tools vendors that Solutions Integrator
asked responded with a rousing chorus of "It depends."
RAD Means Business Logic
As the definition of what RAD does has expanded, different
tool vendors have gone after different aspects of RAD. That's good news for
integrators because it gives us a wealth of solutions we can pick and choose
among.
Borland's RAD tools, for example, have been evolving
away from GUI-only for some time now. According to LeFaivre, RAD used to be
a tool for building GUI client implementations by dragging functionality from
a palette. Now Borland's product lets you visually design business rules by
dragging functionality from a palette.
"What impressed me most about the first version of Delphi was not its GUI
building skills but the support it provided for building business logic," says
LeFaivre. That feature has become increasingly important, he notes, to the point
that today's RAD "means dragging remote data objects to connect up the server."
Thus Borland's RAD focus has evolved to include a tool set that enables integrators
to write enterprise applications that tie into legacy code, whether on an NT
or AS/400 server.
Speaking of IBM, Big Blue, too, offers a full line of related RAD tools, including
VisualAge for C++ and VisualAge for Java. IBM's products provide a highly structured
environment that stresses issues such as coordination of programming teams.
IBM tools also provide some of the best hooks for three-tier development projects
that include mainframe standards such as CICS and CORBA as part of the mix.
"The RAD paradigm becomes more, not less, important as we move from two- to
three-tier development," says Scott Hebner, manager of application development
marketing at IBM Software.
Robust, heterogeneous business systems are inherently more complex than client/server
solutions, he explains.
There are two ways to tackle these more complex projects: Either you hire superstar
programmers capable of pulling it off, or you buy smarter tools that will abstract
out the different layers for you.
We've Only Just Begun
But even with such advances, "the market reality is that integrators are only
beginning to engage in distributed development," reports Sybase's Bartow. That
is Sybase's justification for a phased release of development components that
help make it easier for integrators to build multitier solutions.
For instance, Sybase recently released the beta version of a PowerBuilder module
that supports building with Microsoft's COM distributed-object model. The vendor
has also introduced a product called PowerSite, which can be used with PowerBuilder
to build the dynamic HTML pages sent to thin clients. Products supporting the
CORBA standard are slated for release later this year. RAD tools that simplify
multiplatform support in general and distributed objects in particular lag the
most.
Tool vendors do believe that CORBA and true multiplatform support are important,
yet all the action today is in the more constrained world of Microsoft's COM
(ActiveX).
Software integrators more frequently build three-tier applications using TCP/IP
or ActiveX rather than CORBA because TCP/IP and ActiveX have a close connection
with the Windows platform that make them easier to implement. Seeing this as
an opportunity, Borland recently acquired Visigenic, the leading provider of
CORBA for heterogeneous software environments.
Borland promises that it will soon provide CORBA 2.0 support as part of its
Delphi, JBuilder, and C++Builder RAD products.
No Tool Does it AII
If your customers are already insisting on support for heterogeneous environments,
consider Java-based RAD. Java is the only popular language that evolved after
the arrival of the three-tier development model, so it was designed from the
ground up to support these kinds of projects.
Java tool kits from all major tool vendors employ pre-existing frameworks used
for their other languages. Thus, Sybase provides the same Jaguar three-tier
architecture in its PowerBuilder, PowerJ, and Power++ tools.
Likewise, Borland's Midas technology underlies Delphi, JBuilder, and C++Builder
products. The same goes for Microsoft's, IBM's, and Symantec's RAD families.
Pick the tool and the language you're most at home with; support for three-tier
development will follow.
Of course, no single RAD tool does it all. No one knows this better than Craig
Goren, president of Clarity Consulting, a client/server consulting
firm in Chicago that provides custom application development for Fortune 500
companies.
"These days all of our customers want to present data to their customers
via browsers," he says. "And the tools for developing three-tier projects are
far enough along the curve so that we can do it. But each tool has its own strengths
and weaknesses."
Clarity uses PowerBuilder for some projects, Oracle tools for others, and Visual
Basic when the customer wants a three-tier app to run atop Microsoft's COM.
In fact, with Visual Basic's new compiler, speed is no longer an issue, says
Goren.
"And the fact that you can do development for all three layers in a single
environment simplifies things enormously," he adds.
But no set of RAD tools solves all three-tier development problems. "Successful
three-tier implementations still require careful planning," Goren cautions.
"If you do that, whichever tools you select will serve you well."
Joe Devlin and Emily Berk
are principals of Armadillo Associates Inc., a software integrator headquatered
in Half Moon Bay, CA |