Cutter Consortium

REUSE IN THE COMPONENT MARKETPLACE

20 November 2001

by Paul Allen

Today's pressures to respond quickly and efficiently to new requirements give rise to the oft-quoted mantra "reuse before you buy before you build." If components are already available from within the organization then cost is minimized. If they're not available internally then they can be acquired externally via a component vendor or broker. Only if that's not possible should the software be built inhouse. The bottom line is economy of scale: reusing software that already exists not only saves development time, effort, and costs but also spreads these costs more thinly over many consumers.

Many large organizations are achieving some degree of reuse. Though many analysts talk in terms of "reuse about to happen," my experiences in dozens of organizations indicate that it has been happening for a number of years. Results from a recent Cutter Consortium survey, as reported by Senior Consultant Paul Harmon (Distributed Computing Architecture/e-Business Advisory Service Executive Update, Vol. 4, No. 9), are significant. The survey looked at how companies were developing their new component systems. About 120 IT professionals from mid-sized to large companies were asked whether they reused components, either internally as a result of previous projects or externally from component vendors.

The figures for reuse of GUI and utility components (52% and 46%, respectively) are no surprise. In fact, to me they seem low! What is more interesting is that 44% of respondents said they reuse business components when they develop new applications. And by business components, they are referring to components that incorporate business process logic, business rules, and provide business information. Harmon reports these components at the level of small applications, with some companies having created major applications around two or three components. This also matches my own experiences with mid-sized to large organizations seeking to leverage business components as they gear up for the next wave of e-business.

The survey shows that established component technologies, such as Java, Enterprise JavaBeans (EJB), Java 2 Enterprise Edition (J2EE), Microsoft Transaction Server/COM+, and CORBA hold dominant sway. At the same time, the more recent Web service technologies like XML-SOAP are starting to emerge. The survey also shows a significant uptake of application servers like BEA's WebLogic and IBM's WebSphere that provide many reusable components with links to pre-established services and slightly less uptake of component tools like VisualAge and JBuilder.

All in all the survey reinforces my view that reuse is no longer just a nice theory. Companies are doing it and successfully, too. My prediction is that the component marketplace will provide the final piece in the reuse jigsaw. There are some significant developments here, and these will be fueled further by developments in Web services.

Nevertheless, the software industry must still solve two chronic problems before the promise of component reuse can be fully realized. First, standards for specification of components must be agreed upon at all levels -- that means at the business level as well as implementation and deployment levels. This, in turn, requires consensus on the various dimensions that make up a component. Second, a high degree of software quality, particularly in terms of factors like reliability and maintainability, must be achieved in order to ensure consumer trust. Ultimately both problems center on the question of trust: trust that the component is the right one and trust that the component comes up to scratch.

At the same time, perhaps the main barrier to reuse has been lack of commercial motivation. Until recently, most component vendors (organizations that develop and sell components directly) and brokers (organizations that act as intermediaries in the trading of components) have centered their efforts on the market for small shrink-wrapped components. Most of these components provide technical functionality such as GUI features or utility functions. The broad adoption of these low-value technical components has created the opportunity for the introduction of higher-value business components. However, although the potential rewards of selling and using business components are great, they also bring much increased risk and require greater investment.

The greater perceived risk and required investment is taking the component vendors into the world of partnerships and communities that are aimed at managing risk and helping clients reuse components to business advantage. More than that, it means understanding component reuse and managing components within the context of their clients' component architectures and helping to achieve a responsive process of reuse in their client organizations.

-- Paul Allen, Editor, Component Development Strategies

[For more information on service-based component architecture, see the August 2001 issue of Component Development Strategies, available from Cutter Information Corp. at +1 800 492 1650 or +1 781 641 9876, fax +1 800 888 1816 or +1 781 648 1950, or e-mail service@cutter.com.]



Reuse in the Component Marketplace