URI Schema » History » Version 45
« Previous -
Version 45/59
(diff) -
Next » -
Current version
J. Moringen, 05/26/2011 03:39 AM
initial restructuring
URI Schema¶
Use Cases¶
URIs or URLs are used in the following situations- Specifying how to connect to the bus
- Naming a thing on the bus
- A channel
- A participant
- A service
Generic¶
Syntax and Semantic¶
rsb://[PATH][#FRAGMENT]
Components of the URL are interpreted as follows:
SCHEME
-> has to be "rsb"PATH
-> A scope which designates a one of the following things- A channel
- A participant
- A service (which is-a participant)
FRAGMENT
->- Not allowed when designating a channel
- ID of a participant otherwise
This may resolve to:
- Service and/or Participant
- If there is only one of these entities this is enough for resolving it
- If multiple entities reside on this scope, a single instance can be selected using their UUID.
rsb:///hierarchical/service/definition/further/to/participant#UniqueIDOfParticipant [UUID]
- Nothing
These generic URIs require a global naming service.
Rationale¶
Usually location transparency should be available.
Transport-Specific¶
Syntax and Semantic¶
[SCHEME://][HOST][:PORT][PATH][#FRAGMENT][?QUERY] transport://<location.transport.specific[:PORT]>/hierarchical/service/definition/further/to/participant
Components of the URL are interpreted as follows:
SCHEME
-> transport name (e.g spread)HOST
-> Transport-specific "host" option (e.g. host that runs the daemon for Spread)PORT
-> Transport-specific "port" option (e.g. port on which Spread daemon listens)PATH
-> A scope which designates a one of the following things- A channel
- A participant
- A service (which is-a participant)
FRAGMENT
->- Not allowed when designating a channel
- ID of a participant otherwise
QUERY
-> "freestyle" transport options
What does this mean?
Location uniquely identifies a single participant or service, hence an ID part is not required any more.
Specific IDs can be resolved by the respective connectors and do not require a global naming.
Rationale¶
- Transport-specific access is possible without naming service.
- UUIDs should ideally not be required to keep URIs simple