Are the technologies used in an application part of the architecture, or do they represent implementation/detailed design details?
Posted
by
m3th0dman
on Programmers
See other posts from Programmers
or by m3th0dman
Published on 2013-07-02T08:43:30Z
Indexed on
2013/07/02
11:13 UTC
Read the original article
Hit count: 280
When designing and writing documentation for a project an architecture needs to be clearly defined: what are the high-level modules of the system, what are their responsibilities, how do they communicate with each other, what protocols are used etc. But in this list, should the concrete technologies be specified or this is actually an implementation detail and need to be specified at a lower level?
For example, consider a distributed application that has two modules which communicate asynchronously via AMQP protocol, mediated by a message broker. The fact that these modules use the Spring AMQP library for sending and receiving messages is a fact that needs to be specified in the architecture or is a lower-level detailed design/implementation detail?
© Programmers or respective owner