A Reference Architecture for Web Servers - - PowerPoint PPT Presentation

a reference architecture for web servers
SMART_READER_LITE
LIVE PREVIEW

A Reference Architecture for Web Servers - - PowerPoint PPT Presentation

A Reference Architecture for Web Servers


slide-1
SLIDE 1
  • A Reference Architecture for

Web Servers

slide-2
SLIDE 2

Reference Architecture

  • Architecture template for software systems

in a domain

  • A product architecture is an instantiation of
  • 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-3
SLIDE 3

Compiler Ref. Arch.

Parser Sem.

Source Binary

Code Scanner Parser Sem. Analyzer

Source Binary

Code Gen. Scanner

slide-4
SLIDE 4

Reference Architecture Benefits

  • Documents existing well-proven designs
  • Helps build complex systems
  • Provides a common vocabulary
  • Provides a common vocabulary
  • Aids in the comparison of different

architectures in the same domain

  • Improves code reuse
slide-5
SLIDE 5

Paper Overview

  • We present:

– A process to derive a reference architecture by non-domain experts non-domain experts – A reference architecture for web servers – Mapping it to different product architectures

slide-6
SLIDE 6

The Web Server Domain

slide-7
SLIDE 7

BROWSER WEB SERVER Operating System Servlet CGI Program Files Resources

slide-8
SLIDE 8

Web Servers

  • Apache
  • Microsoft - IIS
  • Netscape - iPlanet Server
  • Netscape - iPlanet Server
  • AOL Server
  • Jigsaw
slide-9
SLIDE 9

Summary: 3 Servers

Web Server Main arch. Dev type 1st release Code size

(KLOC)

Lang. Arch. stable Apache Robert Open April 80 C 5 yrs 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-10
SLIDE 10

Conceptual vs. Concrete Architecture

  • Conceptual Architecture:

– Resides in the head(s) of the developer(s) – Mental model: incomplete, inaccurate, ideal – Mental model: incomplete, inaccurate, ideal

  • Concrete Architecture:

– Extracted from the system’s implementation – Many mismatches with the conceptual architecture

slide-11
SLIDE 11

Process for Deriving Ref. Arch.

Reference Architecture for Web Servers AOLServer Concrete Architecture Conceptual Architecture Apache Concrete Architecture Conceptual Architecture Jigsaw Concrete Architecture Conceptual Architecture

slide-12
SLIDE 12

Web Server Reference Architecture Architecture

slide-13
SLIDE 13

Reception Request Analysis Record Transaction Resource Handler Access Control Util

Operating System Abstraction Layer

Control flow All depend on Web Server Reference Architecture

slide-14
SLIDE 14

Mapping the Reference Architecture to a Web Server Architecture to a Web Server

slide-15
SLIDE 15

The Apache Web Server

slide-16
SLIDE 16
  • Req. Handler.

Request Trans. Access Ctrl.

  • Req. Analysis.

Recep. Core MIME Logging Translation Authen- Author- OSAL. Util. Apache: Conceptual Architecture MIME type Response Authen- tication Author- ization Util OS Layer Apache: Conceptual to ref. architecture mapping

slide-17
SLIDE 17

The AOL Web Server

slide-18
SLIDE 18
  • Req. Handler.

Request Trans. Access Ctrl.

  • Recep. & Req. Analysis.

Communication Driver NSLog Daemon – Core NSPerm AOLServer: Conceptual to ref. architecture mapping OSAL. Util. AOLServer: Conceptual Architecture Timer NSThread URL Handle TCL Interpreter Util Database Interface

slide-19
SLIDE 19

Mapping Summary

  • Conceptual arch. of 3 servers maps nicely to
  • ref. arch.
  • Main differences are splitting and merging
  • Main differences are splitting and merging
  • f subsystems
  • The derived architecture is independent of

development methodology

slide-20
SLIDE 20

Conclusions

  • Ref. arch.: Framework to assist in forward

and reverse engineering

  • Conceptual arch: Each server maps nicely
  • Conceptual arch: Each server maps nicely

to the derived reference architecture

  • Needs more validation