OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.


Help: OASIS Mailing Lists Help | MarkMail Help

ebxml-architecture message

[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
f)  Rationale - Describe why the particular architecture was chosen


Michael C. Rawlins, Rawlins EC Consulting

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [Elist Home]

Search: Match: Sort by:
Words: | Help

Powered by eList eXpress LLC