Software Components on the Rise -- Again

The interest in component-based development seems to rise and fall every few months. For now, at least, several factors, including Enterprise JavaBeans (EJB), improvements in COM-CORBA integration and the year 2000, seem to be pushing the idea into an upswing.

As a result, analysts say more companies are investing in software components. "I'm definitely seeing an increased level of interest," says Mike Gilpin, vice president and senior analyst, research services, for the Giga Information Group (Norwell, Mass.).

Since software components surfaced in the development world almost a decade ago, critics have pointed out that components have never lived up to their promise. The concept is frequently dismissed as vague and undefined.

But advocates argue that increases in developer productivity and faster time-to-market are becoming attainable goals as software components evolve. "I would argue that components are a foregone conclusion. The key driver for IT organizations is leveraging IT assets," says Michael Barnes, an analyst with the Hurwitz Group (Framingham, Mass.).

Discussions about software components often dissolve into debates about the definition of a component, and the difference between a component and an object. One workable definition, from Meyar Sheik, vice president of marketing and strategic alliances for SuperNova Inc., (New York, www.supernova.com), a vendor of component-oriented products and services goes something like this: "Components are prefabbed, pretested, independently functioning pieces of code that have input, output and a purpose."

One major problem components have faced is that no standard has existed for getting these independently functioning pieces of code to work together, says Giga's Gilpin. Now, however, the industry seems to be coalescing around EJB as a standard for component interoperability. "Although Microsoft is resisting mightily, there's a lot of momentum behind making EJB a standard. If it succeeds, it will be as important to the industry as SQL," Gilpin says.

For now, EJBs don’t work directly with either of the more established component standards, Microsoft Corp.’s Component Object Model (COM) or the Object Management Group’s Common Object Request Broker Architecture (CORBA). But Sun Microsystems Inc. and IBM Corp. recently announced they will jointly implement and support a mechanism for passing Java Remote Method Invocation commands over CORBA's Internet Inter-Orb protocol. According to a Zona Research Inc. (Redwood City, Calif.) report, "For the CORBA community, Java represents a breath of life into an architecture that has slowly gained supporters for the better part of this decade."

Historically, COM and CORBA haven’t interoperated well either. But now, several companies have released products or announced agreements that should alleviate this problem somewhat. One major announcement along these lines recently came from Microsoft itself, when the company agreed to integrate Transaction Server with OrbixOTM, a CORBA-compliant middleware suite from Iona Technologies (Cambridge, Mass., www.iona.com).

Other third-party products that integrate COM and CORBA have also become available, including ObjectBridge, a COM-CORBA bridge from Visual Edge Software (St. Laurent, Quebec, www.visualedge.com) and M3, an object transaction manager that supports both COM and CORBA, from BEA Systems (Sunnyvale, Calif., www.beasys.com).

Several tools vendors are also working to enable developers to create applications that can work with both COM and CORBA. The new version of the Borland Delphi rapid application development (RAD) environment from Inprise Corp. (Scotts Valley, Calif., www.inprise.com), for example, can create components that are both COM- and CORBA-enabled.

In addition, analysts say the year 2000 problem will push many companies to adopt software components. "Until quite recently, the impact of year 2000 on any kind of new technology was negative," Giga's Gilpin says. "I think the impact recently has begun to swing around for two reasons." First, Gilpin explains, many companies are using components to integrate packaged applications they bought to replace legacy systems that had year 2000-compliance problems.

Second, many companies, such as those in the financial industry, are legally required to complete their year 2000-compliance projects in advance of the obvious deadline. Once they’re done early next year, Gilpin says they will have time to implement new technologies. For many of these companies, "components are definitely on the agenda," he says.

In many cases, the shift toward components signals a fundamental shift in the development cycle. By their very nature, components enable developers with very different skills to work on phases of a development project. For example, components are often created by more "hard-core developers," as Gilpin says. They are then assembled by programmers who are proficient in RAD or scripting languages.

This change in application development patterns is giving rise to a new category of tools called enterprise application integration tools. SuperNova's Visual Concepts package, for example, enables assembly of components created in any ActiveX-supported development tool or CORBA-compliant language.

Component integration is often accomplished using scripting languages as well. At least one new company, Scriptics Corp. (Palo Alto, Calif., www.scriptics.com), was founded specifically to provide tools designed to facilitate the use of scripting languages in corporate development -- in this case, the Tcl language. John Ousterhout, who originally created Tcl and who founded Scriptics, calls Tcl the "tofu of programming languages," meaning that it can interact with a variety of components in a number of environments.

Component integration tools such as Tcl need to be flexible so that they can work with the largest number of components. As a result, Gilpin says, "some people are using Java servlets as the glue around a set of hard-shelled components."

Despite these recent gains, not every company has adopted software components. Gilpin says much of the renewed interest stems from certain industries, including banking and finance and telecommunications.

Gilpin also cautions that components are likely to remain restricted to certain types of programming tasks. For example, companies who sell software will also be able to sell components to their customers, he explains. "The ERP vendors are under a lot of pressure from their customers to componentize," Gilpin says. "There are components in the market that are successful, but they are in very specific markets."