By Ruizhe Ma, Avinash Madineni Sidoine Lafleur Kamgang Nov,

Slides:



Advertisements
Similar presentations
MicroKernel Pattern Presented by Sahibzada Sami ud din Kashif Khurshid.
Advertisements

Welcome to Middleware Joseph Amrithraj
DT211/3 Internet Application Development Active Server Pages & IIS Web server.
Technical Architectures
Rheeve: A Plug-n-Play Peer- to-Peer Computing Platform Wang-kee Poon and Jiannong Cao Department of Computing, The Hong Kong Polytechnic University ICDCSW.
Distributed Systems Architectures
INTERNET DATABASE Chapter 9. u Basics of Internet, Web, HTTP, HTML, URLs. u Advantages and disadvantages of Web as a database platform. u Approaches for.
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved DISTRIBUTED SYSTEMS.
Web Servers How do our requests for resources on the Internet get handled? Can they be located anywhere? Global?
Web architecture Dr Jim Briggs Web architecture.
INTERNET DATABASE. Internet and E-commerce Internet – a worldwide collection of interconnected computer network Internet – a worldwide collection of interconnected.
CS CS 5150 Software Engineering Lecture 13 System Architecture and Design 1.
The World Wide Web and the Internet Dr Jim Briggs 1WUCM1.
CP476 Internet Computing Browser and Web Server 1 Web Browsers A client software program that allows you to access and view Web pages on the Internet –Examples.
Proxy Cache Leonid Romanovsky Olga Fomenko Winter 2003 Instructor: Konstantin Sinyuk.
Quick Tour of the Web Technologies: The BIG picture LECTURE A bird’s eye view of the different web technologies that we shall explore and study.
CLIENT A client is an application or system that accesses a service made available by a server. applicationserver.
INTRODUCTION TO WEB DATABASE PROGRAMMING
M. Taimoor Khan * Java Server Pages (JSP) is a server-side programming technology that enables the creation of dynamic,
Intranet, Extranet, Firewall. Intranet and Extranet.
Web Servers Web server software is a product that works with the operating system The server computer can run more than one software product such as .
FALL 2005CSI 4118 – UNIVERSITY OF OTTAWA1 Part 4 Web technologies: HTTP, CGI, PHP,Java applets)
Web Application Architecture and Communication. Displaying a Web page in a Browser
1 Web Server Concepts Dr. Awad Khalil Computer Science Department AUC.
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.
Server-side Scripting Powering the webs favourite services.
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved DISTRIBUTED.
Java Omar Rana University of South Asia. Course Overview JAVA  C/C++ and JAVA Comparison  OOP in JAVA  Exception Handling  Streams  Graphics User.
 2001 Prentice Hall, Inc. All rights reserved. 1 Chapter 21 - Web Servers (IIS, PWS and Apache) Outline 21.1 Introduction 21.2 HTTP Request Types 21.3.
ITIS 1210 Introduction to Web-Based Information Systems Chapter 23 How Web Host Servers Work.
HOW WEB SERVER WORKS? By- PUSHPENDU MONDAL RAJAT CHAUHAN RAHUL YADAV RANJIT MEENA RAHUL TYAGI.
® IBM Software Group © 2007 IBM Corporation J2EE Web Component Introduction
1 Apache. 2 Module - Apache ♦ Overview This module focuses on configuring and customizing Apache web server. Apache is a commonly used Hypertext Transfer.
Chapter 34 Java Technology for Active Web Documents methods used to provide continuous Web updates to browser – Server push – Active documents.
1 Welcome to CSC 301 Web Programming Charles Frank.
1 Geospatial and Business Intelligence Jean-Sébastien Turcotte Executive VP San Francisco - April 2007 Streamlining web mapping applications.
1 MSCS 237 Overview of web technologies (A specific type of distributed systems)
Overview Web Session 3 Matakuliah: Web Database Tahun: 2008.
© 2004 OPNET Technologies, Inc. All rights reserved. OPNET and OPNET product names are trademarks of OPNET Technologies, Inc. ARMing Apache David Carter.
CSC 480 Software Engineering Lecture 18 Nov 6, 2002.
ECEN “Internet Protocols and Modeling”, Spring 2012 Course Materials: Papers, Reference Texts: Bertsekas/Gallager, Stuber, Stallings, etc Class.
World Wide Web “WWW”, "Web" or "W3". World Wide Web “WWW”, "Web" or "W3"
Web Pages with Features. Features on Web Pages Interactive Pages –Shows current date, get server’s IP, interactive quizzes Processing Forms –Serach a.
21/12/20151 T h i s p r e s e n t a t i o n w i l l p r o b a b l y i n v o l v e a u d i e n c e d i s c u s s i o n, w h i c h w i l l c r e a t e a.
Module: Software Engineering of Web Applications Chapter 2: Technologies 1.
Scripting Languages Client Side and Server Side. Examples of client side/server side Examples of client-side side include: JavaScript Jquery (uses a JavaScript.
Web Systems & Technologies Lecture 1
CSI 3125, Preliminaries, page 1 SERVLET. CSI 3125, Preliminaries, page 2 SERVLET A servlet is a server-side software program, written in Java code, that.
1 Isolating Web Programs in Modern Browser Architectures CS6204: Cloud Environment Spring 2011.
WEB SERVER SOFTWARE FEATURE SETS
CSI 3125, Preliminaries, page 1 Networking. CSI 3125, Preliminaries, page 2 Networking A network represents interconnection of computers that is capable.
 Web pages originally static  Page is delivered exactly as stored on server  Same information displayed for all users, from all contexts  Dynamic.
ASP-2-1 SERVER AND CLIENT SIDE SCRITPING Colorado Technical University IT420 Tim Peterson.
Apache Web Server Architecture Chaitanya Kulkarni MSCS rd April /23/20081Apache Web Server Architecture.
Web Cache. What is Cache? Cache is the storing of data temporarily to improve performance. Cache exist in a variety of areas such as your CPU, Hard Disk.
12. DISTRIBUTED WEB-BASED SYSTEMS Nov SUSMITHA KOTA KRANTHI KOYA LIANG YI.
1 Chapter 1 INTRODUCTION TO WEB. 2 Objectives In this chapter, you will: Become familiar with the architecture of the World Wide Web Learn about communication.
DISTRIBUTED SYSTEMS Principles and Paradigms Second Edition ANDREW S
CIIT-Human Computer Interaction-CSC456-Fall-2015-Mr
Improving searches through community clustering of information
Web Development Web Servers.
Distributed web based systems
Processes The most important processes used in Web-based systems and their internal organization.
PHP / MySQL Introduction
Chapter 3: Windows7 Part 4.
Lecture 1: Multi-tier Architecture Overview
Internet Protocols IP: Internet Protocol
Web Servers (IIS and Apache)
Web Application Development Using PHP
Presentation transcript:

By Ruizhe Ma, Avinash Madineni Sidoine Lafleur Kamgang Nov, 04 2015 12.2 PROCESSES By Ruizhe Ma, Avinash Madineni Sidoine Lafleur Kamgang Instructor: Yanqing Zhang Nov, 04 2015

CONTENTS I- Clients II- The Apache Web Server III- Web Server Clusters References Questions

I- CLIENTS Web browser Web proxy

WEB BROWSER The most important Web client. Enable users to navigate through web pages. Ideally platform independent.

WEB BROWSER Core: browser engine and rendering engine. Browser engine: provide mechanisms for end user to go over a document, select parts of it, activate hyperlinks, etc. Rendering engine: code for displaying documents. Rendering requires at least parsing HTML/XML, may also require script interpretation. Usually only include Javascript interpreter.

PLUGS INS Web browsers should be easily extensible, to support any type of document returned by a server. Plug-ins: a small program that can be dynamically loaded into a browser for handling specific document types. Locally available. Offer standard interface to browser and expect standard interface from browser. Logically form an extension of the rendering engine.

WEB PROXY Client-side process. Originally used to allow a browser to handle application level protocols other than HTTP. A broser can issue an HTTP request to a local FTP proxy, which then fech the file and return it embedded as HTTP.

WEB PROXY Now, most browsers are capable of supporting a variety of protocols or can otherwise be dynamically extended to do so. Proxies can be used for other purposes, such as: filtering requests and responses (application level firewall) logging compression cachine

II- THE APACHE WEB SERVER Apache is the most popular Web server. It is estimated to host approximately 70% of all the websites. Apache is a complex piece of software Important that the server is highly configurable and extensible and at the same time largely independent of specific platforms Apache have been so far the most used webserver in the distributed web based systems, but 3multi- tier architecture that used dosen’t make the web application scalable , now How to make a web site scalable? The web server cluster organizer allow to have a more scalable website

Apache Portable Runtime (APR) Server platform is made independent by providing its own basic runtime environment, which is then subsequently implemented for different operating systems. APR is a library that provides a platform-independent interface for file handling, networking, locking, threads, and so on APR provides a set of APIs that map to the underlying operating system (OS) If an OS does not support a particular function, APR will provide an emulation

Contd.. Portability guaranteed when calls are made to the APR and calls to platform- specific libraries are avoided Apache is tailored not only to provide flexibility but also easy to extend its functionality Globule(content delivery network) is implemented as an extension to Apache based on APR

Apache & Networking a) Apache uses the TCP/IP protocol as its foundation b) HTTP is virtually always implemented on top of TCP Core of Apache assumes that all incoming requests adhere to a TCP-based connection oriented way of communication Therefore, requests based on UDP cannot be properly handled without modifying the Apache core

Apache Organisation

Apache Organisation Apache core makes few assumptions on how incoming requests should be handled Fundamental concept here is a Hook, which is a placeholder for a specific group of functions Apache core assumes that requests are processed in a number of phases, each phase consisting of a few hooks Each hook represents a group of similar actions that needs to be executed as part of processing a request

Contd.. For example, there is a hook to translate a URL to a local file name. Such a translation will almost certainly need to be done when processing a request Hooks are processed in a predetermined order Apache enforces a specific flow of control concerning the processing of requests

Hooks Hook comes in five parts : a. Declaration - Consists of the return type, the name of the hook, and an argument list Eg: AP_DECLARE_HOOK(int,some_hook,(int,char *,struct x)) b. Hook structure - Place where the hook machinery uses to store stuff. Provide a link for each hook.

contd.. c. Implementation : Calls all the functions registered for the hook and handles their return values d. Call to the implementation : No value, ok or decline, other than (ok/decline) e. Hooked function : Final part is the way you register a function to be called by the hook First four parts are all provided by the author of the hook, and the last by its user

Modules Functions associated with a hook are all provided by separate modules. Modules are mutual independent generally Apache can also handle module dependencies by letting a developer specify an ordering in which functions from different modules should be processed

Contd.. Developer could change the set of hooks that will be processed by Apache Modules containing the functions that need to be called as part of processing the standard hooks Underlying principle: Every hook can contain a set of functions that each should match a specific function prototype (i.e., list of parameters and return type) The developer specifies which function should be added to which hook

III- WEB SERVERS CLUSTERS In order to improve performance, availability of distributed web application and make them more scalable, servers in distributed web systems are often clustered in a way that is transparent to clients. Apache have been so far the most used webserver in the distributed web based systems, but 3multi- tier architecture that used dosen’t make the web application scalable , now How to make a web site scalable? The web server cluster organizer allow to have a more scalable website

WHAT ARE WEB SERVERS CLUSTERS Web servers cluster are a type of web servers in which the load of the server is spread across multiple physical machines, or node, increasing availability and decreasing the chances of one service (e.g., FTP or email) affecting another (e.g., MySQL). Apache have been so far the most used webserver in the distributed web based systems, but 3multi- tier architecture that used dosen’t make the web application scalable , now How to make a web site scalable? The web server cluster organizer allow to have a more scalable website

EXAMPLE OF WEB SERVERS CLUSTERS Many large websites run on web server clusters hosting solutions, ex: large discussion forums will tend to run using multiple front-end webservers with multiple back-end database servers. Apache have been so far the most used webserver in the distributed web based systems, but 3multi- tier architecture that used dosen’t make the web application scalable , now How to make a web site scalable? The web server cluster organizer allow to have a more scalable website

WEB SERVERS CLUSTERS STRUCTURE In Web server clusters, web servers have been replicated with and combine with a front end which handle all incoming request.

WEB SERVERS CLUSTERS STRUCTURE

WEB SERVERS CLUSTERS TYPE The one using the Transport-layer switching, where Front end simply passes the TCP request to one of the servers, taking some performance metric into account.

WEB SERVERS CLUSTERS TYPE Problem: Here, the front end may easily get overloaded because it handle all incoming request, so that special measures need to be taken.

WEB SERVERS CLUSTERS TYPE Solution: The Content-aware distribution is another type of web servers clusters. Here, Front end reads the content of the HTTP request and then selects the best server.

WEB SERVERS CLUSTERS TYPE It is a solution to the Transport-layer switching web server cluster type

REFERENCES 1]Grosskurth, Alan, and Michael W. Godfrey. "A Reference Architecture for Web Browsers." Lynx 1.2.0: 2-4. 2]Luotonen, Ari, and Kevin Altis. "World-wide web proxies." Computer Networks and ISDN systems 27.2 (1994): 147-154. 3]Ben Laurie, Peter Laurie,”Apache: The definitive Guide.” Vital info for Apache programmers(2002)

QUESTIONS