The World Wide Web Overall organization of the Web.
Document Model (2) An XML definition for referring to a journal article. (1) (2) (3) (4) (5) (6) (7) (8) (9) (10) (11) (12)
Document Model (3) An XML document using the XML definitions from previous slide (1) (2) (3) (4) Prudent Engineering Practice for Cryptographic Protocols (5) M. Abadi (6) R. Needham (7) (8) IEEE Transactions on Software Engineering (9) 22 (10) 12 (11) January (12) 6 – 15 (13) 1996 (14) (15)
Document Types Six top-level MIME types and some common subtypes. TypeSubtypeDescription Text PlainUnformatted text HTMLText including HTML markup commands XMLText including XML markup commands Image GIFStill image in GIF format JPEGStill image in JPEG format Audio BasicAudio, 8-bit PCM sampled at 8000 Hz ToneA specific audible tone Video MPEGMovie in MPEG format PointerRepresentation of a pointer device for presentations Application Octet-streamAn uninterrupted byte sequence PostscriptA printable document in Postscript PDFA printable document in PDF Multipart MixedIndependent parts in the specified order ParallelParts must be viewed simultaneously
Architectural Overview (1) The principle of using server-side CGI programs.
Architectural Overview (3) Architectural details of a client and server in the Web.
HTTP Methods Operations supported by HTTP. OperationDescription HeadRequest to return the header of a document GetRequest to return a document to the client PutRequest to store a document PostProvide data that is to be added to a document (collection) DeleteRequest to delete a document
HTTP Messages (3) Some HTTP message headers. HeaderSourceContents AcceptClientThe type of documents the client can handle Accept-CharsetClientThe character sets are acceptable for the client Accept-EncodingClientThe document encodings the client can handle Accept-LanguageClientThe natural language the client can handle AuthorizationClientA list of the client's credentials WWW-AuthenticateServerSecurity challenge the client should respond to DateBothDate and time the message was sent ETagServerThe tags associated with the returned document ExpiresServerThe time how long the response remains valid FromClientThe client's address HostClientThe TCP address of the document's server If-MatchClientThe tags the document should have If-None-MatchClientThe tags the document should not have If-Modified-SinceClient Tells the server to return a document only if it has been modified since the specified time If-Unmodified-SinceClient Tells the server to return a document only if it has not been modified since the specified time Last-ModifiedServerThe time the returned document was last modified LocationServer A document reference to which the client should redirect its request RefererClientRefers to client's most recently requested document UpgradeBothThe application protocol the sender wants to switch to WarningBothInformation about the status of the data in the message
Lotus Notes The general organization of a Lotus Notes system.
Document Model Examples of different types of notes. Note typeCategoryDescription DocumentDataA user-oriented document such as a Web page FormDesign Structure for creating, editing, and viewing a document FieldDesign Defines a field shared between a form and subforms ViewDesignStructure for displaying a collection of documents ACLAdministrationContains an access control list for the database ReplFormulaAdministrationDescribes the replication of the database
Processes (1) The general organization of a Domino server.
Processes (2) Request handling in a cluster of Domino servers.
Identifiers Some major identifiers in Notes. IdentifierScopeDescription Universal IDWorld Globally unique identifier assigned to each note Originator IDWorld Identifier for a note, but includes history information Database IDServerTime-dependent identifier for a database Note IDDatabase Identifier of a note relative to a database instance Replica IDWorld Timestamp used to identify the same copies of a database
Replication Replication schemes in Notes. SchemeDescription 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
Conflict Resolution Safely merging two documents with conflicting OIDs.
Authentication: Validating Certificates Public-key validation in Notes
Access Control Parts in Notes subject to access control. PartDescription ServersACLs specifying access rights for servers and ports WorkstationsLists specifying execution rights for scripts and such DatabasesACLs specifying permissions for different types of users FilesACLs used for controlling access by Web clients Design notesACLs to control the presentation and such of documents DocumentsACLs to control read and and write access to documents
Comparison of Web & Lotus Notes IssueWWWNotes Basic modelMarked-up textList of text items (note) ExtensionsMultimedia, scripts Storage modelFile orientedDatabase oriented Network comm.HTTPRPC, Interprocess comm.Operating sys. dependentNotes Object Services (NOS) Client processBrowser, EditorBrowser, Design editor Client extensionsPlug-insIn basic client system Server processComparable to file serverComparable to database server Server extensionsServlets, CGI programsServer tasks Server clustersTransparentNontransparent NamingURNs, URLsURLs, identifiers SynchronizationMainly local CachingAdvancedNot documented ReplicationMirroring, CDNsLazy Fault toleranceReliable comm. & clustersClusters RecoveryNo explicit supportSingle server AuthenticationMainly TLSCertificate validation Access controlServer dependentExtensive ACLs