Presentation is loading. Please wait.

Presentation is loading. Please wait.

By Ruizhe Ma, Avinash Madineni Sidoine Lafleur Kamgang Nov,

Similar presentations


Presentation on theme: "By Ruizhe Ma, Avinash Madineni Sidoine Lafleur Kamgang Nov,"— Presentation transcript:

1 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,

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

3 I- CLIENTS Web browser Web proxy

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

5 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.

6 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.

7 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.

8 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

9 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

10 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

11 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

12 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

13 Apache Organisation

14 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

15 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

16 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.

17 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

18 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

19 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

20 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

21 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 ) 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

22 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

23 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.

24 WEB SERVERS CLUSTERS STRUCTURE

25 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.

26 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.

27 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.

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

29 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): 3]Ben Laurie, Peter Laurie,”Apache: The definitive Guide.” Vital info for Apache programmers(2002)

30 QUESTIONS


Download ppt "By Ruizhe Ma, Avinash Madineni Sidoine Lafleur Kamgang Nov,"

Similar presentations


Ads by Google