Jump to content

Software componentry

From Wikipedia, the free encyclopedia
This is an old revision of this page, as edited by Nixdorf (talk | contribs) at 18:22, 7 January 2003 (Much more, history, relation to OOP etc.). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

A software component is a software technology for encapsulating software functionality, often in the form of objects (from Object Oriented Programming), in some binary or textual form, adhering some IDL (interface description language) so that the component may exist autonomously from other components in a computer.

Sotware componentry is a field of study within software engineering.

History of Software Components

The idea that software should be componetized, be built from prefabricated components, was first published in Dough McIlroys address at the NATO conference on software engineering in Garmisch, Germany, 1968 entitled Mass Produced Software Components.

The modern concept of a software component was however largely defined by Brad Cox, who called them Software ICs in his book Object-Oriented Programming - An Evolutionary Approach 1986.

Differences Between Object Oriented Programming and Software Components

The basic idea in Object Oriented Programming is that software should be written according to a mental model of the actual or imagined objects it represents.

Software components, by contrast, makes no such assumptions, and instead states that software should be developed by glueing prefabricated components together much like in the field of electronics and mechanics.

This notion has led to many academic debates about the pro's and con's of the two approaches, and possible strategies for uniting the two.

Architecture

A computer running several software components is called an application server and the field of computing things (mostly one or another financial application, or business software) with this combination of application servers and software components make up is usually called distributed computing.

Doing distributed computing with software components is regarded as unexplicibly cool in certain mileus, notably at parties arranged by those who sell it. As a common user, a good bit of scepticism about technology of this kind never hurts.

Technologies for Software Components

See also: