Web application architecture

Slides:



Advertisements
Similar presentations
Welcome to Middleware Joseph Amrithraj
Advertisements

ICS 434 Advanced Database Systems
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 9 Distributed Systems Architectures Slide 1 1 Chapter 9 Distributed Systems Architectures.
Lecturer: Sebastian Coope Ashton Building, Room G.18 COMP 201 web-page: Lecture.
Objectives In this session, you will learn to:
CS 432 Object-Oriented Analysis and Design
© Copyright 2008 STI - INNSBRUCK Web Engineering Web Application Architectures Lecture V – 4 th November 2008 Federico M. Facca.
Chapter 10 Site Architecture McGraw-Hill/Irwin Copyright © 2004 by The McGraw-Hill Companies, Inc. All rights reserved.
8.
Technical Architectures
2 Object-Oriented Analysis and Design with the Unified Process Objectives  Explain how statecharts can be used to describe system behaviors  Use statecharts.
1 Pertemuan 13 Servers for E-Business Matakuliah: M0284/Teknologi & Infrastruktur E-Business Tahun: 2005 Versi: >
Distributed Systems Architectures
Asper School of Business University of Manitoba Systems Analysis & Design Instructor: Bob Travica System architectures Updated: November 2014.
Satzinger, Jackson, and Burd Object-Orieneted Analysis & Design
2 Systems Architecture, Fifth Edition Chapter Goals Describe client/server and multi-tier application architecture and discuss their advantages compared.
Chapter 9: Moving to Design
Introduction to Web Applications Instructor: Enoch E. Damson.
Client/Server Architecture
The web application development process Basharat Mahmood, COMSATS Institute of Information Technology, Islamabad, Pakistan. 1.
Chapter 2 Client Server Architecture
Tiered architectures 1 to N tiers. 2 An architectural history of computing 1 tier architecture – monolithic Information Systems – Presentation / frontend,
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 12 Slide 1 Distributed Systems Design 1.
Web Application Architecture: multi-tier (2-tier, 3-tier) & mvc
N-Tier Architecture.
Software Development Architectures Ankur K. Rajopadhye Louisiana Tech University.
Client/Server Architectures
Chapter 9 Moving to Design Part 2.
Copyright © 2012 Accenture All Rights Reserved.Copyright © 2012 Accenture All Rights Reserved. Accenture, its logo, and High Performance Delivered are.
Chapter 9 Elements of Systems Design
Moving to Design.
The Design Discipline.
Copyright © cs-tutorial.com. Introduction to Web Development In 1990 and 1991,Tim Berners-Lee created the World Wide Web at the European Laboratory for.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 12 Slide 1 Distributed Systems Architectures.
Chapter 4: Core Web Technologies
HTTP client wide area network (Internet) HTTP proxy HTTP server HTTP gateway firewall HTTP tunnel Copyright Springer Verlag Berlin Heidelberg 2004.
Networked Application Architecture Design. Application Building Blocks Application Software Data Infrastructure Software Local Area Network Server Desktop.
CS 493/693: Distributed Systems Programming V. “Juggy” Jagannathan CSEE, West Virginia University March 21, 2005.
Advanced Web Forms with Databases Programming Right from the Start with Visual Basic.NET 1/e 13.
Web application: Operation and maintenance Basharat Mahmood, Department of Computer Science,CIIT,Islamabad, Pakistan. 1.
Web-based E-commerce Architecture
® IBM Software Group © 2007 IBM Corporation J2EE Web Component Introduction
Database Application Security Models Database Application Security Models 1.
Csi315csi315 Client/Server Models. Client/Server Environment LAN or WAN Server Data Berson, Fig 1.4, p.8 clients network.
Unit – I CLIENT / SERVER ARCHITECTURE. Unit Structure  Evolution of Client/Server Architecture  Client/Server Model  Characteristics of Client/Server.
Implementation - Part 2 CPS 181s March 18, Pieces of the Site-building Puzzle Page 180, figure 4.1.
Webcommerce Computer Networks Webcommerce by Linnea Reppa Douglas Martindale Lev Shalevich.
Modeling web applications
Database Systems: Design, Implementation, and Management Eighth Edition Chapter 14 Database Connectivity and Web Technologies.
9 Systems Analysis and Design in a Changing World, Fourth Edition.
9 Systems Analysis and Design in a Changing World, Fourth Edition.
12 Chapter 12: Advanced Topics in Object-Oriented Design Systems Analysis and Design in a Changing World, 3 rd Edition.
Distributed System Architectures Yonsei University 2 nd Semester, 2014 Woo-Cheol Kim.
CSC 480 Software Engineering Lecture 17 Nov 4, 2002.
1 LM 6 Database Applications Dr. Lei Li. Learning Objectives Explain three components of a client-server system Describe differences between a 2-tiered.
E-commerce Architecture Ayşe Başar Bener. Client Server Architecture E-commerce is based on client/ server architecture –Client processes requesting service.
9. 9 Systems Analysis and Design in a Changing World, Fourth Edition.
9 Systems Analysis and Design in a Changing World, Fifth Edition.
Zoljargal.M  Introduction  Methods, approaches  Specifics of Web architecture  Typical components of architectures.
Distributed Systems Architectures Chapter 12. Objectives  To explain the advantages and disadvantages of different distributed systems architectures.
Distributed Systems Architectures. Topics covered l Client-server architectures l Distributed object architectures l Inter-organisational computing.
Web Engineering CS-4513 Prepared By: Junaid Hassan Lecturer at UOS M.B.Din Campus
CIIT-Human Computer Interaction-CSC456-Fall-2015-Mr
N-Tier Architecture.
Principles of Network Applications
CSC 480 Software Engineering
Web Application Architectures
Introduction to Databases Transparencies
Lecture 1: Multi-tier Architecture Overview
Presentation transcript:

Web application architecture Basharat Mahmood, Department of Computer Science,CIIT,Islamabad, Pakistan.

Summary of the previous lecture System modeling Requirement Modeling use-case diagram, activity diagram Content modeling class diagram, state machine diagram Navigation modeling Presentation modeling Basharat Mahmood, Department of Computer Science,CIIT,Islamabad, Pakistan.

Outline Software system architecture Specifics of web application architecture Layered web architecture 2-layered architecture 3-layered architecture N-layered architecture Basharat Mahmood, Department of Computer Science,CIIT,Islamabad, Pakistan. Department of Computer Science, CIIT Islamabad.

1. Software system architecture The architecture of a computer system is the high-level (most general) design on which the system is based Architectural features include: Components Collaborations (how components interact) Connectors (how components communicate) Basharat Mahmood, Department of Computer Science,CIIT,Islamabad, Pakistan.

1. Software system architecture… Key attributes of an architecture architecture describes structure architecture forms the transition from analysis to implementation different viewpoints (conceptual, runtime, process and implementation) makes a system understandable Basharat Mahmood, Department of Computer Science,CIIT,Islamabad, Pakistan.

1. Software system architecture… Factors influence the system architecture Quality considerations with Performance Scalability Reusability Other? Functional Requirements Clients Users Other Stakeholders Architecture Basharat Mahmood, Department of Computer Science,CIIT,Islamabad, Pakistan.

1. Software system architecture… Factors influence the system architecture Architecture Experience with Existing Architecture Patterns Project Management Other? Technical Aspects Operating System Middleware Legacy Systems Other? Basharat Mahmood, Department of Computer Science,CIIT,Islamabad, Pakistan.

2. Specifics in web application architecture A number of architectures for specific requirement in several application domain have been developed For web application architecture, usually we consider layering aspect: to implement the principle of ‘separation of concerns’ data aspects: to support processing of structured and non-structured data Basharat Mahmood, Department of Computer Science,CIIT,Islamabad, Pakistan.

2. Specifics in web application architecture… For web applications quality requirements are more demanding as compared to desktop applications performance, security, scalability, and availability etc. Need specific technical infrastructures both for the development and the operation of web applications Basharat Mahmood, Department of Computer Science,CIIT,Islamabad, Pakistan.

2. Specifics in web application architecture we have to consider web infrastructure architecture (WPA) web application architecture (WAA) Web application architecture (WAA) depends on the problem domain of the application, therefore we focus on web platform architecture (WPA) Basharat Mahmood, Department of Computer Science,CIIT,Islamabad, Pakistan.

2. 1 Components of a web application architecture Client: generally a browser (user agent) is controlled by a user to operate the web application the client’s functionality can be expanded by installing plug-ins Firewall: a piece of software regulating the communication between insecure networks(e.g., the Internet) and secure networks (e.g., corporate LANs) this communication is filtered by access rules Basharat Mahmood, Department of Computer Science,CIIT,Islamabad, Pakistan.

2. 1 Components of a web application architecture Proxy: A proxy is typically used to temporarily store web pages in a cache Web server: A Web server is a piece of software that supports various Web protocols like HTTP, and HTTPS, etc., to process client requests Basharat Mahmood, Department of Computer Science,CIIT,Islamabad, Pakistan.

2. 1 Components of a web application architecture Database server: this server normally supplies data in structured form, e.g., in tables Legacy application: A legacy application is an older system that should be integrated as an internal or external component Basharat Mahmood, Department of Computer Science,CIIT,Islamabad, Pakistan.

2. 1 Components of a web application architecture Media server: This component is primarily used for content streaming of non-structured bulk data (e.g., audio or video) Application server: An application server holds the functionality required by several applications Basharat Mahmood, Department of Computer Science,CIIT,Islamabad, Pakistan.

2. 1 Components of a web application architecture Client Firewall proxy Web-server CGI support Browser HTML, XML Plug -In Database server Application server Media server Legacy application Basharat Mahmood, Department of Computer Science,CIIT,Islamabad, Pakistan.

3. Layered architecture for web applications Presentation tier: Every web application needs to communicate with external entities, human users or other computers allows these entities to interact with the system implemented as a GUI interface How the data should appear to the user Basharat Mahmood, Department of Computer Science,CIIT,Islamabad, Pakistan.

3. Layered architecture for web applications Application tier: Web applications do more than information delivery, they perform data processing (Business Logic & calculation) behind the results being delivered This tier is often referred to as Services Business logic Basharat Mahmood, Department of Computer Science,CIIT,Islamabad, Pakistan.

3. Layered architecture for web applications Data layer: Web applications needs data to work with Data can reside in databases or other information repositories Deals with and implements different data sources of Information Systems Basharat Mahmood, Department of Computer Science,CIIT,Islamabad, Pakistan.

3.1 two-layer web architecture Presents architecture in two layers: Layer 1: Client platform, hosting a web browser Layer 2: server platform, hosting all server software components Also called client/server architecture Client directly send request to the server Server respond to the client request Static or dynamic requests Basharat Mahmood, Department of Computer Science,CIIT,Islamabad, Pakistan.

3.1 two-layer web architecture Client Client Server Web/App Server Services Database Dynamic HTML Static HTML Basharat Mahmood, Department of Computer Science,CIIT,Islamabad, Pakistan.

3.1 two-layer web architecture Advantage: Inexpensive (single platform) Disadvantages: Interdependency (coupling) of components No redundancy Limited scalability Typical application: 10-100 users Small company or organization Basharat Mahmood, Department of Computer Science,CIIT,Islamabad, Pakistan.

3.2 three-layer web architecture Usually implemented in 3 layers Layer 1: Data Layer 2: Application Layer 3: presentation Additionally, security mechanism (Firewall) and caching mechanism (Proxies) can be added Basharat Mahmood, Department of Computer Science,CIIT,Islamabad, Pakistan.

3.1 three-layer web architecture Client Firewall Proxy Presentation Layer Web Server Business Layer Application Server (Business Logic, Connectors, Personalization, Data Access) Backend (Legacy Application, Enterprise Info System) Data Layer DBMS

3.2 three-layer web architecture Advantages: Improved performance Decreased coupling of software components Improved scalability Disadvantages: No redundancy Typical Application: 100-1000 users Small business or regional organization, e.g., specialty retailer, small college Basharat Mahmood, Department of Computer Science,CIIT,Islamabad, Pakistan.

3.3 N-layer web architecture A multitier (N-layer) architecture is an expansion of the 3-layer architecture, in one of several different possible ways Replication of the function of a layer Specialization of function within a layer Basharat Mahmood, Department of Computer Science,CIIT,Islamabad, Pakistan.

3.3 N-layer web architecture… Replication: Application and data servers are replicated Servers share the total workload Basharat Mahmood, Department of Computer Science,CIIT,Islamabad, Pakistan.

3.3 N-layer web architecture… Specialization: Servers are specialized Each server handles a designated part of the workload, by function Basharat Mahmood, Department of Computer Science,CIIT,Islamabad, Pakistan.

3.3 N-layer web architecture… Basharat Mahmood, Department of Computer Science,CIIT,Islamabad, Pakistan.

3.3 N-layer web architecture… Advantages: Decoupling of software components Flexibility to add/remove platforms in response to load Scalability Redundancy Disadvantages: Higher costs (maintenance, design, electrical load, cooling) Typical Application: 1000+ users Large business or organization Basharat Mahmood, Department of Computer Science,CIIT,Islamabad, Pakistan.

3.4 Comparison of layered architecture large e-commerce, business, or organization small e-commerce, regional business or organization local business or organization N-Tier 1000 3-Tier users 100 2-Tier 10 capacity scalability redundancy cost Basharat Mahmood, Department of Computer Science,CIIT,Islamabad, Pakistan.

3.5 example Client Presentation Layer Web Server Business Layer Application Server (Business Logic, Connectors, Personalization, Data Access) Business Layer Media Server DBMS Data Layer

Summary Software system architecture Specifics of web application architecture Layered web architecture 2-layered architecture 3-layered architecture N-layered architecture Basharat Mahmood, Department of Computer Science,CIIT,Islamabad, Pakistan.

References Chapter 4, Kappel, G., Proll, B. Reich, S. & Retschitzegger, W. (2006). Web Engineering, Hoboken, NJ: Wiley & Son Web-based application development, Ralph F Grove , J and B publishers, (www.jbpub.com) Basharat Mahmood, COMSATS Institute of Information Technology, Islamabad, Pakistan.