SlideShare a Scribd company logo
Distributed Web-Based SystemsDepartment of Engineering – Information Technology Reza Ghanbari2010
Outline WWW URL WebDocuments HTTP Connections Methods Messages Caching Content Distribution Network Web Service Terminology Architecture Traditional Web Based Systems Multi-tiered Web Based Systems Web Server Clusters Web Security SSL References
World Wide Web ,[object Object]
Servers maintain collections of documents while clients provide users an easy-to-use interface for presenting and accessing those documents.
A document is fetched from a server, transferred to a client, and presented on the screen.
There is conceptually no difference between a document stored locally or in another part of the world for any user.
Now, Web has become more than just a simple document based system.
With the emergence of Web Services, it is becoming a system of distributed services rather than just documents offered to any user or machine.,[object Object]
The DNS name of its associated server along with a file name is specified.
Example:
http://www.example.sharif.edu/notes/WebBasedDistributedSystem.ppt,[object Object]
In many cases special helper applications (interpreters) are needed, and they are integrated into the browser.
The main part of Web documents are written in a markup language, such as
HyperText Markup Language (HTML) and
eXtensible Markup Language (XML),[object Object]
An embedded document can be a complete program executed on-the-fly as part of displaying information.
Multipurpose Internet Mail Exchange (MIME) is used to specify the type of an embedded document.
MIME was originally developed to provide information on the content of e-mail messages.,[object Object]
HTTP ,[object Object]
HTTP is a simple protocol; a client sends a request to a server and waits for a response.
HTTP is based on TCP; whenever a client issues a request to a server, it first sets up a TCP connection and sends the message on that connection. The same connection is used for receiving the response.
One of the problems with the first versions of HTTP was its inefficient use of TCP connections.
HTTP 1.0 vs. HTTP 1.1,[object Object]
In HTTP version 1.0 and older, each request to a server required setting up a separate connection. When server had responded the connection was broken down. These connections are referred as non-persistent.
In HTTP version 1.1, several requests and their responses can be issued without the need for a separate connection. These connections are referred as persistent.
Furthermore, a client can issue several requests in a row without waiting for the response to the first request which is referred as pipelining.,[object Object]
HTTP Operations
HTTP MESSAGES (Request)
HTTP MESSAGES (Response) Status code (Phrase): 200 (OK), 400 (Bad Request), 403 (Forbidden), and 404 (Not Found).
HTTP MESSAGES (Response) ,[object Object],[object Object]
HTTP Caching Clients often cache documents Challenge: update of documents If-Modified-Since requests to check HTTP 0.9/1.0 used just date HTTP 1.1 has an opaque “entity tag” (could be a file signature, etc.) as well When/how often should the original be checked for changes? Check every time? Check each session? Day? Etc? Use “Expires” header If no Expires, often use Last-Modified as estimate 16
Example Cache Check Request GET / HTTP/1.1 Accept: */* Accept-Language: en-us Accept-Encoding: gzip, deflate If-Modified-Since: Mon, 29 Jan 2001 17:54:18 GMT If-None-Match: "7a11f-10ed-3a75ae4a" User-Agent: Mozilla/4.0 (compatible; MSIE 5.5; Windows NT 5.0) Host: www.intel-iris.net Connection: Keep-Alive 17
Example Cache Check Response HTTP/1.1 304 Not Modified Date: Tue, 27 Mar 2001 03:50:51 GMT Server: Apache/1.3.14 (Unix)  (Red-Hat/Linux) mod_ssl/2.7.1 OpenSSL/0.9.5a DAV/1.0.2 PHP/4.0.1pl2 mod_perl/1.24 Connection: Keep-Alive Keep-Alive: timeout=15, max=100 ETag: "7a11f-10ed-3a75ae4a" 18
Problems Over 50% of all HTTP objects are un-cacheable . Not easily solvable Dynamic data : stock prices, scores, web cams CGI scripts : results based on passed parameters SSL : encrypted data is not cacheable Most web clients don’t handle mixed pages well : many generic objects transferred with SSL Cookies : results may be based on passed data Hit metering : owner wants to measure # of hits for revenue, etc. 19
Server Selection Lowest load :  to balance load on servers Best performance :  to improve client performance Any alive node :  to provide fault tolerance How to direct clients to a specific server? Cluster load balancing : TCP hand-off As part of application : HTTP redirect As part of naming : DNS 20
Application-Based Redirection HTTP supports simple way to indicate that Web page has moved (30X responses) Server receives Get request from client Decides which server is best suited for particular client and object Returns HTTP redirect to that server May introduce additional overhead : multiple connection setup, name lookups, etc. 21
Naming Based Client does name lookup for service Name server chooses appropriate server address A record returned is “best” one for the client Name server could base decision on Server load/location must be collected Information in the name lookup request Name service client :  typically the local name server for client 22
Web Proxy Caches 23 origin  server Proxy server HTTP request HTTP request client HTTP response HTTP response HTTP request HTTP response origin  server client User configures browser: Web accesses via  cache Browser sends all HTTP requests to cache Object in cache: cache returns object  Else cache requests object from origin server, then returns object to client
24 Content Distribution Networks (CDNs) origin server  in North America The content providers are the CDN customers. Content replication CDN company installs hundreds of CDN servers throughout Internet Close to users CDN replicates its customers’ content in CDN servers. When provider updates content, CDN updates servers CDN distribution node CDN server In U.S.A CDN server in Asia CDN server in Europe
Content Distribution Networks Replicate content on many servers The general organization of a CDN as a feedback-control system 25
Web Service ,[object Object],“software that makes services available on a network using technologies such as XML and HTTP” ,[object Object],“development of applications from distributed collections  of smaller loosely coupled service providers” 26
Web Services Terminology SOAP Simple Object Access Protocol  exchanging XML messages on a network WSDL Web Service Description Language  describing interfaces of Web services UDDI  Universal Description, Discovery and Integration managing registries of Web services 27
Web Services Framework 28
Why a New Framework? CORBA, DCOM, Java/RMI, ... already exist XML+HTTP: platform/language neutral, widely accepted and utilized  		 Web service interoperability  29
Servlets/CGI vs. Web Services Browser Browser GUI Client Web Server HTTP GET/POST WSDL SOAP Web Server WSDL Web Server WSDL WSDL SOAP JDBC JDBC DB  DB 30

More Related Content

What's hot

Deadlock in Distributed Systems
Deadlock in Distributed SystemsDeadlock in Distributed Systems
Deadlock in Distributed Systems
Pritom Saha Akash
 
Communication in Distributed Systems
Communication in Distributed SystemsCommunication in Distributed Systems
Communication in Distributed Systems
Dilum Bandara
 
Distributed File Systems
Distributed File Systems Distributed File Systems
Distributed File Systems
Maurvi04
 
Message passing in Distributed Computing Systems
Message passing in Distributed Computing SystemsMessage passing in Distributed Computing Systems
Message passing in Distributed Computing Systems
Alagappa Govt Arts College, Karaikudi
 
Naming in Distributed Systems
Naming in Distributed SystemsNaming in Distributed Systems
Naming in Distributed Systems
Nandakumar P
 
GOOGLE FILE SYSTEM
GOOGLE FILE SYSTEMGOOGLE FILE SYSTEM
GOOGLE FILE SYSTEM
JYoTHiSH o.s
 
System models in distributed system
System models in distributed systemSystem models in distributed system
System models in distributed system
ishapadhy
 
CS6601 DISTRIBUTED SYSTEMS
CS6601 DISTRIBUTED SYSTEMSCS6601 DISTRIBUTED SYSTEMS
CS6601 DISTRIBUTED SYSTEMS
Kathirvel Ayyaswamy
 
Message and Stream Oriented Communication
Message and Stream Oriented CommunicationMessage and Stream Oriented Communication
Message and Stream Oriented Communication
Dilum Bandara
 
Client Server Architecture ppt
Client Server Architecture pptClient Server Architecture ppt
Client Server Architecture ppt
OECLIB Odisha Electronics Control Library
 
Google App Engine
Google App EngineGoogle App Engine
Google App Engine
Software Park Thailand
 
Mobile Transport layer
Mobile Transport layerMobile Transport layer
Mobile Transport layer
Pallepati Vasavi
 
Client Centric Consistency Model
Client Centric Consistency ModelClient Centric Consistency Model
Client Centric Consistency Model
Rajat Kumar
 
Application Layer
Application Layer Application Layer
Application Layer
Dr Shashikant Athawale
 
Synchronization in distributed systems
Synchronization in distributed systems Synchronization in distributed systems
Synchronization in distributed systems
SHATHAN
 
Scheduling in Cloud Computing
Scheduling in Cloud ComputingScheduling in Cloud Computing
Scheduling in Cloud Computing
Hitesh Mohapatra
 
11 distributed file_systems
11 distributed file_systems11 distributed file_systems
11 distributed file_systems
longly
 
Virtualization in cloud computing
Virtualization in cloud computingVirtualization in cloud computing
Virtualization in cloud computing
Mohammad Ilyas Malik
 

What's hot (20)

Deadlock in Distributed Systems
Deadlock in Distributed SystemsDeadlock in Distributed Systems
Deadlock in Distributed Systems
 
Communication in Distributed Systems
Communication in Distributed SystemsCommunication in Distributed Systems
Communication in Distributed Systems
 
Distributed File Systems
Distributed File Systems Distributed File Systems
Distributed File Systems
 
Message passing in Distributed Computing Systems
Message passing in Distributed Computing SystemsMessage passing in Distributed Computing Systems
Message passing in Distributed Computing Systems
 
Naming in Distributed Systems
Naming in Distributed SystemsNaming in Distributed Systems
Naming in Distributed Systems
 
GOOGLE FILE SYSTEM
GOOGLE FILE SYSTEMGOOGLE FILE SYSTEM
GOOGLE FILE SYSTEM
 
System models in distributed system
System models in distributed systemSystem models in distributed system
System models in distributed system
 
Distributed Coordination-Based Systems
Distributed Coordination-Based SystemsDistributed Coordination-Based Systems
Distributed Coordination-Based Systems
 
CS6601 DISTRIBUTED SYSTEMS
CS6601 DISTRIBUTED SYSTEMSCS6601 DISTRIBUTED SYSTEMS
CS6601 DISTRIBUTED SYSTEMS
 
Message and Stream Oriented Communication
Message and Stream Oriented CommunicationMessage and Stream Oriented Communication
Message and Stream Oriented Communication
 
Client Server Architecture ppt
Client Server Architecture pptClient Server Architecture ppt
Client Server Architecture ppt
 
message passing
 message passing message passing
message passing
 
Google App Engine
Google App EngineGoogle App Engine
Google App Engine
 
Mobile Transport layer
Mobile Transport layerMobile Transport layer
Mobile Transport layer
 
Client Centric Consistency Model
Client Centric Consistency ModelClient Centric Consistency Model
Client Centric Consistency Model
 
Application Layer
Application Layer Application Layer
Application Layer
 
Synchronization in distributed systems
Synchronization in distributed systems Synchronization in distributed systems
Synchronization in distributed systems
 
Scheduling in Cloud Computing
Scheduling in Cloud ComputingScheduling in Cloud Computing
Scheduling in Cloud Computing
 
11 distributed file_systems
11 distributed file_systems11 distributed file_systems
11 distributed file_systems
 
Virtualization in cloud computing
Virtualization in cloud computingVirtualization in cloud computing
Virtualization in cloud computing
 

Viewers also liked

Cluster Computing
Cluster ComputingCluster Computing
Cluster Computing
BOSS Webtech
 
Sistemas Distribuidos
Sistemas DistribuidosSistemas Distribuidos
Sistemas Distribuidos
Carlos Alonso
 
Aplicaciones Sistemas Distribuidos
Aplicaciones Sistemas DistribuidosAplicaciones Sistemas Distribuidos
Aplicaciones Sistemas Distribuidos
Tensor
 
El internet y sus principales componentes
El internet y sus principales componentesEl internet y sus principales componentes
El internet y sus principales componentesJavier Ramos
 
Cluster computing
Cluster computingCluster computing
Cluster computing
pooja khatana
 
Fuentes de campo magnetico 2. ing Carlos Moreno. ESPOL
Fuentes de campo magnetico 2. ing Carlos Moreno. ESPOLFuentes de campo magnetico 2. ing Carlos Moreno. ESPOL
Fuentes de campo magnetico 2. ing Carlos Moreno. ESPOL
Francisco Rivas
 

Viewers also liked (6)

Cluster Computing
Cluster ComputingCluster Computing
Cluster Computing
 
Sistemas Distribuidos
Sistemas DistribuidosSistemas Distribuidos
Sistemas Distribuidos
 
Aplicaciones Sistemas Distribuidos
Aplicaciones Sistemas DistribuidosAplicaciones Sistemas Distribuidos
Aplicaciones Sistemas Distribuidos
 
El internet y sus principales componentes
El internet y sus principales componentesEl internet y sus principales componentes
El internet y sus principales componentes
 
Cluster computing
Cluster computingCluster computing
Cluster computing
 
Fuentes de campo magnetico 2. ing Carlos Moreno. ESPOL
Fuentes de campo magnetico 2. ing Carlos Moreno. ESPOLFuentes de campo magnetico 2. ing Carlos Moreno. ESPOL
Fuentes de campo magnetico 2. ing Carlos Moreno. ESPOL
 

Similar to Distributed web based systems

introduction to Web system
introduction to Web systemintroduction to Web system
introduction to Web system
hashim102
 
Web Technologies Notes - TutorialsDuniya.pdf
Web Technologies Notes - TutorialsDuniya.pdfWeb Technologies Notes - TutorialsDuniya.pdf
Web Technologies Notes - TutorialsDuniya.pdf
Raghunathan52
 
Web Technologies Notes - TutorialsDuniya.pdf
Web Technologies Notes - TutorialsDuniya.pdfWeb Technologies Notes - TutorialsDuniya.pdf
Web Technologies Notes - TutorialsDuniya.pdf
Raghunathan52
 
Web Services 2009
Web Services 2009Web Services 2009
Web Services 2009Cathie101
 
Web Services 2009
Web Services 2009Web Services 2009
Web Services 2009Cathie101
 
WP Chap 1 & 2.pptx
WP Chap 1 & 2.pptxWP Chap 1 & 2.pptx
WP Chap 1 & 2.pptx
AnkitaChauhan79
 
Server Side Programming
Server Side ProgrammingServer Side Programming
Server Side Programming
Milan Thapa
 
CN UNIT V.pptx
CN UNIT V.pptxCN UNIT V.pptx
CN UNIT V.pptx
VISWANATHAN R V
 
WWW & HTTP
WWW & HTTPWWW & HTTP
Internet
InternetInternet
Internet
manochitra10
 
Lecture 1 Introduction to Web Development.pptx
Lecture 1 Introduction to Web Development.pptxLecture 1 Introduction to Web Development.pptx
Lecture 1 Introduction to Web Development.pptx
Kevi20
 
Web-Server & It's Architecture.pptx
Web-Server & It's Architecture.pptxWeb-Server & It's Architecture.pptx
Web-Server & It's Architecture.pptx
AlokKumar250045
 
Web technology
Web technologyWeb technology
Web technology
Anuj Singh Rajput
 
Www and http
Www and httpWww and http
Www and http
SanthiNivas
 
Configuring the Apache Web Server
Configuring the Apache Web ServerConfiguring the Apache Web Server
Configuring the Apache Web Serverwebhostingguy
 
Web server
Web serverWeb server
Web server
Nirav Daraniya
 
Ch-1_.ppt
Ch-1_.pptCh-1_.ppt
Ch-1_.ppt
berihunmolla2
 
Http_Protocol.pptx
Http_Protocol.pptxHttp_Protocol.pptx
Http_Protocol.pptx
Abshar Fatima
 

Similar to Distributed web based systems (20)

introduction to Web system
introduction to Web systemintroduction to Web system
introduction to Web system
 
Web Technologies Notes - TutorialsDuniya.pdf
Web Technologies Notes - TutorialsDuniya.pdfWeb Technologies Notes - TutorialsDuniya.pdf
Web Technologies Notes - TutorialsDuniya.pdf
 
Web Technologies Notes - TutorialsDuniya.pdf
Web Technologies Notes - TutorialsDuniya.pdfWeb Technologies Notes - TutorialsDuniya.pdf
Web Technologies Notes - TutorialsDuniya.pdf
 
Web Services 2009
Web Services 2009Web Services 2009
Web Services 2009
 
Web Services 2009
Web Services 2009Web Services 2009
Web Services 2009
 
WP Chap 1 & 2.pptx
WP Chap 1 & 2.pptxWP Chap 1 & 2.pptx
WP Chap 1 & 2.pptx
 
Server Side Programming
Server Side ProgrammingServer Side Programming
Server Side Programming
 
CN UNIT V.pptx
CN UNIT V.pptxCN UNIT V.pptx
CN UNIT V.pptx
 
WWW & HTTP
WWW & HTTPWWW & HTTP
WWW & HTTP
 
Www and http
Www and httpWww and http
Www and http
 
Internet
InternetInternet
Internet
 
Lecture 1 Introduction to Web Development.pptx
Lecture 1 Introduction to Web Development.pptxLecture 1 Introduction to Web Development.pptx
Lecture 1 Introduction to Web Development.pptx
 
Web-Server & It's Architecture.pptx
Web-Server & It's Architecture.pptxWeb-Server & It's Architecture.pptx
Web-Server & It's Architecture.pptx
 
Web technology
Web technologyWeb technology
Web technology
 
Www and http
Www and httpWww and http
Www and http
 
Configuring the Apache Web Server
Configuring the Apache Web ServerConfiguring the Apache Web Server
Configuring the Apache Web Server
 
Web server
Web serverWeb server
Web server
 
Ch-1_.ppt
Ch-1_.pptCh-1_.ppt
Ch-1_.ppt
 
Web Servers (ppt)
Web Servers (ppt)Web Servers (ppt)
Web Servers (ppt)
 
Http_Protocol.pptx
Http_Protocol.pptxHttp_Protocol.pptx
Http_Protocol.pptx
 

Recently uploaded

Uni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdfUni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems S.M.S.A.
 
RESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for studentsRESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for students
KAMESHS29
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
Safe Software
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Albert Hoitingh
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
Kari Kakkonen
 
Video Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the FutureVideo Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the Future
Alpen-Adria-Universität
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
James Anderson
 
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
James Anderson
 
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
SOFTTECHHUB
 
Free Complete Python - A step towards Data Science
Free Complete Python - A step towards Data ScienceFree Complete Python - A step towards Data Science
Free Complete Python - A step towards Data Science
RinaMondal9
 
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfObservability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Paige Cruz
 
UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5
DianaGray10
 
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
Neo4j
 
UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6
DianaGray10
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
Guy Korland
 
20240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 202420240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 2024
Matthew Sinclair
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
Alan Dix
 
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
Neo4j
 
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex Proofs
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex ProofszkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex Proofs
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex Proofs
Alex Pruden
 
20240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 202420240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 2024
Matthew Sinclair
 

Recently uploaded (20)

Uni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdfUni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdf
 
RESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for studentsRESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for students
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
 
Video Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the FutureVideo Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the Future
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
 
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
 
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
 
Free Complete Python - A step towards Data Science
Free Complete Python - A step towards Data ScienceFree Complete Python - A step towards Data Science
Free Complete Python - A step towards Data Science
 
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfObservability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
 
UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5
 
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
 
UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
 
20240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 202420240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 2024
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
 
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
 
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex Proofs
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex ProofszkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex Proofs
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex Proofs
 
20240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 202420240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 2024
 

Distributed web based systems

  • 1. Distributed Web-Based SystemsDepartment of Engineering – Information Technology Reza Ghanbari2010
  • 2. Outline WWW URL WebDocuments HTTP Connections Methods Messages Caching Content Distribution Network Web Service Terminology Architecture Traditional Web Based Systems Multi-tiered Web Based Systems Web Server Clusters Web Security SSL References
  • 3.
  • 4. Servers maintain collections of documents while clients provide users an easy-to-use interface for presenting and accessing those documents.
  • 5. A document is fetched from a server, transferred to a client, and presented on the screen.
  • 6. There is conceptually no difference between a document stored locally or in another part of the world for any user.
  • 7. Now, Web has become more than just a simple document based system.
  • 8.
  • 9. The DNS name of its associated server along with a file name is specified.
  • 11.
  • 12. In many cases special helper applications (interpreters) are needed, and they are integrated into the browser.
  • 13. The main part of Web documents are written in a markup language, such as
  • 15.
  • 16. An embedded document can be a complete program executed on-the-fly as part of displaying information.
  • 17. Multipurpose Internet Mail Exchange (MIME) is used to specify the type of an embedded document.
  • 18.
  • 19.
  • 20. HTTP is a simple protocol; a client sends a request to a server and waits for a response.
  • 21. HTTP is based on TCP; whenever a client issues a request to a server, it first sets up a TCP connection and sends the message on that connection. The same connection is used for receiving the response.
  • 22. One of the problems with the first versions of HTTP was its inefficient use of TCP connections.
  • 23.
  • 24. In HTTP version 1.0 and older, each request to a server required setting up a separate connection. When server had responded the connection was broken down. These connections are referred as non-persistent.
  • 25. In HTTP version 1.1, several requests and their responses can be issued without the need for a separate connection. These connections are referred as persistent.
  • 26.
  • 29. HTTP MESSAGES (Response) Status code (Phrase): 200 (OK), 400 (Bad Request), 403 (Forbidden), and 404 (Not Found).
  • 30.
  • 31. HTTP Caching Clients often cache documents Challenge: update of documents If-Modified-Since requests to check HTTP 0.9/1.0 used just date HTTP 1.1 has an opaque “entity tag” (could be a file signature, etc.) as well When/how often should the original be checked for changes? Check every time? Check each session? Day? Etc? Use “Expires” header If no Expires, often use Last-Modified as estimate 16
  • 32. Example Cache Check Request GET / HTTP/1.1 Accept: */* Accept-Language: en-us Accept-Encoding: gzip, deflate If-Modified-Since: Mon, 29 Jan 2001 17:54:18 GMT If-None-Match: "7a11f-10ed-3a75ae4a" User-Agent: Mozilla/4.0 (compatible; MSIE 5.5; Windows NT 5.0) Host: www.intel-iris.net Connection: Keep-Alive 17
  • 33. Example Cache Check Response HTTP/1.1 304 Not Modified Date: Tue, 27 Mar 2001 03:50:51 GMT Server: Apache/1.3.14 (Unix) (Red-Hat/Linux) mod_ssl/2.7.1 OpenSSL/0.9.5a DAV/1.0.2 PHP/4.0.1pl2 mod_perl/1.24 Connection: Keep-Alive Keep-Alive: timeout=15, max=100 ETag: "7a11f-10ed-3a75ae4a" 18
  • 34. Problems Over 50% of all HTTP objects are un-cacheable . Not easily solvable Dynamic data : stock prices, scores, web cams CGI scripts : results based on passed parameters SSL : encrypted data is not cacheable Most web clients don’t handle mixed pages well : many generic objects transferred with SSL Cookies : results may be based on passed data Hit metering : owner wants to measure # of hits for revenue, etc. 19
  • 35. Server Selection Lowest load : to balance load on servers Best performance : to improve client performance Any alive node : to provide fault tolerance How to direct clients to a specific server? Cluster load balancing : TCP hand-off As part of application : HTTP redirect As part of naming : DNS 20
  • 36. Application-Based Redirection HTTP supports simple way to indicate that Web page has moved (30X responses) Server receives Get request from client Decides which server is best suited for particular client and object Returns HTTP redirect to that server May introduce additional overhead : multiple connection setup, name lookups, etc. 21
  • 37. Naming Based Client does name lookup for service Name server chooses appropriate server address A record returned is “best” one for the client Name server could base decision on Server load/location must be collected Information in the name lookup request Name service client : typically the local name server for client 22
  • 38. Web Proxy Caches 23 origin server Proxy server HTTP request HTTP request client HTTP response HTTP response HTTP request HTTP response origin server client User configures browser: Web accesses via cache Browser sends all HTTP requests to cache Object in cache: cache returns object Else cache requests object from origin server, then returns object to client
  • 39. 24 Content Distribution Networks (CDNs) origin server in North America The content providers are the CDN customers. Content replication CDN company installs hundreds of CDN servers throughout Internet Close to users CDN replicates its customers’ content in CDN servers. When provider updates content, CDN updates servers CDN distribution node CDN server In U.S.A CDN server in Asia CDN server in Europe
  • 40. Content Distribution Networks Replicate content on many servers The general organization of a CDN as a feedback-control system 25
  • 41.
  • 42. Web Services Terminology SOAP Simple Object Access Protocol exchanging XML messages on a network WSDL Web Service Description Language describing interfaces of Web services UDDI Universal Description, Discovery and Integration managing registries of Web services 27
  • 44. Why a New Framework? CORBA, DCOM, Java/RMI, ... already exist XML+HTTP: platform/language neutral, widely accepted and utilized  Web service interoperability 29
  • 45. Servlets/CGI vs. Web Services Browser Browser GUI Client Web Server HTTP GET/POST WSDL SOAP Web Server WSDL Web Server WSDL WSDL SOAP JDBC JDBC DB DB 30
  • 46.
  • 47. The core of a Web site: a process that has access to a local file system storing documents.
  • 48. A client interacts with Web servers through a special application known as browser.
  • 49. What’s the key function of a browser?
  • 50. Responsible for displaying documents. 31
  • 52.
  • 54. locates and returns the object identified in the request.
  • 55. includes predefined HTML pages and JPEG or GIF files.
  • 56. Web servers do not require communication with any server-side application.
  • 58. The request is forwarded to an application system where the resulting reply is generated dynamically. (server-side program execution)
  • 59. Although Web started as simple two-tiered client-server architecture for static Web documents, this architecture has been extended to support advanced type of documents.33
  • 60.
  • 61.
  • 62. Server-side scripting technologies are used to generate dynamic content:
  • 63. Microsoft: Active Server Pages (ASP.NET)
  • 64. Sun: Java Server Pages (JSP)
  • 67. Most popular Web server softwareApache. As of March 2007, 58% of all websites are using it. 35
  • 68.
  • 69.
  • 71. simply passes data sent along the TCP connection to one of the server’s, depending on some measurement of the server’s load.
  • 73. it first inspects the HTTP request and decides which server it should forward that request to.
  • 74. For example, if the front end always forwards requests for the same document to the same server, the server may cache the document resulting in better response times.37
  • 75. WEB SERVER CLUSTERS A scalable content-aware cluster of Web servers. 38
  • 76.
  • 77. a single domain name is associated with multiple IP addresses.
  • 78. When resolving a host name, a browser would receive a list of multiple addresses, each address corresponding a server.
  • 79. Normally, browsers choose the first address on the list, but most DNS servers circulate the entries.
  • 80. As a result, simple distribution of requests over the servers in the cluster is achieved.39
  • 81.
  • 82. Many corporations now use the Web for advertising, marketing and sales
  • 83. Web servers might be easy to use but
  • 84. Complicated to configure correctly and difficult to build without security flaws
  • 85.
  • 86. Securing the TCP/IP Stack HTTP FTP SMTP HTTP FTP SMTP SSL/TLS TCP TCP IP/IPSEC IP At the Network Level At the Transport Level S/MIME PGP SET Kerberos SMTP HTTP TCP UDP IP At the Application Level 42
  • 87. Secure Sockets Layer (SSL) Originally developed (1994) by Netscape in order to secure http communications Slight variation became Transport Layer Security (TLS) backward compatible with SSL TCP provides a reliable end-to-end service Consists of two sublayers: SSL Record Protocol (where all the action takes place) SSL Management (Handshake/Cipher Change/ Alert Protocols) 43
  • 89.
  • 90. Web Service Composition - Current Solutions and Open Problems, by BiplavSrivastava-IBM India Research Laboratory and Jana Koehler-IBM Zurich Research Laboratory
  • 91. A Reference Architecture for Web Servers, by Ahmed E. Hassan and Richard C. Holt , Software Architecture Group (SWAG), University of Waterloo
  • 92. An Introduction to Web-based Support Systems, by JingTao Yao, University of Regina
  • 93. Semantic Annotation for Web Services and their elevance to Environmental Models, by DumitruRoman University of Innsbruck / STI Innsbruck 45

Editor's Notes

  1. This is done by ‘wrapping’ some computational capability with a Web Service interface, and allowing other organizations to locate it (via UDDI) and interact with it (via WSDL). Hence, Web Service technology allows the description of an interface in a standard way,