Distributed Document-Based Systems
Chapter 11
The World Wide Web
Overall organization of the Web.
5 6
Document Model (1)
A simple Web page embedding a script written in JavaScript.
Document Model (2)
An XML definition for referring to a journal article.
9 10
Document Model (3)
Document Types
An XML document using the XML definitions from previous slide
11
Six top-level MIME types and some common subtypes. 12
Architectural Overview (1)
13
The principle of using server-side CGI programs.
14
Architectural Overview (2)
Architectural Overview (3)
An HTML document containing a JavaScript to be executed by the server
15
Architectural details of a client and server in the Web.
16
HTTP Connections
17
a) b)
Using nonpersistent connections. Using persistent connections
18
HTTP Methods
HTTP Messages (1)
Operations supported by HTTP.
19
HTTP request message
20
HTTP Messages (2)
Some HTTP message headers.
HTTP Messages (3)
HTTP response message.
21 22
Clients (1)
Using a plug-in in a Web browser.
23 24
Clients (2)
Using a Web proxy when the browser does not speak FTP.
25
26
Servers
Server Clusters (1)
General organization of the Apache Web server.
27
The principle of using a cluster of workstations to implement a Web service. - horizontal distribution 28
Server Clusters (2)
Server Clusters (3)
(a) The principle of TCP handoff.
29
(b) A scalable content-aware cluster of Web servers.
30
Uniform Resource Locators (1)
31
Often-used structures for URLs. b) Using only a DNS name. c) Combining a DNS name with a port number. d) combining an IP address with a port number.
32
Uniform Resource Locators (2)
Uniform Resource Names
Examples of URLs.
The general structure of a URN
33 34
35
36
Web Proxy Caching
The principle of cooperative caching
37
38
Server Replication
The principle working of the Akami CDN.
39 40
Security (1)
The position of TLS in the Internet protocol stack.
41 42
Security (2)
Distributed Coordination-Based Systems
Chapter 12
TLS with mutual authentication.
43 44
Introduction to Coordination Models
A taxonomy of coordination models (adapted from [cabri.g2000]) 45
46
47
48
Overview of Jini
The general organization of a JavaSpace in Jini.
49 50
Architecture
The layered architecture of a Jini System.
51 52
Communication Events
Using events in combination with a JavaSpace
53
54
Processes (1)
Processes (2)
A JavaSpace can be replicated on all machines. The dotted lines show the partitioning of the JavaSpace into subspaces. b) Tuples are broadcast on WRITE c) READs are local, but the removing of an instance when calling TAKE must be broadcast 55
Unreplicated JavaSpace. b) A WRITE is done locally. c) A READ or TAKE requires the template tuple to be broadcast in order to find a tuple instance
56
Processes (3)
Partial broadcasting of tuples and template tuples.
57 58
The Jini Lookup Service (1)
The Jini Lookup Service (2)
The organization of a service item.
59
Examples of predefined tuples for service items.
60
10
61
62
Synchronization of Transactions
The general organization of a transaction in Jini. Thick lines show communication as required by Jini's transaction protocol 63
64
Security
65
The position of PAM with respect to security services.
66
11