Network-Based Software Architectures
From Computing and Software Wiki
Network-Based Software Architecture is a subfield of the area of Software Architectures that deals with the conceptual structure of a software system that primarily runs on a network, e.g. Apache Web Server.
Contents |
History and Introduction
As software increased in size, interaction, and sophistication, the need for a conceptual or a birds-eye-view of a software system became a central issue in software engineering research in the early 90s [4]. While the field has not reached the level of maturity that building architecture, for example, enjoys, it has started finding its way into mainstream software development, and "software architects" have become an important commodity for most software projects.
As the World Wide Web continues to infiltrate our every day life, our level of reliance on software keeps increasing significantly . This gave rise to a new specialty of software architecture; architecture of network-based software, initially introduced in Roy Fielding's PhD dissertation [2].
Classification
Software architectures have been categorized by observation. Seeing how successful software evolves, researchers were able to devise a number of categories that generally describe the most ubiquitous architectures, usually called "accidental" architectures. The name accidental has been given since the the organization of these software system did not follow any engineering guidelines and evolved with time until they took a permanent shape.
References
[1] Bass, Clements & Kazman, Software Architecture in Practice, Addison-Wesley 1998
[2] Fielding, Roy Thomas. Architectural Styles and the Design of Network-based Software Architectures. Doctoral dissertation, University of California, Irvine, 2000.
[3] Grady Booch. The Architecture of Web Applications. IBM Developer Works. 01 Jun 2001. IBM. Last Accessed on 13 March 2008. <http://www.ibm.com/developerworks/ibm/library/it-booch_web/>.
[4] D. Garlan and M. Shaw. An Introduction to software architecture. In Advances in Software Engineering and Knowledge Engineering, pages 1-39, Singapore, 1993. World Scientific Publishing Company.