Web Architecture Part 3

Similar documents
C22: Browser & Web Server Communication

Design & Manage Persistent URIs

2. Introduction to Internet Applications

Web Information System Design. Tatsuya Hagino

Linked Data Semantic Web Technologies 1 (2010/2011)

World-Wide Web Protocols CS 571 Fall Kenneth L. Calvert All rights reserved

Multi-agent and Semantic Web Systems: RDF Data Structures

ReST 2000 Roy Fielding W3C

Multi-agent and Semantic Web Systems: Linked Open Data

The CEN Metalex Naming Convention

Metadata and the Semantic Web and CREAM 0

Bridging the Gap between Semantic Web and Networked Sensors: A Position Paper

HTTP Protocol and Server-Side Basics

A tutorial report for SENG Agent Based Software Engineering. Course Instructor: Dr. Behrouz H. Far. XML Tutorial.

Maxware, Pirsenteret D. Zigmond WebTV Networks, Inc. R. Petke UUNET Technologies November 1999

Semantic Web Publishing. Dr Nicholas Gibbins 32/4037

Hypertext Transport Protocol

Semantic Web Architecture

Development of an Ontology-Based Portal for Digital Archive Services

Naming and Addressing : Overview. Yanghee Choi 2006 Fall

UR what? ! URI: Uniform Resource Identifier. " Uniquely identifies a data entity " Obeys a specific syntax " schemename:specificstuff

A Formal Definition of RESTful Semantic Web Services. Antonio Garrote Hernández María N. Moreno García

CEN MetaLex. Facilitating Interchange in E- Government. Alexander Boer

Making Ontology Documentation with LODE

RESTful Services. Distributed Enabling Platform

REST. And now for something completely different. Mike amundsen.com

HTTP, circa HTTP protocol. GET /foo/bar.html HTTP/1.1. Sviluppo App Web 2015/ Intro 3/3/2016. Marco Tarini, Uninsubria 1

Introduction. October 5, Petr Křemen Introduction October 5, / 31

Web Standards Mastering HTML5, CSS3, and XML

Outline of Lecture 3 Protocols

Unraveling the Mysteries of J2EE Web Application Communications

Notes beforehand... For more details: See the (online) presentation program.

04 Webservices. Web APIs REST Coulouris. Roy Fielding, Aphrodite, chp.9. Chp 5/6

Semantic Web. Ontology Pattern. Gerd Gröner, Matthias Thimm. Institute for Web Science and Technologies (WeST) University of Koblenz-Landau

The Semantic Web: A Vision or a Dream?

1.1 A Brief Intro to the Internet

Ways for a Machine-actionable Processing Chain for Identifier, Metadata, and Data

COMP9321 Web Application Engineering

Interoperability of Protégé using RDF(S) as Interchange Language

COMP9321 Web Application Engineering

Interacting with Linked Data Part I: General Introduction

Computer Networks. Wenzhong Li. Nanjing University

Comp 336/436 - Markup Languages. Fall Semester Week 4. Dr Nick Hayward

CSc 8711 Report: OWL API

RDF /RDF-S Providing Framework Support to OWL Ontologies

WAP Push Message Version 16-August-1999

The Semantic Web Revisited. Nigel Shadbolt Tim Berners-Lee Wendy Hall

Semantic Web Systems Linked Open Data Jacques Fleuriot School of Informatics

References differences between SVG 1.1 Full and SVG 1.2 Tiny

Chapter 3: Uniform Resource Identifiers References:

HTTP Review. Carey Williamson Department of Computer Science University of Calgary

TDWG Life Sciences Identifiers (LSID) Applicability Statement

WEB TECHNOLOGIES CHAPTER 1

Naming System Design Tradeoffs

Multi-agent Semantic Web Systems: Data & Metadata

Proposal for Implementing Linked Open Data on Libraries Catalogue

Lesson 5 Web Service Interface Definition (Part II)

The Semantic Web & Ontologies

Comp 336/436 - Markup Languages. Fall Semester Week 4. Dr Nick Hayward

(5) Affiliation (10) XML (15) Web Augmentation (20) Gateways. (4) Kernel (9) ES test (14) SSL. (1) Portal (6) EDI (11) Web Directories (16) W3C

Porting Social Media Contributions with SIOC

Semantic Wikipedia [[enhances::wikipedia]]

RESTful API Design APIs your consumers will love

Cache Operation. Version 31-Jul Wireless Application Protocol WAP-175-CacheOp a

The MEG Metadata Schemas Registry Schemas and Ontologies: building a Semantic Infrastructure for GRIDs and digital libraries Edinburgh, 16 May 2003

Module 3 Web Component

Advanced Java Programming. Networking

CMPE 151: Network Administration. Servers

REST Web Services Objektumorientált szoftvertervezés Object-oriented software design

Networking Fundamentals: IP, DNS, URL, MIME

Semantic Wikipedia [[enhances::wikipedia]]

UNIT I. A protocol is a precise set of rules defining how components communicate, the format of addresses, how data is split into packets

KNOWLEDGE GRAPHS. Lecture 2: Encoding Graphs with RDF. TU Dresden, 23th Oct Markus Krötzsch Knowledge-Based Systems

Music Video Redundancy and Half-Life in YouTube

Internet Architecture. Web Programming - 2 (Ref: Chapter 2) IP Software. IP Addressing. TCP/IP Basics. Client Server Basics. URL and MIME Types HTTP

CCNA Exploration Network Fundamentals. Chapter 03 Application Functionality and Protocols

Web Information System Design No.5 Accessing Web Documents. Tatsuya Hagino

Produced by. Mobile Application Development. Higher Diploma in Science in Computer Science. Eamonn de Leastar

Towards the Semantic Desktop. Dr. Øyvind Hanssen University Library of Tromsø

Knowledge Representation RDF Turtle Namespace

D WSMO Data Grounding Component

An Entity Name Systems (ENS) for the [Semantic] Web

HTTP, REST Web Services

Semantic-Based Web Mining Under the Framework of Agent

Semantic Web Fundamentals

Semantic Web. Semantic Web Services. Morteza Amini. Sharif University of Technology Fall 94-95

Internet Standards for the Web: Part II

[MS-PICSL]: Internet Explorer PICS Label Distribution and Syntax Standards Support Document

Review of Previous Lecture

Semantic Web Systems Web Services Part 2 Jacques Fleuriot School of Informatics

JENA: A Java API for Ontology Management

From Open Annotations to W3C Web Annotations (and the impact on IIIF Presentation API 3.0)

6 Computer Networks 6.1. Foundations of Computer Science Cengage Learning

C24: Web API: Passing Arguments and Parsing Returns

SKOS. COMP62342 Sean Bechhofer

L7 Security Semantics

Manage Workflows. Workflows and Workflow Actions

Lesson 14 SOA with REST (Part I)

CableLabs Specifications Web Technology. Mapping from MPEG-2 Transport to HTML5 CL-SP-HTML5-MAP-I ISSUED. Notice

Towards the Semantic Web

Transcription:

Web Science & Technologies University of Koblenz Landau, Germany Web Architecture Part 3 http://www.w3.org/tr/2004/rec-webarch-20041215/ 1

Web Architecture so far Collection of details of how technology works w At a rather shallow level Now: w Underlying principles Objectives: w Reflection w Re-assessment w Connecting the dots 2

3

IDENTIFICATION 4

Principle: Global Identifiers Global naming leads to global network effects. the value of an identifier increases the more it is used consistently w Analogous interesting example: no (!) proliferation of ontologies Every object addressable [Engelbart 1990, http://www.dougengelbart.org/pubs/augment-132082.html#2a1] 5

Good practice: Identify with URIs To benefit from and increase the value of the World Wide Web, agents should provide URIs as identifiers for resources. A resource should have an associated URI if another party might reasonably want to w create a hypertext link to it, w make or refute assertions about it, w retrieve or cache a representation of it, w include all or part of it by reference into another representation, w annotate it, or w perform other operations on it. Much more than hypertext linking! Software developers should expect that sharing URIs across applications will be useful, even if that utility is not initially evident. 6

URI Syntax Full specification: http://www.ietf.org/rfc/rfc3986.txt Examples: w ftp://ftp.is.co.za/rfc/rfc1808.txt w http://www.ietf.org/rfc/rfc2396.txt w ldap://[2001:db8::7]/c=gb?objectclass?one w mailto:john.doe@example.com w news:comp.infosystems.www.servers.unix w tel:+1-816-555-1212 w telnet://192.0.2.16:80/ w urn:oasis:names:specification:docbook:dtd:xml:4.1.2 7

URI, URL, URN, IRI Uniform Resource Identifier w Uniform Resource Locator w Uniform Resource Name IRI w http://.. 8

Cool URIs don't change What makes a cool URI? A cool URI is one which does not change. What sorts of URI change? URIs don't change: people change them. 9

Cool URIs don't change Idea: URIs are an abstract space w Different from file or database space Do s: w Describe your documents with stable properties /pubs/2012/dellschafthypertextpaper.html will never have to change Don ts: w Describing your documents according to the software you use now: /cgi-bin/paper?nr=1234 the owner of the document: /fb4/agstaab/publications ownership, access, archive level security level,... 10

The trouble with identifiers Experience: Knowledge acquisition for the knowledge acquisition community V. Richard Benjamins, Dieter Fensel, Stefan Decker, Asunción Gómez-Pérez: (KA)2: building ontologies for the Internet: a mid-term report. Int. J. Hum.-Comput. Stud. 51(3): 687-712 (1999), Jürgen Angele, Stefan Decker, Michael Erdmann, Andreas Hotho, Alexander Maedche, Hans-Peter Schnurr, Rudi Studer, York Sure: Semantic community Web portals. Computer Networks 33(1-6): 473-491 (2000) w Few hundred facts, yet 3 identifiers for Dieter Fensel! 11

URI aliases Web architecture allows the association of more than one URI with a resource. URIs that identify the same resource are called URI aliases. Good practice: Avoiding URI aliases w A URI owner SHOULD NOT associate arbitrarily different URIs with the same resource. Good practice: Consistent URI usage w An agent that receives a URI SHOULD refer to the associated resource using the same URI, character-by-character. If aliases are used, then 1. select one of them as 2. Server-side redirect the other by the web server (e.g. 30x error code) 12

Aliasing vs Dereferencing URIs Dereferencing w http://www.koblenz.de/weather/current/ w http://www.koblenz.de/weather/2012-11-02 May give identical results, but there are no aliases, because on Nov 3 they will have different content The meaning of the two URIs is different! w Even on November 2, 2012 13

URI collision URI for the webpage of w is not the same as URI for They have different w Creation dates w Creation methods w Interfaces w... KA2 Experience (and beyond): often done wrongly 14

Semantics of identity "Web Ontology Language (OWL)" [OWL10] defines RDF properties w sameas to assert that two URIs identify the same resource w inversefunctionalproperty to imply it 15

INTERACTION/PROTOCOLS 16

17

Accessing resources Using a URI to Access a Resource w URI typically prefixed by a protocol scheme, e.g. http://west.uni-koblenz.de With default protocol methods, e.g. get, post,... Access to representation depends on w Whether URI owner makes available any representations at all; w Whether the agent making the request has access privileges w If the URI owner has provided more than one representation (in different formats such as HTML, PNG, or RDF; in different languages; or transformed dynamically according to the hardware or software capabilities of the recipient), the resulting representation may depend on negotiation between the user agent and server. w The time of the request; the world changes over time, so representations change 18

Representation types & Internet media types A representation is data that encodes information about resource state. Good practice: Reuse representation formats w New protocols created for the Web SHOULD transmit representations as octet streams typed by Internet media types. 19

Separation of Concerns / Orthogonality <body>!...! <a href="http://www.example.com/images/ nadia#hat">nadia's hat</a>!...! </body>! 1. Body understood by HTML processor (does not know about SVG) 2. Link extracted, clicked by user 3. Image served as image/svg+xml 4. SVG processor renders image (does not know about HTML) 5. SVG processor interprets #hat appropriately 20

Content Negotiation User agent (browser) informs the server what media types it understands with ratings of how well it understands them Accept HTTP header Accept-Language: de; q=1.0, en; q=0.5! Accept: text/html; q=1.0, text/*; q=0.8, image/gif; q=0.6, image/jpeg; q=0.6, image/*; q=0.5, */*; q=0.1! 21

Availability and consistency of URI dereferencing In practice, URIs are bookmarked, forwarded, stored; dereferencing them should lead to predictable performance Good practice: Available representation w A URI owner SHOULD provide representations of the resource it identifies Good practice: Consistent representation w A URI owner SHOULD provide representations of the identified resource consistently and predictably. 22

Linking and access control Don t assume that a page is unaccessible because it has not been told about to anyone w E.g. browsers store where you last have been w Server logs and search engines extract such links Search engines thus find parts of the hidden web Rather use w Access control w Login + password 23

FORMATS 24

When to use an XML-based format Design constraints that suggest the use of XML include: Requirement for a hierarchical structure. Need for a wide range of tools on a variety of platforms. Need for data that can outlive current applications Ability to support internationalization in a self-describing way that makes confusion over coding options unlikely. Early detection of encoding errors with no requirement to "work around" such errors. A high proportion of human-readable textual content. Potential composition of the data format with other XMLencoded formats. Desire for data easily parsed by both humans and machines. Desire for vocabularies that can be invented in a distributed manner and combined flexibly. 25

Binary data formats 26

ARCHITECTURAL PRINCIPLES 27

Principle: Orthogonality Orthogonal abstractions benefit from orthogonal specifications. Application of the principle: Identification, interaction, and representation are orthogonal concepts, their technologies may evolve independently. Examples: Resources are identified with URIs (no need for knowing about ist representation or availability). Generic URI syntax often does not require knowing specifics of URI schemes Representation of a resource may be changed without disrupting references to the resource (eg, by content negotiation). Even orthogonal specifications may change independently (e.g. when adopting SVG) 28

Principle: Extensibility Nesting of languages w E.g. Web ontology language: OWL 2 w Every legal OWL Lite ontology is a legal OWL DL ontology. w Every legal OWL DL ontology is a legal OWL Full ontology. w Every valid OWL Lite conclusion is a valid OWL DL conclusion. w Every valid OWL DL conclusion is a valid OWL Full conclusion. Try to avoid compatibility problem by ignoring unknown language constructs of the more expressive language Still be able to do something w E.g. show text only if you cannot display graphics 29

Principle: Error recovery Agents that recover from error by making a choice without the user's consent are not acting on the user's behalf. Consent may be pre-configured Error correction w Repair the error to make it unhappen w E.g. request packet again if it fails to arrive in time Error recovery w Continue working by living with the error Web is a software environment where the user is expected to be aware of some errors! 30

Protocol-based Interoperability interfaces are defined in terms of protocols, w syntax, w semantics, and w sequencing constraints w (time outs) of the messages interchanged. Contrast: APIs Protocol-based design w Agents are developed faster than the protocols Make protocols visible w Allow for understanding and engineering 31