Technology Industry
Industry: Email Alert RSS FeedN-tier at your own risk - multi-level architecture for component-based development - includes table of products and related article on ActiveX and components - Technology Information
Software Magazine, Dec, 1996 by Colleen Frye
Component-based development has the potential to revolutionize software development. To take advantage, however, developers must prepare for a new architectural paradigm and considerable upfront investments.
Will an Industrial Revolution in software development usher in the next millennium? Proponents of component-based development envision a world where applications are built like automobiles, with developers buying prebuilt components via Internet shopping malls, or reusing components from their own repositories and assembling them at their IT shops. Big payoffs would come from cost savings, reusability, and efficiencies in testing and maintenance. The hurdles to this coming Industrial Age include interoperability standards efforts mired in vendor squabbles, and an often expensive and time-consuming investment in infrastructure and tools, as well as developer retraining.
- Most Popular Articles in Technology
- An overview of continuous data protection
- Why all those current ratings?
- Many countries now have a mobile penetration rate above 100%, report says
- The Tata Group's big telecom gamble: VSNL's recent acquisition of Tyco ...
- MEASURING BANK BRANCH EFFICIENCY USING DATA ENVELOPMENT ANALYSIS: MANAGERIAL ...
- More »
The reality today, though, is that while vendors are rolling out environments, frameworks and tools for component-based development, "most people are still doing procedural modeling development," says Frank Mara, president of Component Integration Laboratories (CI Labs), an industry association in Sunnyvale, Calif. "Very few people are building components with standardized interfaces. Research shows that everybody intends to go that direction, but we're still handcrafting software today like we used to handcraft automobiles."
Yet Mara insists, and others agree, that "the Industrial Revolution of the software industry" is underway.
Developers like Andy Bustle, a consultant with Wisconsin Electric in Milwaukee, envision a shift somewhat less dramatic. "I see people going from 3GLs to component-based applications, buying a class library and modifying a class library, rather than coding everything from scratch. I think there's a happy medium between buying a big chunk of packaged software and developing everything from scratch."
While there's no universal agreement on what comprises a component, most agree it is an independently deliverable package of software services that has an interface and is encapsulated. Texas Instruments Software, Plano, Texas, defines six levels of components, says Brian Morrow, director of component-based development. The bottom three levels are technical components. The lowest level consists of component design aids. The next level involves user interface controls, such as "widgets." This is followed by technology infrastructure components, such as security controls and Web enablement.
The next level, which is the business layer, is domain-generic and contains rules for many applications. This is followed by the domain-specific layer, which consists of vertical high-value components. At the highest level are industry-specific applications, represented by complete subsystems or templates.
Tom Moldauer, a partner and managing director of Andersen Consulting's Eagle team, uses this metaphor: "Components are molecules, objects are atoms. Components are elements that a systems builder will assemble to deliver a solution. Objects are what the component developer will use to design and build the components, though you don't have to use objects. Components have a well-defined interface, and should be accessible via standard access paths like Corba [Common Object Request Broker Architecture] and DCOM [Distributed Component Object Model]." According to Mike Gilpin, vice president of Intersolv Inc., Rockville, Md., and general manager of the Allegris component-based development products, the objective of component-based development is "to assemble software out of off-the-shelf components. The component trend began to take off with Visual Basic and support for VBX [Visual Basic Controls], and later ActiveX. Most of the market today is focused on horizontal components, but the market is evolving and products are being componentized, like [offerings from] PeopleSoft and SAP. Integrators like Andersen are componentizing their service offerings because it lowers their cost.
"The latest thing is with Internet/intranet application development requirements," Gilpin adds. "The ability to distribute components over the Internet is an added reason to do component-based development."
Indeed, the move toward distributed component technology and the proliferation of the Internet are complementary megatrends, says CI Labs' Mara. Before component technology becomes mainstream, however, "corporate America has to realize that a traditional two-tier or three-tier client/server architecture is not going to meet their needs as they move forward," says Gary Lord, a partner with KPMG Peat Marwick in Palo Alto, Calif. "They will have to make the paradigm shift to an n-tier world, where n-tier is distributed objects. The world is moving to n-tier, especially with Internet and intranet architectures, applets, etc. That is the architectural paradigm where component-based software will play." For this n-tier, distributed component architecture to work, however, it requires extensive middleware-like ORB technology to control the communication between disparate objects and components, says Lord.
