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: 333
        
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