Notice: this Wiki will be going read only early in 2024 and edits will no longer be possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.
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. | + | 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 | + | 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 | + | * 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 | + | * 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''' | ||
− | * ''' | + | * '''@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"> | <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: | + | 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. | ||
− | * ''' | + | |
+ | 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 | + | <Path select="true">$context$ldap</Type> |
− | <Type select="true">$context | + | <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 | + | * '''@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 | + | == 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 | + | * [[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.
Contents
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:
- 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 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
- 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.
- 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.