A reference software architecture for a domain defines the fundamental components of the domain and the relations between them. Research has shown the benefits of having a reference architecture for product development, software reuse and maintenance. Many mature domains, such as compilers and operating systems, have well-known reference architectures. We present a process to derive a reference architecture for a domain. We used this process to derive a reference architecture for Web servers, which is a relatively new domain. The paper presents the mapping of this reference architecture to the architectures of three open source Web servers: Apache (80KLOC), AOL-Server (164KLOC), and Jigsaw (106KLOC).
['Ahmed E. Hassan', 'Richard C. Holt']
A reference architecture for Web servers