[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [Elist Home]
Subject: What is Software Architecture?
I look forward to reviewing the latest spec in detail this week and offering my comments to you. In the mean time, I thought I might offer some general thoughts. I hope that these might help you deal with comments your final round of revisions and discussion. At least, I hope you find them food for thought. As some of may know, after more than 20 years in the business I am finally getting some formal training. I'll be finishing my M.S. in computer science this December, and one of the more interesting classes I'm taking this fall is Software Architecture & Design. While it is true that the architecture that ebXML is building is not just a product infrastructure architecture, but in many ways also process architecture, there are a few very relevant points from the class: 1) Software Architecture is considered an emerging discipline, and there is still no uniform consensus on exactly what it is and how it should be pursued. [MR - Sound anything like what you all have been going through?] 2) Every system has an architecture, even if the architecture isn't rigorously specified before development. This is not a desirable situation, but one that is often the case. [MR - Let's get the TA spec approved soon!] 3) The instructor points out six areas that should be part of every software architecture: a) Elements (components/parts) from which systems are built b) Interactions (connections/connectors/glues/relationships) c) Patterns - describe layout of elements and interactions, guiding their composition. For example, the number of elements, the number of connectors, order, topology, directionality d) Constraints - on the patterns. For example, temporal, cardinality, concurrency, etc. e) Styles - Abstraction of architectural components from various specific architectures (Sometimes used interchangeably with patterns). For example: Layered (as in Unix OS, OSI stack), pipe & filter, object oriented f) Rationale - Describe why the particular architecture was chosen Cheers, -- Michael C. Rawlins, Rawlins EC Consulting http://www.metronet.com/~rawlins/
Powered by eList eXpress LLC