Web Engineering CS-4513 Prepared By: Junaid Hassan Lecturer at UOS M.B.Din Campus junaidte14@gmail.com.

Slides:



Advertisements
Similar presentations
3 Copyright © 2005, Oracle. All rights reserved. Designing J2EE Applications.
Advertisements

TCP/IP Protocol Suite 1 Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display. Chapter 22 World Wide Web and HTTP.
Copyright © 2012 Certification Partners, LLC -- All Rights Reserved Lesson 4: Web Browsing.
Lesson 4: Web Browsing.
SWE 316: Software Design and Architecture
8.
Technical Architectures
Chapter 9: Moving to Design
Web Proxy Server Anagh Pathak Jesus Cervantes Henry Tjhen Luis Luna.
FIREWALL TECHNOLOGIES Tahani al jehani. Firewall benefits  A firewall functions as a choke point – all traffic in and out must pass through this single.
Web Application Architecture: multi-tier (2-tier, 3-tier) & mvc
Web application architecture
UNIT-V The MVC architecture and Struts Framework.
Client/Server Architectures
CLIENT A client is an application or system that accesses a service made available by a server. applicationserver.
Enterprise Systems & Architectures. Enterprise systems are mainly composed of information systems. Business process management mainly deals with information.
LAYING OUT THE FOUNDATIONS. OUTLINE Analyze the project from a technical point of view Analyze and choose the architecture for your application Decide.
Internet Basics Dr. Norm Friesen June 22, Questions What is the Internet? What is the Web? How are they different? How do they work? How do they.
An Introduction to Software Architecture
Networks QUME 185 Introduction to Computer Applications.
® IBM Software Group © 2007 IBM Corporation J2EE Web Component Introduction
Unit – I CLIENT / SERVER ARCHITECTURE. Unit Structure  Evolution of Client/Server Architecture  Client/Server Model  Characteristics of Client/Server.
9 Systems Analysis and Design in a Changing World, Fourth Edition.
The Intranet.
INTRODUCTION TO WEB APPLICATION Chapter 1. In this chapter, you will learn about:  The evolution of the Internet  The beginning of the World Wide Web,
Model View Controller MVC Web Software Architecture.
Module: Software Engineering of Web Applications Chapter 2: Technologies 1.
E-commerce Architecture Ayşe Başar Bener. Client Server Architecture E-commerce is based on client/ server architecture –Client processes requesting service.
Zoljargal.M  Introduction  Methods, approaches  Specifics of Web architecture  Typical components of architectures.
Successfully Implementing The Information System Systems Analysis and Design Kendall and Kendall Fifth Edition.
Introduction The concept of a web framework originates from the basic idea that every web application obtains its foundations from a similar set of guidelines.
E-Business Infrastructure PRESENTED BY IKA NOVITA DEWI, MCS.
4.01 How Web Pages Work.
Introduction to Oracle Forms Developer and Oracle Forms Services
Progress Apama Fundamentals
Internet Made Easy! Make sure all your information is always up to date and instantly available to all your clients.
Chapter 8 Environments, Alternatives, and Decisions.
The Intranet.
Web Engineering CS-4513 Prepared By: Junaid Hassan Lecturer at UOS M.B.Din Campus
CIIT-Human Computer Interaction-CSC456-Fall-2015-Mr
Improving searches through community clustering of information
Web Application Architecture
Web Development Web Servers.
Introduction to Oracle Forms Developer and Oracle Forms Services
Internet and Intranet.
WEB SERVICES.
Lesson 4: Web Browsing.
EMBEDDED WEB TECHNOLOGY
Model View Controller
Principles of Network Applications
E-commerce | WWW World Wide Web - Concepts
Introduction to Oracle Forms Developer and Oracle Forms Services
MVC and other n-tier Architectures
E-commerce | WWW World Wide Web - Concepts
Software Design and Architecture
Web Engineering.
Processes The most important processes used in Web-based systems and their internal organization.
Introduction to J2EE Architecture
Internet and Intranet.
Web Application Architectures
Lecture 1: Multi-tier Architecture Overview
Internet and Intranet.
An Introduction to Software Architecture
Lesson 4: Web Browsing.
WEB SERVICES From Chapter 19, Distributed Systems
4.01 How Web Pages Work.
Internet and Intranet.
Lecture 23 CS 507.
Chapter 21 Successfully Implementing The Information System
Presentation transcript:

Web Engineering CS-4513 Prepared By: Junaid Hassan Lecturer at UOS M.B.Din Campus junaidte14@gmail.com

Topic: Web Application Artchitectures (WAA): Fundamentals of WAA Specifics of WAA Components of a generic AA Layered Architecture Data-aspect architectures MVC Architecture

Fundamentals of WAA: Architecture means how the components are arranged and how these components communicate with each other Architecure describes the structure It can be considered a building design and flow chart for a software product Architecture makes a system understandable Architecture represents the framework for a flexible system

Fundamentals of WAA: The quality of an application/software is considerably influenced by its underlying architecture. Poor performance, insufficient maintainability and expandability, and low availability of a Web application are often caused by an inappropriate architecture The architecture of an application is influenced by functional requirements, technical constraints, development rules (coding guidelines), distribution aspects (end users) and system integrations.

Fundamentals of WAA: Frameworks: A framework is a reusable software system with general functionality already implemented The framework serves as a blueprint for the basic architecture and basic functionalities for a specific field of application This means that the architectural knowledge contained in a framework can be fully adopted in the application High degree of training efforts, lack of standards for integration of different frameworks, dependance on manufacturers

Specifics of WAA: We can see that Web application requirements are more demanding than requirements for comparable traditional software systems This development, especially with regard to changeability, performance, security, scalability, and availability, has encouraged the proposal and introduction of specific technical infrastructures both for the development and the operation of Web applications

Specifics of WAA: Many aspects need to be considered while developing or planning a web application architecture e.g Internationalization, character sets, representation mechanisms (e.g arabic character from right to left) Inhomogeneity and immaturity of technical infrastructures The survey disclosed that newly introduced product versions have been slower than their predecessors, and that new functionalities have caused incompatibilities in the existing application code

Components of a generic AA:

Components of a generic AA: 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 and applets. 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.

Components of a generic AA: Proxy: A proxy is typically used to temporarily store Web pages in a cache. However, proxies can also assume other functionalities, e.g., adapting the contents for users (customization), or user tracking Web server: A Web server is a piece of software that supports various Web protocols like HTTP, and HTTPS, etc., to process client requests. Database server: This server normally supplies an organization’s production data in structured form, e.g., in tables.

Components of a generic AA: Media server: This component is primarily used for content streaming of non-structured bulk data (e.g., audio or video). Content management server: Similar to a database server, a content management server holds contents to serve an application. These contents are normally available in the form of semi-structured data, e.g., XML documents.

Components of a generic AA: Application server: An application server holds the functionality required by several applications, e.g., workflow or customization. Legacy application: A legacy application is an older system that should be integrated as an internal or external component.

Layered Architectures: A 2-layer architecture also called client/server architecture, uses a Web server to provide services to a client

Layered Architectures: 2-layer architecture is simplest architecture A client request can point directly to static HTML pages, without requiring any processing logic on the server layer, or it can access a database via the application logic on the Web server This architecture is suitable particularly for simple Web applications.

N-Layered Architectures: N-layer architectures allow us to organize a Web application in an arbitrary number of layers They typically consist of three layers, the data layer, providing access to the application data, the business layer, hosting the business logic of the application in an application server, and finally the presentation layer, which renders the result of the request in the desired output format

N-Layered Architectures: Additionally, security mechanisms like firewalls, or caching mechanisms like proxies, can be integrated into the request-response flow upon demand 2-layer and n-layer architectures differ mainly in how they embed services within the application server component Services like customization or workflow are held in the application server’s context, so that they are available to all Web applications

N-Layered Architectures:

Data-Aspect Architectures: Data can be grouped into either of three architectural categories: Structured data of the kind held in databases Documents of the kind used in document management systems Multimedia data of the kind held in media servers A number of tools and approaches is available to integrate databases into Web applications

Data-Aspect Architectures: Since database technologies (and particularly relational databases) are highly mature, they are easy to integrate Architectures for web document management: In addition to structured data held in databases and multimedia data held on media servers, contents of Web applications are often processed in the form of documents. Content management architectures support the integration of documents from different sources, representing a mechanism to integrate these contents into Web applications.

Data-Aspect Architectures: Architectures for multimedia data: Basically, multimedia data, i.e., audio and video, can be transmitted over standard Internet protocols like HTTP or FTP, just like any other data used in Web applications. This approach is used by a large number of current Web applications , because it has the major benefit that no additional components are needed on the server. Its downside, however, is often felt by users in that the media downloads are very slow

Data-Aspect Architectures: We can use streaming technologies to minimize these waiting times for multimedia contents to play out. Streaming in this context means that a client can begin playout of the audio and/or video a few seconds after it begins receiving the file from a server. This technique avoids having to download the entire file (incurring a potentially long delay) before beginning playout.

MVC Architecture: Model–view–controller (MVC) is a software architectural pattern. It divides a given application into three interconnected parts in order to separate internal representations of information from the ways that information is presented to and accepted from the user.

MVC Architecture:

MVC Architecture: User’s requests are received by controller. Controller communicate with Model according to the request generated by the user. Model is actually the database layer. It will send/recieve information from database as requested by the user and will send the response to View. View is the final output/page generated according to the user’s request.

Summary: Fundamentals of WAA Specifics of WAA Components of a generic AA Layered Architecture Data-aspect architectures