SLIDE 1
CISC 326 Game Architecture Module 6: Reference Architectures - - PowerPoint PPT Presentation
CISC 326 Game Architecture Module 6: Reference Architectures - - PowerPoint PPT Presentation
CISC 326 Game Architecture Module 6: Reference Architectures (Web Servers and Web Browsers) Ahmed E. Hassan A Reference Architecture for Web Servers Ahmed Hassan and Richard Holt Software Architecture
SLIDE 2
SLIDE 3
Reference Architecture
- Architecture template for software systems
in a domain
- A product architecture is an instantiation of
the reference arch
- Defines the fundamental components and
the relations between them
- Well known for mature domain (eg.
Compilers, Operating Systems)
SLIDE 4
Compiler Ref. Arch.
Parser Sem. Analyzer
Source Binary
Code Gen. Scanner
SLIDE 5
Reference Architecture Benefits
- Documents existing well-proven designs
- Helps build complex systems
- Provides a common vocabulary
- Aids in the comparison of different
architectures in the same domain
- Improves code reuse
SLIDE 6
Paper Overview
- We present:
– A process to derive a reference architecture by non-domain experts – A reference architecture for web servers – Mapping it to different product architectures
SLIDE 7
The Web Server Domain
SLIDE 8
BROWSER WEB SERVER Operating System Servlet CGI Program Files Resources
SLIDE 9
Web Servers
- Apache
- Microsoft - IIS
- Netscape - iPlanet Server
- AOL Server
- Jigsaw
SLIDE 10
Summary: 3 Servers
Web Server Main arch. Dev type 1st release Code size
(KLOC)
Lang. Arch. stable Apache Robert Thau Open source April 1995 80 C 5 yrs AOL Server
- Comm
ercial May 1995 164 C & TCL
- Jigsaw
Yves Lafon Experi mental May 1996 106 Java 2.5 yrs
SLIDE 11
Conceptual vs. Concrete Architecture
- Conceptual Architecture:
– Resides in the head(s) of the developer(s) – Mental model: incomplete, inaccurate, ideal
- Concrete Architecture:
– Extracted from the system’s implementation – Many mismatches with the conceptual architecture
SLIDE 12
AOLServer Concrete Architecture Conceptual Architecture
Process for Deriving Ref. Arch.
Reference Architecture for Web Servers Apache Concrete Architecture Conceptual Architecture Jigsaw Concrete Architecture Conceptual Architecture
SLIDE 13
Web Server Reference Architecture
SLIDE 14
Reception Resource Handler Request Analysis Access Control Record Transaction Util
Operating System Abstraction Layer
Control flow All depend on Web Server Reference Architecture
SLIDE 15
Mapping the Reference Architecture to a Web Server
SLIDE 16
The Apache Web Server
SLIDE 17
OSAL. Util.
- Req. Handler.
Request Trans. Access Ctrl.
- Req. Analysis.
Recep. Apache: Conceptual Architecture Core MIME type Response Logging Translation Authen- tication Author- ization Util OS Layer Apache: Conceptual to ref. architecture mapping
SLIDE 18
The AOL Web Server
SLIDE 19
AOLServer: Conceptual to ref. architecture mapping OSAL. Util.
- Req. Handler.
Request Trans. Access Ctrl.
- Recep. & Req. Analysis.
AOLServer: Conceptual Architecture Communication Driver NSLog Timer NSThread Daemon – Core NSPerm URL Handle TCL Interpreter Util Database Interface
SLIDE 20
Mapping Summary
- Conceptual arch. of 3 servers maps nicely to
- ref. arch.
- Main differences are splitting and merging
- f subsystems
- The derived architecture is independent of
development methodology
SLIDE 21
Conclusions
- Ref. arch.: Framework to assist in forward
and reverse engineering
- Conceptual arch: Each server maps nicely
to the derived reference architecture
- Needs more validation
SLIDE 22
Reference ¡Architectures ¡for ¡Web ¡ Browsers ¡ A ¡Case ¡Study ¡in ¡Architectural ¡ Analysis: ¡The ¡Evolution ¡of ¡the ¡ Modern ¡Web ¡Browser Alan ¡Grosskurth ¡and ¡Michael ¡W. ¡ Godfrey
SLIDE 23
History ¡of ¡Web ¡Browsers
SLIDE 24
Reference ¡Architecture
SLIDE 25
Studied ¡Browsers
SLIDE 26
Mozilla
SLIDE 27
Konqueror
SLIDE 28
Epiphany
SLIDE 29
Safari
SLIDE 30
Lynx
SLIDE 31