Skip to main content
Jump to: navigation, search

Difference between revisions of "Higgins XRDS Service Endpoint"

(Higgins XRDS Service Endpoint)
(added references and a URI example)
Line 1: Line 1:
A Higgins XRDS Service Endpoint is a kind of service endpoint (SEP) in an XRDS document. It is obtained either from a ContextURI (using standard Yadis discovery) or from a ContextXRI (using standard XRI resolution) and contains all information needed to instantiate a Higgins Context (i.e. a datastore containing identity information such as an LDAP directory or a Facebook account).
+
A Higgins XRDS Service Endpoint is a kind of service endpoint (SEP) in an XRDS document. XRDS documents and SEP construction and selection is fully defined in [http://docs.oasis-open.org/xri/2.0/specs/cd02/xri-resolution-V2.0-cd-02.pdf XRI Resolution 2.0]. A Higgins SEP is obtained either from a ContextURI (using standard "Yadis" discovery, defined in Section 6 of [http://docs.oasis-open.org/xri/2.0/specs/cd02/xri-resolution-V2.0-cd-02.pdf XRI Resolution 2.0]) or from a ContextXRI (using standard XRI resolution), and contains all information needed to instantiate a Higgins [[Context]] (i.e. a datastore containing identity information such as an LDAP directory or a Facebook account).
  
Higgins XRDS Service Endpoints are therefore a key enabling building block for the [[Higgins Dataweb]]: They act as discoverable "pointers" into contexts containing slices of your identity.
+
Higgins SEPs are therefore a key enabling building block for the [[Higgins Dataweb]]: They act as discoverable "pointers" into contexts containing slices of your identity.
 +
 
 +
''Note: see also [[Higgins XDI Context Reference]] – these contain identical data/metadata as in a Higgins XRDS Service Endpoint, but in XDI format.''
  
 
== Higgins XRDS Service Endpoint ==
 
== Higgins XRDS Service Endpoint ==
Line 7: Line 9:
 
The information in a Higgins XRDS Service Endpoint can be summarized as follows:
 
The information in a Higgins XRDS Service Endpoint can be summarized as follows:
  
* One or more context types: This is a string that identifies the underlying technology of the [[Context]]. Based on this string, a suitable [[Context Provider]] is selected to instantiate the context.
+
* One or more [[Context Types]]: This is a string that identifies the underlying technology of the [[Context]]. Based on this string, a suitable [[Context Provider]] is selected to instantiate the context.
* The schema of the context: This is a URL pointing to an OWL file describing the context's schema (i.e. the kind of subjects and attributes in the context). For example, a context may contain "people" who have "names", "e-mail addresses" and "friends". This schema is based on the [[Higgins Data Model]]
+
* The schema of the context: This is a URL pointing to a [[Higgins OWL]] file describing the context's schema (i.e. the kind of subjects and attributes in the context). For example, a context may contain "people" who have "names", "e-mail addresses" and "friends". This schema is based on the [[Higgins Data Model]]
 
* (Optional) Context authentication type: The type of authentication materials needed to open the context (e.g. a password).
 
* (Optional) Context authentication type: The type of authentication materials needed to open the context (e.g. a password).
* (Optional) Context configuration: Arbitrary information required to instantiate the Higgins Context (e.g. the address of a server to connect to).
+
* (Optional) Context configuration: Arbitrary information required to instantiate the Higgins [[Context]] (e.g. the address of a server to connect to).
  
 
== Examples ==
 
== Examples ==
Line 18: Line 20:
 
Example Higgins [[Relation]] pointing to a facebook account: '''@higgins*contexts/$context@facebook//2345673826'''
 
Example Higgins [[Relation]] pointing to a facebook account: '''@higgins*contexts/$context@facebook//2345673826'''
  
* '''2345673826''' is the [[SubjectId]], i.e. the unique identifier in the context.
+
* '''@higgins*contexts/$context@facebook''' is the [[ContextId]] XRI that resolves to the SEP below.
* '''@higgins*contexts/$context@facebook''' is the [[ContextId]], it resolves to the following service endpoint:
+
* '''2345673826''' is the [[SubjectId]], i.e. the unique identifier in the context that can be instantiated using the metadata in the SEP below.
  
 
   <Service priority="10" xmlns:hconf="http://higgins.eclipse.org/Configuration">
 
   <Service priority="10" xmlns:hconf="http://higgins.eclipse.org/Configuration">
Line 40: Line 42:
 
=== LDAP directory ===
 
=== LDAP directory ===
  
Example Higgins [[Relation]] pointing to a user in an LDAP directory: '''@parity/$context+ldap//msabadello'''
+
Example Higgins [[Relation]] pointing to a user in an LDAP directory. In this example, the relation can be expressed as both an XRI or a URI:
  
 +
# XRI: '''@parity/$context$ldap//msabadello'''
 +
# URI: '''http://ldap.parityinc.inc#msabadello'''
 +
 +
In this XRI:
 +
* '''@parity/$context$ldap''' is the [[ContextId]] that resolves to the SEP below within the XRDS document. Note that this XRDS document may contain multiple SEPs for '''@Parity''' – it is the XRI path '''$context$ldap''' that is used to select the SEP below (see the Service Endpoint Selection rules in section 13 of [http://docs.oasis-open.org/xri/2.0/specs/cd02/xri-resolution-V2.0-cd-02.pdf XRI Resolution 2.0].
 
* '''msabadello''' is the [[SubjectId]], i.e. the unique identifier in the context.
 
* '''msabadello''' is the [[SubjectId]], i.e. the unique identifier in the context.
* '''@parity/$context+ldap''' is the [[ContextId]], it resolves to the following service endpoint:
+
 
 +
In this URI:
 +
* '''http://ldap.parityinc.inc''' resolved directly to an XRDS document as defined in section 6 of [http://docs.oasis-open.org/xri/2.0/specs/cd02/xri-resolution-V2.0-cd-02.pdf XRI Resolution 2.0].
 +
* This XRDS document must contain only the SEP below (OR the consuming application must know to select this type of SEP).
  
 
   <Service priority="10" xmlns:hconf="http://higgins.eclipse.org/Configuration">
 
   <Service priority="10" xmlns:hconf="http://higgins.eclipse.org/Configuration">
 
    
 
    
   <Path select="true">$context+ldap</Type>
+
   <Path select="true">$context$ldap</Type>
 
    
 
    
   <Type select="true">$context+ldap</Type>
+
   <Type select="true">$context$ldap</Type>
 
   <Type>$context</Type>
 
   <Type>$context</Type>
 
    
 
    
Line 74: Line 84:
  
 
* '''=markus''' is the [[SubjectId]], i.e. the unique identifier in the context.
 
* '''=markus''' is the [[SubjectId]], i.e. the unique identifier in the context.
* '''@parity/$context$xdi''' is the [[ContextId]], it resolves to the following service endpoint:
+
* '''@parity/$context$xdi''' is the [[ContextId]], it resolves to the following SEP:
  
 
   <Service priority="10" xmlns:hconf="http://higgins.eclipse.org/Configuration">
 
   <Service priority="10" xmlns:hconf="http://higgins.eclipse.org/Configuration">
Line 89: Line 99:
 
   </Service>
 
   </Service>
  
== See also ==
+
== See Also ==
 
+
* [[Higgins XDI Context Reference]] is the XDI equivalent of a Higgins XRDS Service Endpoint.
 
* A [[ContextId]] is the identifier that resolves to a Higgins XRDS Service Endpoint. It is either a URI or an XRI.
 
* A [[ContextId]] is the identifier that resolves to a Higgins XRDS Service Endpoint. It is either a URI or an XRI.
* [[Context Discovery Components]] describes the Higgins components involved in resolving ContextIds and instantiating Contexts.
+
* [[Context Discovery]] describes the process of resolving a [[ContextId]] to instantiate a [[Context]].
 +
* [[Context Discovery Components]] describes in more detail the Higgins components involved in [[Context Discovery]].

Revision as of 13:06, 28 January 2008

A Higgins XRDS Service Endpoint is a kind of service endpoint (SEP) in an XRDS document. XRDS documents and SEP construction and selection is fully defined in XRI Resolution 2.0. A Higgins SEP is obtained either from a ContextURI (using standard "Yadis" discovery, defined in Section 6 of XRI Resolution 2.0) or from a ContextXRI (using standard XRI resolution), and contains all information needed to instantiate a Higgins Context (i.e. a datastore containing identity information such as an LDAP directory or a Facebook account).

Higgins SEPs are therefore a key enabling building block for the Higgins Dataweb: They act as discoverable "pointers" into contexts containing slices of your identity.

Note: see also Higgins XDI Context Reference – these contain identical data/metadata as in a Higgins XRDS Service Endpoint, but in XDI format.

Higgins XRDS Service Endpoint

The information in a Higgins XRDS Service Endpoint can be summarized as follows:

  • One or more Context Types: This is a string that identifies the underlying technology of the Context. Based on this string, a suitable Context Provider is selected to instantiate the context.
  • The schema of the context: This is a URL pointing to a Higgins OWL file describing the context's schema (i.e. the kind of subjects and attributes in the context). For example, a context may contain "people" who have "names", "e-mail addresses" and "friends". This schema is based on the Higgins Data Model
  • (Optional) Context authentication type: The type of authentication materials needed to open the context (e.g. a password).
  • (Optional) Context configuration: Arbitrary information required to instantiate the Higgins Context (e.g. the address of a server to connect to).

Examples

Facebook account

Example Higgins Relation pointing to a facebook account: @higgins*contexts/$context@facebook//2345673826

  • @higgins*contexts/$context@facebook is the ContextId XRI that resolves to the SEP below.
  • 2345673826 is the SubjectId, i.e. the unique identifier in the context that can be instantiated using the metadata in the SEP below.
 <Service priority="10" xmlns:hconf="http://higgins.eclipse.org/Configuration">
 
 	<Path select="true">$context@facebook</Path>
 
 	<Type select="true">$context@facebook</Type>
 	<Type>$context</Type>
 
 	<hconf:Schema>http://www.higgins-project.org/schemas/facebook.owl</hconf:Schema>
 
 	<hconf:Configuration>
 
 		<Setting Name="apikey" Type="xsd:string">FB8189237498</Setting>
 
 	</hconf:Configuration>
 
 </Service>

LDAP directory

Example Higgins Relation pointing to a user in an LDAP directory. In this example, the relation can be expressed as both an XRI or a URI:

  1. XRI: @parity/$context$ldap//msabadello
  2. URI: http://ldap.parityinc.inc#msabadello

In this XRI:

  • @parity/$context$ldap is the ContextId that resolves to the SEP below within the XRDS document. Note that this XRDS document may contain multiple SEPs for @Parity – it is the XRI path $context$ldap that is used to select the SEP below (see the Service Endpoint Selection rules in section 13 of XRI Resolution 2.0.
  • msabadello is the SubjectId, i.e. the unique identifier in the context.

In this URI:

  • http://ldap.parityinc.inc resolved directly to an XRDS document as defined in section 6 of XRI Resolution 2.0.
  • This XRDS document must contain only the SEP below (OR the consuming application must know to select this type of SEP).
 <Service priority="10" xmlns:hconf="http://higgins.eclipse.org/Configuration">
 
 	<Path select="true">$context$ldap</Type>
 
 	<Type select="true">$context$ldap</Type>
 	<Type>$context</Type>
 
 	<hconf:Schema>http://www.parityinc.net/schemas/ldap.owl</hconf:Schema>
 
 	<hconf:Configuration>
 
 		<Setting Name="Connection" Type="htf:map">
 			<Setting Name="ConnectionType" Type="xsd:string">LDAP</Setting>
 			<Setting Name="AddressList" Type="htf:list">
 				<Setting Name="Address" Type="xsd:string">ldap://ldap.parityinc.net:389</Setting>
 			</Setting>
 			<Setting Name="jndiProvider" Type="xsd:string">com.sun.jndi.ldap.LdapCtxFactory</Setting>
 		</Setting>
 		<Setting Name="env" Type="htf:map">
 			<Setting Name="java.naming.security.authentication" Type="xsd:string">simple</Setting>
 		</Setting>
 
 	</hconf:Configuration>

XDI endpoint

Example Higgins Relation pointing to a subject at an XDI endpoint: @parity/$context$xdi//=markus

  • =markus is the SubjectId, i.e. the unique identifier in the context.
  • @parity/$context$xdi is the ContextId, it resolves to the following SEP:
 <Service priority="10" xmlns:hconf="http://higgins.eclipse.org/Configuration">
 
 	<Path select="true">$context$xdi</Path>
 
 	<Type select="true">$context$xdi</Type>
 	<Type>$context</Type>
 
 	<hconf:Schema>http://www.parityinc.net/schemas/xdi-test.owl</hconf:Schema>
 
 	<URI>http://graceland.parityinc.net/xdi-endpoint/idas</URI>
 
 </Service>

See Also

Back to the top