CISC 326 Game Architecture Module 6: Reference Architectures - - PowerPoint PPT Presentation

cisc 326
SMART_READER_LITE
LIVE PREVIEW

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-1
SLIDE 1

CISC ¡326 ¡

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

slide-2
SLIDE 2

Ahmed ¡Hassan ¡and ¡Richard ¡Holt

Software ¡Architecture ¡Group ¡ University ¡of ¡Waterloo CANADA

A Reference Architecture for Web Servers

slide-3
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
SLIDE 4

Compiler Ref. Arch.

Parser Sem. Analyzer

Source Binary

Code Gen. Scanner

slide-5
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
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
SLIDE 7

The Web Server Domain

slide-8
SLIDE 8

BROWSER WEB SERVER Operating System Servlet CGI Program Files Resources

slide-9
SLIDE 9

Web Servers

  • Apache
  • Microsoft - IIS
  • Netscape - iPlanet Server
  • AOL Server
  • Jigsaw
slide-10
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
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
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
SLIDE 13

Web Server Reference Architecture

slide-14
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
SLIDE 15

Mapping the Reference Architecture to a Web Server

slide-16
SLIDE 16

The Apache Web Server

slide-17
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
SLIDE 18

The AOL Web Server

slide-19
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
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
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
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
SLIDE 23

History ¡of ¡Web ¡Browsers

slide-24
SLIDE 24

Reference ¡Architecture

slide-25
SLIDE 25

Studied ¡Browsers

slide-26
SLIDE 26

Mozilla

slide-27
SLIDE 27

Konqueror

slide-28
SLIDE 28

Epiphany

slide-29
SLIDE 29

Safari

slide-30
SLIDE 30

Lynx

slide-31
SLIDE 31

Mosaic