Distributed Document-Based Systems

Slides:



Advertisements
Similar presentations
Hypertext Transfer PROTOCOL ----HTTP Sen Wang CSE5232 Network Programming.
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.
PART 6 Application Layer
Hypertext Transfer Protocol Kyle Roth Mark Hoover.
The Application Layer Chapter 7. Electronic Mail Architecture and Services The User Agent Message Formats Message Transfer Final Delivery.
The Internet Useful Definitions and Concepts About the Internet.
Distributed Document-Based Systems
OCT1 Principles From Chapter One of “Distributed Systems Concepts and Design”
World Wide Web1 Applications World Wide Web. 2 Introduction What is hypertext model? Use of hypertext in World Wide Web (WWW) – HTML. WWW client-server.
IST 221 Internet Concepts and Applications Internet, WWW and HTML 1.
Application Layer  We will learn about protocols by examining popular application-level protocols  HTTP  FTP  SMTP / POP3 / IMAP  Focus on client-server.
Mail Server Fitri Setyorini. Content SMTP POP3 How mail server works IMAP.
INTRODUCTION TO WEB DATABASE PROGRAMMING
IT 210 The Internet & World Wide Web introduction.
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved DISTRIBUTED SYSTEMS.
27.1 Chapter 27 WWW and HTTP Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
CP476 Internet Computing Lecture 5 : HTTP, WWW and URL 1 Lecture 5. WWW, HTTP and URL Objective: to review the concepts of WWW to understand how HTTP works.
TCP/IP Protocol Suite 1 Chapter 22 Upon completion you will be able to: World Wide Web: HTTP Understand the components of a browser and a server Understand.
World Wide Web Hypertext model Use of hypertext in World Wide Web (WWW) WWW client-server model Use of TCP/IP protocols in WWW.
World Wide Web (WWW) A Distributed Document- Based System Group E Ricky Tong (D-A0-1611) Eddy Leong (D-A0-1623) Dick Lei (D-A0-1658)
Lecture 6: Sun: 8/5/1435 Distributed Applications Lecturer/ Kawther Abas CS- 492 : Distributed system & Parallel Processing.
1 Seminar on Service Oriented Architecture Principles of REST.
Chapter 29 World Wide Web & Browsing World Wide Web (WWW) is a distributed hypermedia (hypertext & graphics) on-line repository of information that users.
1 Distributed Systems Distributed Web-Based Systems Chapter 12.
1 WWW. 2 World Wide Web Major application protocol used on the Internet Simple interface Two concepts –Point –Click.
IS-907 Java EE World Wide Web - Overview. World Wide Web - History Tim Berners-Lee, CERN, 1990 Enable researchers to share information: Remote Access.
Module: Software Engineering of Web Applications Chapter 2: Technologies 1.
27.1 Chapter 27 WWW and HTTP Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
27.1 Chapter 27 WWW and HTTP Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
Internet Applications (Cont’d) Basic Internet Applications – World Wide Web (WWW) Browser Architecture Static Documents Dynamic Documents Active Documents.
Berkeley Sockets The socket primitives for TCP.. PortProtocol Use 21 FTP File transfer 23 Telnet Remote login 25 SMTP 69 TFTP Trivial File Transfer.
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved DISTRIBUTED SYSTEMS.
Computer Networks with Internet Technology William Stallings Chapter 04 Modern Applications 4.1 Web Access - HTTP.
World Wide Web r Most Web pages consist of: m base HTML page, and m several referenced objects addressed by a URL r URL has two components: host name and.
1 The World Wide Web Architectural Overview Static Web Documents Dynamic Web Documents HTTP – The HyperText Transfer Protocol Performance Enhancements.
27.1 Chapter 27 WWW and HTTP Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
Web Design Terminology Unit 2 STEM. 1. Accessibility – a web page or site that address the users limitations or disabilities 2. Active server page (ASP)
1 Chapter 22 World Wide Web (HTTP) Chapter 22 World Wide Web (HTTP) Mi-Jung Choi Dept. of Computer Science and Engineering
TCP/IP Protocol Suite 1 Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display. Chapter 22 World Wide Web and HTTP.
Free Powerpoint Templates Page 1 Free Powerpoint Templates CHAPTER 1 LAB 1.1 Web Server.
The Application Layer DNS – The Domain Name System The DNS Name Space Resource Records Name Servers
Distributed Document-Based Systems Chapter 11. The World Wide Web Overall organization of the Web.
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.
Chapter 26 Standard Client-Server Protocols
Web fundamentals: Clients, Servers, and Communication
Distributed Control and Measurement via the Internet
Hypertext Transfer Protocol
Presentation on Distributed Web Based Systems Submitted by WWW
WWW and HTTP King Fahd University of Petroleum & Minerals
HTTP – An overview.
Hypertext Transfer Protocol
HTTP request message: general format
Application layer 1 Principles of network applications 2 Web and HTTP
Data Communications and Computer Networks Chapter 2 CS 3830 Lecture 9
Chapter 27 WWW and HTTP Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
The Application Layer RIS 251 Dr. ir. S.S. Msanjila.
Hypertext Transport Protocol
CASE STUDY -HTML,URLs,HTTP
Processes The most important processes used in Web-based systems and their internal organization.
Tutorial (4): HTTP Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
Multimedia and Networks
Distributed Systems - Comp 655
EE 122: HyperText Transfer Protocol (HTTP)
William Stallings Data and Computer Communications
Introduction to Cyberspace
PART 6 Application Layer
Chapter 27 WWW and HTTP Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
Traditional Internet Applications
Chapter 7 Network Applications
Presentation transcript:

Distributed Document-Based Systems Chapter 11

Overall organization of the Web. The World Wide Web Overall organization of the Web.

A simple Web page embedding a script written in JavaScript. Document Model (1) <HTML> <!- Start of HTML document --> <BODY> <!- Start of the main body --> <H1>Hello World/H1> <!- Basic text to be displayed --> <P> <!- Start of a new paragraph --> <SCRIPT type = "text/javascript"> <!- identify scripting language --> document.writeln ("<H1>Hello World</H1>; // Write a line of text </SCRIPT> <!- End of scripting section --> </P> <!- End of paragraph section --> </BODY> <!- End of main body --> </HTML> <!- End of HTML section --> A simple Web page embedding a script written in JavaScript.

An XML definition for referring to a journal article. Document Model (2) (1) <!ELEMENT article (title, author+,journal)> (2) <!ELEMENT title (#PCDATA)> (3) <!ELEMENT author (name, affiliation?)> (4) <!ELEMENT name (#PCDATA)> (5) <!ELEMENT affiliation (#PCDATA)> (6) <!ELEMENT journal (jname, volume, number?, month? pages, year)> (7) <!ELEMENT jname (#PCDATA)> (8) <!ELEMENT volume (#PCDATA)> (9) <!ELEMENT number (#PCDATA)> (10) <!ELEMENT month (#PCDATA)> (11) <!ELEMENT pages (#PCDATA)> (12) <!ELEMENT year (#PCDATA)> An XML definition for referring to a journal article.

An XML document using the XML definitions from previous slide Document Model (3) (1) <?xml = version "1.0"> (2) <!DOCTYPE article SYSTEM "article.dtd"> (3) <article> (4) <title> Prudent Engineering Practice for Cryptographic Protocols</title> (5) <author><name>M. Abadi</name></author> (6) <author><name>R. Needham</name></author> (7) <journal> (8) <jname>IEEE Transactions on Software Engineering</jname> (9) <volume>22</volume> (10) <number>12</number> (11) <month>January</month> (12) <pages>6 – 15</pages> (13) <year>1996</year> (14) </journal> (15) </article> An XML document using the XML definitions from previous slide

Six top-level MIME types and some common subtypes. Document Types Type Subtype Description Text Plain Unformatted text HTML Text including HTML markup commands XML Text including XML markup commands Image GIF Still image in GIF format JPEG Still image in JPEG format Audio Basic Audio, 8-bit PCM sampled at 8000 Hz Tone A specific audible tone Video MPEG Movie in MPEG format Pointer Representation of a pointer device for presentations Application Octet-stream An uninterrupted byte sequence Postscript A printable document in Postscript PDF A printable document in PDF Multipart Mixed Independent parts in the specified order Parallel Parts must be viewed simultaneously Six top-level MIME types and some common subtypes.

Architectural Overview (1) The principle of using server-side CGI programs.

Architectural Overview (2) (1) <HTML> (2) <BODY> (3) <P>The current content of <pre>/data/file.txt</PRE>is:</P> (4) <P> (5) <SERVER type = "text/javascript"); (6) clientFile = new File("/data/file.txt"); (7) if(clientFile.open("r")){ (8) while (!clientFile.eof()) (9) document.writeln(clientFile.readln()); (10) clientFile.close(); (11) } (12) </SERVER> (13) </P> (14) <P>Thank you for visiting this site.</P> (15) </BODY> (16) </HTML> An HTML document containing a JavaScript to be executed by the server

Architectural Overview (3) Architectural details of a client and server in the Web.

HTTP Connections Using nonpersistent connections. Using persistent connections

Operations supported by HTTP. HTTP Methods Operation Description Head Request to return the header of a document Get Request to return a document to the client Put Request to store a document Post Provide data that is to be added to a document (collection) Delete Request to delete a document Operations supported by HTTP.

HTTP Messages (1) HTTP request message

HTTP Messages (2) HTTP response message.

HTTP Messages (3) Some HTTP message headers. Header Source Contents Accept Client The type of documents the client can handle Accept-Charset The character sets are acceptable for the client Accept-Encoding The document encodings the client can handle Accept-Language The natural language the client can handle Authorization A list of the client's credentials WWW-Authenticate Server Security challenge the client should respond to Date Both Date and time the message was sent ETag The tags associated with the returned document Expires The time how long the response remains valid From The client's e-mail address Host The TCP address of the document's server If-Match The tags the document should have If-None-Match The tags the document should not have If-Modified-Since Tells the server to return a document only if it has been modified since the specified time If-Unmodified-Since Tells the server to return a document only if it has not been modified since the specified time Last-Modified The time the returned document was last modified Location A document reference to which the client should redirect its request Referer Refers to client's most recently requested document Upgrade The application protocol the sender wants to switch to Warning Information about the status of the data in the message Some HTTP message headers.

Using a plug-in in a Web browser. Clients (1) Using a plug-in in a Web browser.

Using a Web proxy when the browser does not speak FTP. Clients (2) Using a Web proxy when the browser does not speak FTP.

General organization of the Apache Web server. Servers General organization of the Apache Web server.

Server Clusters (1) The principle of using a cluster of workstations to implement a Web service.

(a) The principle of TCP handoff. Server Clusters (2) (a) The principle of TCP handoff.

(b) A scalable content-aware cluster of Web servers. Server Clusters (3) (b) A scalable content-aware cluster of Web servers.

Uniform Resource Locators (1) Often-used structures for URLs. Using only a DNS name. Combining a DNS name with a port number. combining an IP address with a port number.

Uniform Resource Locators (2) Name Used for Example http HTTP http://www.cs.vu.nl:80/globe ftp FTP ftp://ftp.cs.vu.nl/pup/minx/README file Local file file:/edu/book/work/chp/11/11 data Inline data data:text/plain;charset=iso-8859-7,%e1%e2%e3 telnet Remote login telnet://flits.cs.vu.nl tel Telephone tel:+31201234567 modem Modem modem:+31201234567;type=v32 Examples of URLs.

Uniform Resource Names The general structure of a URN

The principle of cooperative caching Web Proxy Caching The principle of cooperative caching

The principle working of the Akami CDN. Server Replication The principle working of the Akami CDN.

The position of TLS in the Internet protocol stack. Security (1) The position of TLS in the Internet protocol stack.

TLS with mutual authentication. Security (2) TLS with mutual authentication.

The general organization of a Lotus Notes system.

Examples of different types of notes. Document Model Note type Category Description Document Data A user-oriented document such as a Web page Form Design Structure for creating, editing, and viewing a document Field Defines a field shared between a form and subforms View Structure for displaying a collection of documents ACL Administration Contains an access control list for the database ReplFormula Describes the replication of the database Examples of different types of notes.

The general organization of a Domino server. Processes (1) The general organization of a Domino server.

Request handling in a cluster of Domino servers. Processes (2) Request handling in a cluster of Domino servers.

A Notes URL for accessing a database. Naming A Notes URL for accessing a database.

Some major identifiers in Notes. Scope Description Universal ID World Globally unique identifier assigned to each note Originator ID Identifier for a note, but includes history information Database ID Server Time-dependent identifier for a database Note ID Database Identifier of a note relative to a database instance Replica ID Timestamp used to identify the same copies of a database Some major identifiers in Notes.

Replication schemes in Notes. Description Pull-push A replicator task pulls updates in from a target server, and pushes its own updates to that target as well Pull-pull A replicator task pulls in updates from a target server, and responds to update fetch requests from that target Push-only A replicator task only pushes its own updates to a target server, but does not pull in any updates from the target Pull-only A replicator only pulls in updates from a target server, but does not push any of its own updates to that target Replication schemes in Notes.

Safely merging two documents with conflicting OIDs. Conflict Resolution Safely merging two documents with conflicting OIDs.

Authentication: Validating Certificates Public-key validation in Notes

Parts in Notes subject to access control. Description Servers ACLs specifying access rights for servers and ports Workstations Lists specifying execution rights for scripts and such Databases ACLs specifying permissions for different types of users Files ACLs used for controlling access by Web clients Design notes ACLs to control the presentation and such of documents Documents ACLs to control read and and write access to documents Parts in Notes subject to access control.

Comparison of Web & Lotus Notes Issue WWW Notes Basic model Marked-up text List of text items (note) Extensions Multimedia, scripts Storage model File oriented Database oriented Network comm. HTTP RPC, E-mail Interprocess comm. Operating sys. dependent Notes Object Services (NOS) Client process Browser, Editor Browser, Design editor Client extensions Plug-ins In basic client system Server process Comparable to file server Comparable to database server Server extensions Servlets, CGI programs Server tasks Server clusters Transparent Nontransparent Naming URNs, URLs URLs, identifiers Synchronization Mainly local Caching Advanced Not documented Replication Mirroring, CDNs Lazy Fault tolerance Reliable comm. & clusters Clusters Recovery No explicit support Single server Authentication Mainly TLS Certificate validation Access control Server dependent Extensive ACLs