Wednesday, September 24, 2003

Architecture: Layering Components

Ratio Group Ltd. has some interesting papers in its technical library. I posted a note on this one over a year ago and was rereading it again today:

Collins-Cope, Mark and Matthews, Hubert. A Reference Architecture for Component Based Development. Ratio Group Ltd.

The paper propose a reference architecture for object oriented/component based systems consisting of five layers... More specific (and therefore less reusable) components are placed in the higher layers, and the more general, reusable components are in the lower layers. Since general non-application components are less likely to change than application specific ones, this leads to a stable system as all dependencies are downward in the direction of stability, and so changes tend not to propagate across the system as a whole.

In general, systems implementation I have reviewed do not do a great job of eliminating dependencies across components so this paper is worth reading by all developers. There are a lot of good rules for placing components in a layered architecture in this paper.


Post a Comment

<< Home