|
|
Architecture As Language
Architecture is typically either a very non-tangible, conceptual aspect of a
software system that can primarily be found in Word documents, or it is
entirely driven by technology (“we use an XML architecture”). Both are
bad: the former makes it hard to work with, and the latter hides
architectural concepts behind technology hype.
What can be done? As you develop the architecture, evolve a language that
allows you to describe systems based on this architecture. Based on my
experience in a number of real-world projects, this makes the architecture
tangible and provides an unambiguous description of the architectural
building blocks as well as the concrete system while still staying away from
technology decisions (which then can be made consciously in a separate
step).
The first part of this paper illustrates the idea using a real-world story. The
second part summarizes the key points of the approach.
|