Nodes and Links Open Hypermedia and the Web Dr Nicholas Gibbins – 2011-2012.

Slides:



Advertisements
Similar presentations
DOCUMENT TYPES. Digital Documents Converting documents to an electronic format will preserve those documents, but how would such a process be organized?
Advertisements

Java Script Session1 INTRODUCTION.
TCP/IP Protocol Suite 1 Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display. Chapter 22 World Wide Web and HTTP.
Enterprise Content Management Departmental Solutions Enterprisewide Document/Content Management at half the cost of competitive systems ImageSite is:
Microsoft Excel 2003 Illustrated Complete Excel Files and Incorporating Web Information Sharing.
Making Links Fundamentals of Hypertext and Hypermedia Dr Nicholas Gibbins
Copyright 2004 Monash University IMS5401 Web-based Systems Development Topic 2: Elements of the Web (g) Interactivity.
Project 1 Introduction to HTML.
1 Chapter 12 Working With Access 2000 on the Internet.
1 COS 425: Database and Information Management Systems XML and information exchange.
CS CS 5150 Software Engineering Lecture 13 System Architecture and Design 1.
XLink: Open Linking Standard XML / XSL separate  data semantics  presentation semantics Need to also separate out  navigation semantics Single unique.
Chapter 1 Understanding the Web Design Environment
Microsoft Office XP Illustrated Introductory, Enhanced Office Applications with Internet Explorer Integrating.
1 The World Wide Web. 2  Web Fundamentals  Pages are defined by the Hypertext Markup Language (HTML) and contain text, graphics, audio, video and software.
1st Project Introduction to HTML.
Overview of Search Engines
Tutorial 3: Adding and Formatting Text. 2 Objectives Session 3.1 Type text into a page Copy text from a document and paste it into a page Check for spelling.
XP New Perspectives on Microsoft Access 2002 Tutorial 71 Microsoft Access 2002 Tutorial 7 – Integrating Access With the Web and With Other Programs.
HTML 1 Introduction to HTML. 2 Objectives Describe the Internet and its associated key terms Describe the World Wide Web and its associated key terms.
Chapter ONE Introduction to HTML.
INTRODUCTION TO WEB DATABASE PROGRAMMING
Chapter 1 Introduction to HTML, XHTML, and CSS
DHTML. What is DHTML?  DHTML is the combination of several built-in browser features in fourth generation browsers that enable a web page to be more.
FALL 2005CSI 4118 – UNIVERSITY OF OTTAWA1 Part 4 Web technologies: HTTP, CGI, PHP,Java applets)
Department of computer science and engineering From Web to Workplace chapters 4, 18 Martin Čadík Czech Technical University in Prague, Czech Republic.
Architecture Of ASP.NET. What is ASP?  Server-side scripting technology.  Files containing HTML and scripting code.  Access via HTTP requests.  Scripting.
Classroom User Training June 29, 2005 Presented by:
Chapter 16 The World Wide Web Chapter Goals Compare and contrast the Internet and the World Wide Web Describe general Web processing Describe several.
Overview of Previous Lesson(s) Over View  ASP.NET Pages  Modular in nature and divided into the core sections  Page directives  Code Section  Page.
16-1 The World Wide Web The Web An infrastructure of distributed information combined with software that uses networks as a vehicle to exchange that information.
Xpath Xlink Xpointer Xquery Sources:
WORKING WITH XSLT AND XPATH
Tutorial 1 Getting Started with Adobe Dreamweaver CS3
1 Chapter 2 & Chapter 4 §Browsers. 2 Terms §Software §Program §Application.
XP New Perspectives on Browser and Basics Tutorial 1 1 Browser and Basics Tutorial 1.
Chapter 7 Web Content Mining Xxxxxx. Introduction Web-content mining techniques are used to discover useful information from content on the web – textual.
Chapter 1 Understanding the Web Design Environment Principles of Web Design, 4 th Edition.
Week 1 Understanding the Web Design Environment. 1-2 HTML: Then and Now HTML is an application of the Standard Generalized Markup Language Intended to.
World Wide Web Hypertext model Use of hypertext in World Wide Web (WWW) WWW client-server model Use of TCP/IP protocols in WWW.
Tutorial 121 Creating a New Web Forms Page You will find that creating Web Forms is similar to creating traditional Windows applications in Visual Basic.
Chapter 27 The World Wide Web and XML. Copyright © 2004 Pearson Addison-Wesley. All rights reserved.27-2 Topics in this Chapter The Web and the Internet.
CA Professional Web Site Development Class 2: Anatomy of a Web Site and Web Page & Intro to HTML.
XHTML By Trevor Adams. Topics Covered XHTML eXtensible HyperText Mark-up Language The beginning – HTML Web Standards Concept and syntax Elements (tags)
Digital Multimedia, 2nd edition Nigel Chapman & Jenny Chapman Chapter 12 This presentation © 2004, MacAvon Media Productions Hypertext and Hypermedia.
Database Systems: Design, Implementation, and Management Eighth Edition Chapter 14 Database Connectivity and Web Technologies.
Chapter 27 The World Wide Web and XML. Copyright © 2004 Pearson Addison-Wesley. All rights reserved.27-2 Topics in this Chapter The Web and the Internet.
COMP9321 Web Application Engineering Semester 2, 2015 Dr. Amin Beheshti Service Oriented Computing Group, CSE, UNSW Australia Week 4 1COMP9321, 15s2, Week.
Introducing XLink and XPointer ©NIITeXtensible Markup Language/Lesson 10/Slide 1 of 23 Objectives In this lesson, you will learn to: * Identify the types.
HTML Concepts and Techniques Fifth Edition Chapter 1 Introduction to HTML.
REST By: Vishwanath Vineet.
Interoperability How to Build a Digital Library Ian H. Witten and David Bainbridge.
McGraw-Hill/Irwin © 2004 by The McGraw-Hill Companies, Inc. All rights reserved. Linking XML Documents Ellen Pearlman Eileen Mullin Programming the Web.
Chapter 1 Introduction to HTML, XHTML, and CSS HTML5 & CSS 7 th Edition.
Basic HTML Document Structure. Slide 2 Goals (XHTML HTML5) XHTML Separate document structure and content from document formatting HTML 5 Create a formal.
VCE IT Theory Slideshows by Mark Kelly study design By Mark Kelly, vceit.com, Begin.
Event 1 The OHS Models of Hypertext Hugh Davis Notes on
XP Creating Web Pages with Microsoft Office
E-Business Infrastructure PRESENTED BY IKA NOVITA DEWI, MCS.
DHTML.
Project 1 Introduction to HTML.
Chapter Eight Interoperability How to Build a Digital Library
Project 1 Introduction to HTML.
Web Engineering.
CHAPTER 3 Architectures for Distributed Systems
XML in Web Technologies
Chapter 27 WWW and HTTP.
Hypertext Fundamentals
Tutorial 7 – Integrating Access With the Web and With Other Programs
Presentation transcript:

Nodes and Links Open Hypermedia and the Web Dr Nicholas Gibbins –

What is Open Hypermedia? An open system generally implies that –There is some interface by which third party programs may access the functionality of the system. –The system may be accessed from applications on heterogeneous architectures. Open hypermedia: hypertext features present within whole environment –Links and anchors must be kept separately from documents –Linkbases and Link Services

OHS are open with respect to Applications Data Formats Functionality –Configurable and extensible Other OHS Systems Platforms Users

Nodes, Links and Anchors

Morbi commodo bibendum ligula, et lobortis diam varius non. Morbi ac elit leo, ac semper nunc. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla consequat tortor eget turpis scelerisque sit amet facilisis metus iaculis. Duis aliquam lacinia dictum.

Embedded Links Morbi commodo bibendum ligula, et lobortis diam varius non. Morbi ac elit leo, ac semper nunc. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla consequat tortor eget turpis scelerisque sit amet facilisis metus iaculis. Duis aliquam lacinia dictum. anchor endpoint link

First Class Links Morbi commodo bibendum ligula, et lobortis diam varius non. Morbi ac elit leo, ac semper nunc. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla consequat tortor eget turpis scelerisque sit amet facilisis metus iaculis. Duis aliquam lacinia dictum. link endpoint anchor

First Class Links Other considerations: –Link types –Bidirectional links –N-ary links

Dexter Hypertext Reference Model

Overview Formal model of an open hypertext system, developed –A reference model, not an implementation –Used to compare functionalities of existing systems –Used to design new systems –Used to develop standards for interoperability

Model Within-Component Layer content/structure inside nodes Storage Layer database of nodes and links Run-Time Layer Presentation; user interaction; dynamics Anchoring Presentation Specifications

Model Detail

Hyper-G

Overview Developed at the Technical University of Graz, Austria around Features: –Client-Server architecture (like the Web) –Persistent session connections (unlike the Web) –First class nodes, links and anchors –Bi-directional links –Link integrity –A notion of composites/collections

Harmony client

Harmony client: link structure view

Harmony client: landscape view

Harmony client: client-client communications

Link Integrity Hyper-G tries to maintain links such that the user is always able to follow any link that is presented to them –Compare with the Web: if the destination of a link goes away, the user sees 404 Not Found Distinguishes links between documents on one server (core links) from those between documents on different servers (surface links) –Surface link updates propagated between servers

Probabilistic flooding algorithm to transmits link updates from server to server -Servers arranged in a ring -Servers send updates to their immediate successor and randomly to other servers -Scalable and robust -Parameterisable – number of additional servers can be altered P-flood Algorithm

Advantages Authoring support integrated into browser, and designed into protocols from outset Support for collaboration Early support for multimedia

Disadvantages Own internet protocol (HG-CSP) Own markup language (HTF) Own browser (and other tools) (Harmony) - though simple browsing through a web browser too Flooding algorithm would probably not scale to the Web (but some similarities with peer-to-peer approaches like distributed hash tables)

Microcosm

Overview Developed at the University of Southampton around 1989 –Originally designed for use with read-only media (CDROMS and laser discs) –Originally designed as a desktop-based system, later expanded to a distributed system –Informed much later work within ECS: DLS, COHSE, etc

Microcosm client

Microcosm architecture

Microcosm universal viewer

Microcosm architecture

Distribution

Specific, Local and Generic Links Source anchor of a link is not embedded in the source document, but its position(s) is described in the linkbase

Advantages Rich model of linking (generic links, n-ary links, etc) Flexible document processing (multiple linkbases) Integration with third-party applications

Disadvantages Scalability Distribution not intended from the outset Arguably, no native document format No support for link integrity

Open Hypermedia Protocol

Initially a naïve attempt to “shim” existing linkservers so that they could be used by standard client integrations –An early realization by the community that writing clients is far harder (and less interesting) than writing servers OHP formed the basis for later integration efforts (FOHM)

OHP Architecture

OHP Data Model

Location Specifiers (LocSpecs) Used to indicate anchor positions: LocSpec ::= {\ContentType MimeType \Content MIME-encoded text string \Count [Comma separated list of numbers] \ReverseCount [Comma separated list of numbers] \Name [Mime encoded text string] \Script [Viewer Executable Script]}

Evaluation Advantages –OHP has been used in demos and prototype systems –The Data Model specified has been the most accepted –A formalised version of the data model (FOHM) is widely used in the community Disadvantages –The shim architecture was naïve and was replaced by middleware –The message overhead is very high

Link Integrity

Link Integrity The endpoint of a link (source or destination) needs to define: –a node –(optionally) a position within a node (locspec) If an endpoint fails to resolve to the place intended by the author, then it (and the link) is broken

The Dangling Link Problem If the endpoint refers to an invalid node then we have a dangling endpoint (link) –Responsibility of link creators (fine them if they don’t keep them up to date?) –Stop people linking to things that may move –Forward References –Guaranteed Names (PURL servers, DMS) –The Hyper-G approach –Link Integrity Checking Agent (Spider)

The Content Reference Problem If the endpoint refers to the wrong part of the node content then we have a content reference problem –The Publishing Model –Manual Link Editor –Link Service Aware Editing Tools –Just-in-time link repairs –Express specific link positions using queries –Avoid specific links/anchors –Versioning –Use of Diff Files

Responsible link owner or responsible system? Don’t bother: the Californian approach – it’s a social issue. Avoid the problem: use declarative link definitions Loosely coupled: give the author tools to sort the problem if they want Automated link repairs: just-in-time Tightly coupled: the Germanic approach – don’t let users have this freedom

Adapting to the Web

There is no runner-up prize If Microcosm and Hyper-G were so good, why are we not all using them?

Open Hypertext on the Web We lose the goal of hypertext across the entire desktop –Is this still important?

Open Hypertext on the Web HTML/DOM (and browsers) do not allow easy control of anchor positions –Still possible to separate links and annotations Linkbase creation Link injection Link presentation

Linkbase Creation Theming technology extracts key phrases from documents based on location and frequency –Create generic links to those documents based on the extracted themes –Interactive linkbase editor tool deletes the unwanted links Effectively turning a search engine index into a linkbase

Link Injection Links can be added at different times in the document retrieval process batch process documents on demand by web server in proxy server in browser

Link Injection: batch processing Generate static HTML pages for use with any web server –Fastest way to serve pages - and most cache friendly approach –Need to reprocess all pages in the event of a linkbase (link database) update to ensure currency –No opportunity to personalise content

Link Injection: on demand Careful choice of data structures and algorithms needed to ensure good performance –New material can immediately be viewed with hyperlinks from the linkbase –User can choose linkbases to apply (stateful interaction) –Higher run-time memory requirements, search capability can use same data Approach taken by Active Navigation (commercial successor to Microcosm)

Link Injection: using a proxy User configures their browser to proxy through the link injector –Can apply link database to almost any content –Can also perform other conversions e.g. Word -> HTML –Casual site users won’t want to reconfigure their browsers Approach taken by the Dynamic Link Service (DLS)

Extend browser with a plugin that fetches links and rewrites documents -Most modern browsers support add-on functionality -Potentially expensive – need to provide plugins for many browsers Approach taken by COHSE/Magpie Link Injection: in the browser

Link Presentation Links can be rendered to distinguish from authored links –Use different colours (etc) –Potential to clash with a style sheet –Use JavaScript to pop-up a menu for multiple destinations However, history of unsuccessful attempts –Microsoft Smart Tags in Office XP –Third-party embedded advertising links

Separate links: advantages Applications do not have to be responsible for maintaining "foreign" markup You can tailor your linkbases to your needs (contexts) You can have generic links You don’t have to write spiders On read-only media (e.g. CD-ROM, no permission), keeping links separately is the only way to do it!

Separate links: disadvantages Keeping links separately introduces potentially consistency issues The integration with existing applications can be difficult (sometimes impossible) For streaming, data links as well as data have to be synchronised

Open Hypertext on the Web

HTML Limitations Addressing –Only A elements –Only pre-marked up (embedded) elements Closed tag set (A and IMG, but less true for HTML5) –Fixed semantics (replace and include) –Single-ended, unidirectional, embedded –No stylesheet to express link semantics

XML Linking: XPath, XPointer, XLink XPath provides syntax for addressing existing nodes or elements within an XML parse tree (which could be used as anchors) XPointer provides a syntax for addressing arbitrary ranges within XML documents (which could be used as anchors) XLink is for specifying the connections between anchors, their semantics and their types

XPath Allows specification of a Path to the required parse tree node or element by one or more location steps A location step requires –An axis (e.g. child, parent, sibling etc.) –A node test (what types of nodes) –An optional predicate (filter the above)

XPath Examples child::LISTITEM –Selects all LISTITEM elements that are children of the current node child::* –Selects all children of the current node child::*[self::blockquote or self::quote] –Selects all children of current node that are either element type blockquote or quote Id(“chap1”)/child::ABSTRACT –Selects the ABSTRACT elements(s) of the children of the element with ID attribute chap1 within the current node

XPath and Referential Integrity ID attributes are robust pointing mechanisms; better than measures such as “3rd child” e.g. even after editing a document id(“chap1”)/child::ABSTRACT is likely to continue to point to the correct thing unless someone changes the ID attributes deliberately or they insert more ABSTRACT elements into the chapter.

XPointer XPointer can locate any node, point, or selection in an HTML, or XML document. –XPointer is expected to be the normative fragment identifier syntax. –But not all documents are XML (e.g. BMPs) –Full XPointer is intended to allow schemes for identifying selections in non XML documents –XPointer expressions are used as the fragment identifier portion of a URI (the bit after the #)

XLink Standard way to indicate that any given element is a link –Attaches links to documents without modifying them (annotations, "stand-off" tagging, etc.) –Specifies roles and titles for anchors –Provides external, bidirectional, and multi-ended links –Permits authors to associate additional metadata with link parts –Provides basic link semantics: transclusion, expand-in-place, etc –Separates link semantics from link type

XLink Considers two characteristics of links: –whether the link is automatic or user-actuated –what happens to the display contexts involved: –open a new context –embed in place –replace the origin context These are broad categories of behaviour, in contrast to formatting and style issues such as –Window placements –choice of control styles etc.

Xlink Examples See also the current List of Students actuate = user|auto show = replace|new|embed