cisc 326
play

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


  1. CISC ¡326 ¡ Game ¡Architecture Module ¡6: ¡Reference ¡Architectures ¡ (Web ¡Servers ¡and ¡Web ¡Browsers) Ahmed ¡E. ¡Hassan

  2. A Reference Architecture for Web Servers Ahmed ¡Hassan ¡and ¡Richard ¡Holt Software ¡Architecture ¡Group ¡ University ¡of ¡Waterloo CANADA

  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)

  4. Compiler Ref. Arch. Source Binary Sem. Code Scanner Parser Analyzer Gen.

  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

  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

  7. The Web Server Domain

  8. BROWSER WEB SERVER Operating System Resources Servlet CGI Files Program

  9. Web Servers • Apache • Microsoft - IIS • Netscape - iPlanet Server • AOL Server • Jigsaw

  10. Summary: 3 Servers Web Main Dev 1 st Code Lang. Arch. type stable Server arch. release size (KLOC) Apache Robert Open April 80 C 5 yrs Thau source 1995 AOL - Comm May 164 C & - Server ercial 1995 TCL Jigsaw Yves Experi May 106 Java 2.5 yrs Lafon mental 1996

  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

  12. Process for Deriving Ref. Arch. Reference Architecture for Web Servers Conceptual Conceptual Conceptual Architecture Architecture Architecture Concrete Concrete Concrete Architecture Architecture Architecture Apache AOLServer Jigsaw

  13. Web Server Reference Architecture

  14. Reception Request Record Analysis Transaction Access Resource Control Handler Util Operating System Abstraction Layer Web Server Reference Architecture Control flow All depend on

  15. Mapping the Reference Architecture to a Web Server

  16. The Apache Web Server

  17. Recep. Req. Analysis. Request Trans. Core Translation Logging Access Ctrl. Req. Handler. Authen- Author- MIME Response tication ization type Util OS Layer OSAL. Util. Apache: Conceptual to ref. architecture mapping Apache: Conceptual Architecture

  18. The AOL Web Server

  19. Recep. & Req. Analysis. Communication Driver Access Ctrl. Request Trans. Daemon – Core NSPerm NSLog Req. Handler. URL Handle Database TCL Timer Util NSThread Interface Interpreter Util. OSAL. AOLServer: Conceptual to ref. architecture mapping AOLServer: Conceptual Architecture

  20. Mapping Summary • Conceptual arch. of 3 servers maps nicely to ref. arch. • Main differences are splitting and merging of subsystems • The derived architecture is independent of development methodology

  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

  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

  23. History ¡of ¡Web ¡Browsers

  24. Reference ¡Architecture

  25. Studied ¡Browsers

  26. Mozilla

  27. Konqueror

  28. Epiphany

  29. Safari

  30. Lynx

  31. Mosaic

Recommend


More recommend