Extensible Resource Identifier
From Wikipedia, the free encyclopedia
The neutrality of this article is disputed. Please see the discussion on the talk page.(June 2008) Please do not remove this message until the dispute is resolved. |
eXtensible Resource Identifier (abbreviated XRI) is a scheme and resolution protocol for abstract identifiers compatible with Uniform Resource Identifiers and Internationalized Resource Identifiers, developed by the XRI Technical Committee at OASIS. The goal of XRI is a standard syntax and discovery format for abstract, structured identifiers that are domain-, location-, application-, and transport-independent, so they can be shared across any number of domains, directories, and interaction protocols.
The XRI 2.0 specifications narrowly failed to become OASIS standards due to the number of negative votes[1][2], a failure attributed[3] to the intervention of the W3C Technical Architecture Group which made a statement recommending against using XRIs or taking the XRI specifications forward[4]. The core of the dispute is whether the widely interoperable http URIs are capable of of fulfilling the role of abstract, structured identifiers, as the TAG believes[5], but whose limitations the XRI Technical Committee was formed specifically to address.[6]
Contents |
[edit] Background & Motivations
URIs have been very successful identifiers over the Internet. However the growth of the Web has led to new requirements for resource identifiers that are not easily met by standard URI syntax. One of these key requirements — internationalization — was ultimately met by the W3C and IETF by developing a new form of URI called an Internationalized Resource Identifier (IRI). The IRI specifications built on the URI standard by extending the character set to support the full range of Unicode characters.
With the growth of XML, Web services, and other ways of adapting the Web to automated, machine-to-machine communications, it is increasingly important to be able to identify a resource independent of any specific physical network path, location, or protocol in order to:
- Create structured identifiers with self-describing "tags" that can be understood across domains the same way XML documents provide a self-describing, domain-independent data format.
- Maintain a persistent link to the resource regardless of whether its network location changes.
- Delegate identifier management not just in the authority segment (the first segment following the "xxx://" scheme name) but anywhere in the identifier path.
- Map identifiers used to identify a resource in one domain to other synonyms used to identify the same resource in the same domain, or in other domains.
By early 2003, these requirements led to the establishment of a new technical committee at OASIS whose goal was to create a new type of identifier that built on top of the IRI specification the same way the IRI specification built on top of the URI specification. The XRI TC has also developed a resolution protocol based on HTTP(S) and simple XML documents called XRDS (Extensible Resource Descriptor Sequence).
[edit] Features
- URI- and IRI-compatibility — XRIs can be used wherever URIs or IRIs are called for.
- Cross-references — An XRI can contain another XRI (or a URI), to any level of nesting. This enables the construction of structured, "tagged" identifiers that enable identifier sharing across domains the same way XML enables data sharing across domains.
- Global context symbols — These are single-character symbols (=, @, +, $, or !) that provide a simple, human-friendly way to indicate the global context of an i-name or i-number. These are not required, but may be used within communities of interest that agree on their meaning and how they are resolved.
- Peer-to-peer addressing — XRI syntax supports the ability for any two network nodes to assign each other XRIs and perform cross-resolution. That is, a top-level namespace authority can be referred to by names assigned by other parties. This aids in federating namespaces between organizations or communities of interest.
- Decentralization — XRIs can be rooted in either centralized addressing systems (e.g., IP addresses or DNS domain names) or private/decentralized root authorities and peer-to-peer addressing.
- Delegation — Namespaces can be delegated to other namespace authorities.
- Federation — Namespaces defined separately at any level can be joined together in a hierarchical or polyarchical fashion, and made visible and resolvable.
- Persistence — The ability to express the intent that parts (or all) of an XRI are permanent identifiers that will never be reassigned.
- Human-friendly and machine-friendly formats — XRI provides syntax both for identifiers that can be created and understood by humans easily (i-names), and those that are optimized for machine structuring/parsing (i-numbers).
- Simple, extensible resolution — XRI offers a lightweight resolution scheme using HTTP and a simple XML document format called XRDS.
- Trusted resolution — the XRI resolution protocol includes three modes of trusted version: a) HTTPS, b) SAML assertions, and c) both.
- Multiple resolution options — XRI resolution can be independent of DNS.
- Fully internationalizable, leveraging Unicode and IRI specifications.
- Transport independent — XRIs are not bound to any specific transport protocols or mechanism.
[edit] Examples of XRI Cross Reference Syntax
Say a library system uses URNs in the ISBN namespace to identify books and DNS subdomains to identify its library branches. HTTP URI syntax does not provide a standard way to express the URN for the book title in the context of the DNS name for the library branch. XRI cross-reference syntax solves this problem by allowing the library (and even automated programs running at the library) to programmatically construct the XRIs necessary to address any book at any branch. Examples:
xri://broadview.library.example.com/(urn:isbn:0-395-36341-1) xri://shoreline.library.example.com/(urn:isbn:0-395-36341-1) xri://northgate.library.example.com/(urn:isbn:0-395-36341-1)
This ability to create structured, self-describing identifiers can be extended to many other uses. For example, say the library wanted to indicate the type of each book available. By establishing a simple XRI dictionary of book types, it can now programmatically construct XRIs that include this metadata,
xri://broadview.library.example.com/(urn:isbn:0-395-36341-1)/(+hardcover) xri://broadview.library.example.com/(urn:isbn:0-395-36341-1)/(+softcover) xri://broadview.library.example.com/(urn:isbn:0-395-36341-1)/(+reference)
[edit] Other Examples of XRI 2.0 Syntax
(Note that none of these show the prefix "xri://", which is optional in XRIs when they are not in URI normal form, i.e, they have not undergone the specified transformation between XRI format and URI format.)
Example XRIs composed entirely of reassignable segments:
=Mary.Jones @Jones.and.Company +phone.number +phone.number/(+area.code) =Mary.Jones/(+phone.number) @Jones.and.Company/(+phone.number) @Jones.and.Company/((+phone.number)/(+area.code))
Example XRIs composed entirely of persistent segments:
=!13cf.4da5.9371.a7c5 @!280d.3822.17bf.ca48!78d2/!12
Example of XRIs with mixes of persistent and reassignable segments (XRI allows any combination of the two):
=!13cf.4da5.9371.a7c5/(+phone.number) @Jones.and.Company!78d2/!12/(+area.code)
[edit] Applications
Examples of applications being developed using XRI infrastructure include:
- OpenID 2.0 includes support for XRIs and uses XRDS for OpenID identifier discovery.
- The Higgins Project uses XRIs and XRDS to address and discover Higgins context providers.
- XDI.org I-name and I-number digital identity addressing services.
- The XDI data sharing protocol under development by the OASIS XDI Technical Committee.
[edit] Licensing
The neutrality of this article is disputed. Please see the discussion on the talk page.(June 2008) Please do not remove this message until the dispute is resolved. |
Use of the technologies employed in XRI are subject to patent claims. The licensing rights to these patents has been vested in XDI.org, a non-profit organization which has in turn licensed a non-exclusive interest in the use of the patents to companies associated with the original patent holders.
The XRI Technical Committee is chartered under the legacy OASIS IPR regime which allows a committee to develop a specification that is subject to an intellectual property encumbrance without any undertaking from the rights holder until the specification is made final. As of September 2007 no such undertaking had been made.
[edit] References
- ^ Failed OASIS Standard Ballot of XRI Syntax v2.0
- ^ Failed OASIS Standard Ballot of XRI Resolution v2.0
- ^ Time for OASIS XRI TC and W3C TAG to Sit Down Together
- ^ TAG recommends against XRI
- ^ URNs, Namespaces and Registries
- ^ Xri Solves Real Problems
[edit] See also
[edit] External links
- OASIS XRI Technical Committee specifications:
- W3C Internationalized Resource Identifier (IRI)
- XDI.org - public trust organization governing XRI global registry services
- XDI.org Global Services Specifications - website of XDI.org specifications for global registry services for public i-names and i-numbers
- XDI.org I-Services Specifications - website of XDI.org specifications for XRDS-enabled identity services.
- dev.xri.net - open public wiki on XRI and XRI open source projects
- Internet Identity Workshop One-Pager on XRI and XRDS
- FSF's Dispute with OASIS patent policies
- EqualsDrummond - blog about XRI and Internet identifiers by Drummond Reed, co-chair of the OASIS XRI Technical Committee and Chief Architect at Cordance, currently under contract with XDI.org to operate XRI registry services.
|