Skip to main content
Jump to: navigation, search

Higgins XRDS Service Endpoint

Revision as of 13:06, 28 January 2008 by Drummond.reed.cordance.net (Talk | contribs) (added references and a URI example)

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