Rapid-application-development (RAD) tools aren't just for pretty GUIs anymore. As RAD takes on partitioned client/server capability, integrators face the challenge of three-tier app development. Here are the tools to help you do it fasterEvery integrator has clients that are way too detail-oriented. A favourite 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 obsessed over user interfaces. Every morning he'd come up with an exciting new insight. And every morning at around 9am his time - approximately 3am 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 importantly, 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 (RAD).
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 noted. "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 observed, "but what they do and how they do it changes." Rick LeFaivre, CTO at Borland in the US, concurred: "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 database 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 Symantec's Visual Café? 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. So far so good for integrators; we can pick and choose among the tools. 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," said 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," said Scott Hebner, manager of application development marketing at IBM Software in the US.
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", reported Sybase's Bartow. That is Sybase's justification for a phased release of development components that help make it easier for integrators to build multi-tier 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.
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 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 said. "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 added. But no set of RAD tools solves all three-tier development problems. "Successful three-tier implementations still require careful planning," Goren cautioned. "If you do that, whichever tools you select will serve you well."
Joe Devlin is a principal of Armadillo Associates, a software integrator with offices in the US He can be reached at firstname.lastname@example.org