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

Slides:



Advertisements
Similar presentations
Welcome to Middleware Joseph Amrithraj
Advertisements

Vrije Universiteit amsterdamPostacademische Cursus Informatie Technologie Web Applications – The Object Web combining servers and client-applications multiple.
Database System Concepts and Architecture
Executional Architecture
Chapter 13 Review Questions
Apache Struts Technology
Building Enterprise Applications Using Visual Studio ®.NET Enterprise Architect.
2 Object-Oriented Analysis and Design with the Unified Process Objectives  Explain how statecharts can be used to describe system behaviors  Use statecharts.
28/1/2001 Seminar in Databases in the Internet Environment Introduction to J ava S erver P ages technology by Naomi Chen.
Fast Track to ColdFusion 9. Getting Started with ColdFusion Understanding Dynamic Web Pages ColdFusion Benchmark Introducing the ColdFusion Language Introducing.
Web Servers How do our requests for resources on the Internet get handled? Can they be located anywhere? Global?
An Object-Oriented Architecture Supporting Web Application Testing Presented By: Bhavdeep Singh.
Time Scalability Single User Unlimited Users 100s of Users Several Users PC based Single user Late 1980sNow PC based, file-level locking Single user or.
Satzinger, Jackson, and Burd Object-Orieneted Analysis & Design
CS CS 5150 Software Engineering Lecture 13 System Architecture and Design 1.
Page 1 Building Reliable Component-based Systems Chapter 18 - A Framework for Integrating Business Applications Chapter 18 A Framework for Integrating.
Application Architectures Vijayan Sugumaran Department of DIS Oakland University.
Nilesh Mandani Competencies include: Volume Licensing Enterprise Resource Planning Customer Relationship Management Business Intelligence Proposal for.
Apache Jakarta Tomcat Suh, Junho. Road Map Tomcat Overview Tomcat Overview History History What is Tomcat? What is Tomcat? Servlet Container.
Tutorial -01. Objective In this session we will discuss about : 1.What is MVC? 2.Why MVC? 3.Advantages of MVC over ASP.NET 4.ASP.NET development models.
UNIT-V The MVC architecture and Struts Framework.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 18 Slide 1 Software Reuse 2.
 2000 Deitel & Associates, Inc. All rights reserved. Chapter 24 – Web Servers (PWS, IIS, Apache, Jigsaw) Outline 24.1Introduction 24.2Microsoft Personal.
Applets & Servlets.
Week 7 Lecture Web Database Development Samuel Conn, Asst. Professor
CIS 285 ROBINSON WINTER 2005 CIS 285 Web Application Development with Java CIS 285 Sinclair Community College Instructor: Mary Robinson.
Enticy GROUP THE A Framework for Web and WinForms (Client-Server) Applications “Enterprise Software Architecture”
©Ian Sommerville 2000 Software Engineering, 6th edition. Slide 1 Component-based development l Building software from reusable components l Objectives.
SOFTWARE DESIGN AND ARCHITECTURE LECTURE 07. Review Architectural Representation – Using UML – Using ADL.
Lecturer: Prof. Piero Fraternali, Teaching Assistant: Alessandro Bozzon, Advanced Web Technologies: Struts–
DEV-5: Introduction to WebSpeed ® Stephen Ferguson Sr. Training Program Manager.
Nicolas Teirlinckx Made for Software Engineering Groep 1 (2009 – 2010)
WEB BASED DATA TRANSFORMATION USING XML, JAVA Group members: Darius Balarashti & Matt Smith.
CS CS 5150 Software Engineering Lecture 13 System Architecture and Design 1.
3/20/2001 Network Computing Laboratory EE. KAIST 1 Web Servers & Load Balancing Techniques 3/20/2001 송준화 김영호.
Architectural pattern: Interceptor Source: POSA II pp 109 – 140POSA II Environment: developing frameworks that can be extended transparently Recurring.
© Drexel University Software Engineering Research Group (SERG) 1 A. E. Hassan and R. C. Holt A Reference Architecture for Web.
1 MSCS 237 Overview of web technologies (A specific type of distributed systems)
PatentScope - Electronic Publication World Intellectual Property Organization.
Http protocol Response-request Clients not limited to web browsers. Anything that can access code implementing the protocol works: –Standalone programs.
Enabling Reuse-Based Software Development of Large-Scale Systems IEEE Transactions on Software Engineering, Volume 31, Issue 6, June 2005 Richard W. Selby,
Copyright © 2002 ProsoftTraining. All rights reserved. JavaServer Pages.
Enterprise Java Beans. Model 1 J2EE – Web View Model/View/Controller Model View Control Data base Web Server Model One Architecture HTTP Request HTTP.
Concrete Architecture of PostgreSQL. Overview – Derivation Process – Conceptual Architecture Revisited – High Level Conceptual Dependencies – High Level.
Preface IIntroduction Objectives I-2 Course Overview I-3 1Oracle Application Development Framework Objectives 1-2 J2EE Platform 1-3 Benefits of the J2EE.
Model Design using Hierarchical Web-Based Libraries F. Bernardi Pr. J.F. Santucci {bernardi, University of Corsica SPE Laboratory.
Apache Web Server Architecture Chaitanya Kulkarni MSCS rd April /23/20081Apache Web Server Architecture.
Migrating Web Frameworks Using Water Transformations Ahmed E. Hassan Richard C. Holt School of Computer Science University Of Waterloo.
Chapter 9 Web Application Design. Objectives Describe the MVC design pattern as used with Web applications Explain the role and responsibilities of each.
Architecture, Design Patterns and Faithful Implementation David Woollard University of Southern California Software Architecture Group NASA Jet Propulsion.
APACHE STRUTS ASHISH SINGH TOMAR ast2124. OUTLINE Introduction The Model-View-Controller Design Pattern Struts’ implementation of the MVC Pattern Additional.
JSP / Servlets and Beans
Lect5.ppt - 02/23/06 CIS 4100 Systems Performance and Evaluation Lecture 6 by Zornitza Genova Prodanoff.
Open Source Software The Apache HTTP Server Prepared by: Clemance Fleischer ITEC400 Assignment 13-1.
1 Framework Presentation Project Participants: Karun Biyani Manish Mehta Pradeep Vincent CSE870 Advanced Software Engineering, Spring 2001 Instructor:
Netscape Application Server
Java Servlets By: Tejashri Udavant..
Server Concepts Dr. Charles W. Kann.
Processes The most important processes used in Web-based systems and their internal organization.
Hierarchical Architecture
Unit 6-Chapter 2 Struts.
Software Maintenance
Web App vs Mobile App.
MSIS 655 Advanced Business Applications Programming
The Re3gistry software and the INSPIRE Registry
The Model Layer What is Model?
Inventory of Distributed Computing Concepts
Evaluating Compuware OptimalJ as an MDA tool
Tiers vs. Layers.
Presentation transcript:

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

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)

Compiler Ref. Arch.

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

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

The Web Server Domain

BROWSER WEB SERVER Operating System Servlet CGI Program Files Resources

Web Servers Apache Microsoft - IIS Netscape - iPlanet Server AOL Server Jigsaw

Summary: 3 Servers Web Server Main arch. Dev type 1 st release Code size (KLOC) Lang.Arch. stable ApacheRobert Thau Open source April C5 yrs AOL Server -Comm ercial May C & TCL - JigsawYves Lafon Experi mental May Java2.5 yrs

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

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

Web Server Reference Architecture

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

Mapping the Reference Architecture to a Web Server

The Apache Web Server

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

The AOL Web Server

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

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

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