the xdi graph: an overview of the proposed xdi schema xdi tc face-to-face meeting oasis symposium...

Post on 26-Dec-2015

224 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

The XDI Graph:An Overview of the Proposed XDI Schema

XDI TC Face-to-Face MeetingOASIS Symposium

April 29, 2004

Drummond ReedCTO, Cordance Corporation

Co-Chair, OASIS XRI and XDI TCsdrummond.reed@cordance.net

2

“Never doubt that a small group of thoughtful, committed citizens can change the world. Indeed, it's the

only thing that ever has.”

-- Margaret Mead (1901-1978)US Anthropologist, Author

3

"I would not give a fig for the simplicity this side of complexity, but I would give my life for the simplicity

on the other side of complexity."

-- Oliver Wendell Holmes, Jr.

4

"It’s turtles all the way down."

-- Anecdotal

Part 1:The Proposed Overall Design of XDI

6

The Big Picture

XNS 1.0

XNSORG

OASIS

XRI 1.0

1993 1998 2002 2003 2004

Gestation period forDataweb technology

2005

XDI 1.0

7

Jamie Lewis on XRIs

“Today, we use a wide variety of different mechanisms for identification, including e-mail addresses, IP addresses, phone numbers, and object identifiers. But most of these are specific to one means of interaction.

None of them is persistent across the many different ways that people, applications, and devices can communicate, and so they don't function well as identifiers in the long run."

-- Jamie Lewis, CEO and Research Chair, Burton Group, BetaNews, 2/5/2004

8

His second key point

“Having that persistent, unique identifier is an important predicate for any trusted relationship between nodes. Without it, the trust is much more difficult, if not impossible, to achieve.

The XRI specification is an attempt to solve this problem by creating a standard for abstract identifiers."

-- Jamie Lewis, BetaNews, 2/5/2004

9

The mission of the XDI TC

• To build on the foundation of XRIs to provide a standard, generalized, extensible, domain-independent way to identify, describe, exchange, link, and synchronize data

10

An evolutionary step

Abstraction

Time

IP/Packets

HTTP/Web Pages

SOAP/XML Docs

XDI/XDI Docs

11

Moving complexity to a new bucket

Complexity IPHTTP/HTML

SOAP/XML

XDI/XML/XDI

Addressing/Packets

Protocols Data Repre-

sentation Schemas

Dictionaries/Thesauri

12

The primary value is in the delta

Abstraction

Time

IP/Packets

HTTP/Web Pages

SOAP/XML Docs

XDI/XDI Docs

The primary value lies here – in what XDI can

do that’s not easy using HTTP, XML, and SOAP

13

What’s in that delta?

• Persistent identification and linking– The URN problem

• Cross-domain data sharing– The ontology and data mapping problem

• Distributed data sharing controls– The security, privacy, and trust problem

• Generalized synchronization– The data concurrency problem

14

Proposed XDI specifications

Complexity IPHTTP/HTML

SOAP/XML

XDI/XML/XDI

Addressing/Packets

TCP/IP URI URI XRI

Protocols HTTP SOAP XDI

Data Repre-sentation

XML XML

Schemas XDI/XML

Dictionaries/Thesauri

XDI ServiceDictionary

15

The Dataweb Model

If every piece of data could be uniquely addressed using an XRI…

…and there were a simple way to describe this in XML…

…and a standard service for exchanging, linking, and synchronizing these XML documents with security and privacy controls…

…you could create a trusted Web of all data…

…a Dataweb.

16

Websites vs. Dataweb sites

HTML

WebsiteA

HTML

HTML HTML

HTML HTML

HTML HTML

HTML HTML

WebsiteB

XDI Linkcontracts

XML/XDI

Dataweb siteA

XML/XDI

XML/XDI

XML/XDI

XML/XDI

XML/XDI

XML/XDI

XML/XDI

XML/XDI

XML/XDI

Dataweb siteB

17

Web standards vs. Dataweb standards

URIs XRIs

HTML XML/XDI

HTTPXDI/HTTPXDI/SOAP

100% resourceaddressability

Common representationand linking format

Common interchangeprotocol

Web Dataweb

OASIS XDI TC

Part 2: The XDI Graph – Understanding the

Proposed XDI Metaschema

19

The XDI metaschema

• The goal is a common representation format for all XRI-identifiable data

• Essentially a cross between the function of HTML (as a common representation format for all content) and XML (as an extensible markup language for data)

• A meta-schema because it is explicitly designed to describe (and optionally carry) other XML-encoded data

20

Inspiration for the proposed design

• Nature produces complexity by iterating simplicity

• Examples– DNA– Human Language– The Web

• The proposed XDI metaschema applies this principle to describing data and data relationships

21

The XDI Graph

Authority A Authority B

Resources

Link

Link

22

The proposed XDI meta-schema

Resource

Link

XRI Data

1..*

1..*

0..1

0..1

*

**

*

“Turtles all the way down”

23

The name/value pair analogy

name=value

<name>value</name>

<xri>name</xri><data>value</data>

<resource><xri>name</xri><data>value</data>

</resource>

<resource><xri>name1</xri><xri>name2</xri><xri>name3</xri><data>value</data>

</resource>

Classic view

XML encoding

XDI meta-encoding step 1

XDI meta-encoding step 3: XRI synonyms permit many-to-one mapping of “names” to data values

XDI meta-encoding step 2

24

Nesting resources

<resource><xri>name1</xri><xri>name2</xri><xri>name3</xri><data>value</data><resource>

<xri>name1</xri><xri>name2</xri><data>value</data>

</resource></resource>

Nested resourceshave a UML compositionrelationship with the parent resource

25

Links

<resource><xri>name1</xri><xri>name2</xri><xri>name3</xri><data>value</data>

</resource>

A resource representsthe authoritative sourceof a data value

<link><xri>name1</xri><xri>name2</xri><xri>name3</xri><data>value</data>

</link>

A link represents a cached resource instantiated at another node on the XDI graph. This cache can be anything from a 100% complete replica down to a single XRI reference

26

Nesting links

<resource><xri>name1</xri><xri>name2</xri><xri>name3</xri><data>value</data><link>

<xri>name1</xri><xri>name2</xri><data>value</data>

</link></resource>

Nested linkshave a UML aggregationrelationship with the parent resource

27

Use of the XML “Any” type

<resource><xri>name1</xri><xri>name2</xri><xri>name3</xri><data>

<address xmlns:”xxx”>1234 Main St.</address><city>Seattle</city>…</address>

</data></resource>

The data elementcan contain anywell-formed XML

28

The XDI graph

• The XDI graph is the graph of all data that is XRI-identifiable

• Three node types– Data (edge nodes)– Resources (authoritative paths to data)– Links (non-authoritative paths to data copies)

• Every XDI document is a “snapshot” of some subset of the XDI graph

• Most importantly, any segment of the graph can be “copied-and-pasted” to any other point

29

Addressing nodes in the XDI graph

• Every node is XRI-addressable because the XDI graph is a reflection of XRI syntactic structure– Authorities (XRI or URI) are the a-priori starting

points– “/” (equivalent to “/.”) or “/:” represents a resource– “.” or “:” represents a link– Cross-reference syntax enables XRIs or URIs to

be reused at any point in the graph

30

Mapping XRI syntax to the XDI meta-schema

Resource

Link

XRI Data

1..*

1..*

0..1

0..1

*

**

*

/ (reassignable) or /: (persistent)

. (reassignable) or : (persistent)

Note: this interpretation of XRI syntax applies ONLY to the proposed XDI metaschema, and

not to XRIs used outside this context

31

Navigating the XDI Graph with XRIs

Authority A Authority B

Resources

Link

Link

Pseudo-XML Example(see separate “XDI-Graph-Examples-v1”)

Part 3: The Proposed XDI Service Definition

34

Web standards vs. Dataweb standards

URIs XRIs

HTML XML/XDI

HTTPXDI/HTTPXDI/SOAP

100% resourceaddressability

Common representationand linking format

Common interchangeprotocol

Web Dataweb

35

Is XDI a Web service?

• Yes, XDI/SOAP is absolutely a Web service– A data-oriented service– A data mediation service– A generalized data sharing service

• But XDI can also be bound to other transport protocols– XDI/HTTP is “native” REST architecture for Web

purists– XDI/SMTP is a solution to structured email

36

XDI service definition

• The Dataweb model follows classic Web “REST” architecture

• Representational State Transfer– Roy Fielding’s PhD thesis– Posits that the success of the Web is based on

transfer of URI-addressable resource representations

– Representations may be linked using URIs– “Many nouns, few verbs”

37

REST operations

• Four verbs– GET – read resource representation– PUT – write resource representation– DELETE – remove resource representation– POST – invoke operation on resource

representation

• Many nouns– Any resource that can be represented, i.e., any

XRI

38

Proposed XDI service definition

• WSDL adaptation of REST– Allows binding to HTTP, SOAP, SMTP/MIME, or

any other transport protocol

• All representations are XDI documents– Data– Forms (data requests)– Contracts (data sharing agreements)– Dictionaries (data definitions)

39

XDI forms

• The Dataweb equivalent of HTML forms– HTML forms are interpreted by people– XDI forms are interpreted by machines

• They are a way to request an XDI document from another XDI authority (“copy a branch of the XDI graph”)

• Forms that request controlled (private) data require data control metadata

40

XDI link contracts

• A link contract is an XDI document that governs the exchange of other XDI documents

• Directly analogous to real-world contracts that govern the exchange of goods, services, or information

• There is no limit to the types of controls in an XDI contract – it can describe any set of terms governing data interchange

41

Link contracts control XDI data “flow”

HTML

WebsiteA

HTML

HTML HTML

HTML HTML

HTML HTML

HTML HTML

WebsiteB

XDI Linkcontracts

XML/XDI

Dataweb siteA

XML/XDI

XML/XDI

XML/XDI

XML/XDI

XML/XDI

XML/XDI

XML/XDI

XML/XDI

XML/XDI

Dataweb siteB

42

Defining link contract controls

• The role of the XDI Service Dictionary– Directly analogous to a legal dictionary

• Example: privacy controls– A link contract can associate an XDI document

(a set of XRI-addressable nodes) with data usage controls

– Such controls can include:• References to applicable privacy policies• Opt-in and opt-out permissions• Data retention terms

43

Analogs to conventional directory constructs

• Identity, Attributes, Groups, Roles– Identity = XRI for a resource– Attributes = resources representing nested

(composed) resources– Groups = resources representing linked

(aggregated) resources– Roles = resources representing typed

(inheritance) resources

44

XDI dictionaries

• XDI dictionaries are Dataweb sites designed explicitly to share “words” (XRIs) and “definitions” (XDI documents describing them)

• Directly analogous to real-world dictionaries• Can be developed for any purpose

– General dictionaries (Oxford English Dictionary)– Specialized dictionaries (Black’s Law Dictionary)– Domain specific “glossaries”

45

What’s different about XDI dictionaries?

• Machine-readable• Machine-linkable (dictionaries can reference

or link each other’s vocabulary)• Can significantly automate the process of

cross-domain data mapping– Human-language translations– Ontology development

46

A different view of a “semantic web”

• The descriptions and relationships between resources are all expressed as XRI paths through the XDI graph

• Common semantics are established via dynamic mapping of XRI synonyms using XDI dictionaries

• Vocabulary can evolve as quickly as new XRIs and XDI documents are propagated throughout the network

47

Another view – link levels

Presentation

Application

Data

Web

Web services

Dataweb

Links

Q & A

top related