Designing a component-based architecture

There are two ways to look at component-based architecture

Related Links

"Plug and play"

There are two ways to look at component-based architecture: from the software development level or the systems development level.

In software development, many experts use component-based architecture to refer to pieces of technical code that can be swapped among several software applications. One of the most popular approaches in this arena is to use Java code following guidelines from Sun Microsystems Inc.'s Java 2 Platform Enterprise Edition.

That concept can then be applied to systems development, where a piece of software can be plugged into many different systems. This approach, also called the modular approach, is often used in enterprise resource planning systems, with organizations able to mix and match financial, human resources and other modules.

This example, however, often comes with the caveat that it only works easily — without major modifications and tweaking — with modules from a single vendor or team of vendors.

When using commercial off-the-shelf (COTS) software, it is difficult to find true plug-and-play components from multiple vendors because they do not design their software to be able to "talk" to software from other vendors, said Tricia Oberndorf, co-leader of the COTS-Based Systems Initiative at Carnegie Mellon University's Software Engineering Institute.

NEXT STORY: Tenn. recruits teachers online