the xdi graph: an overview of the proposed xdi schema xdi tc face-to-face meeting oasis symposium...
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 [email protected]
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