Push vs Pull
Dick Hardt
dick at sxip.com
Fri Mar 3 01:17:13 UTC 2006
Joaquin
Here is my clarification between Push and Pull:
Pull:
- The user provides the Relying Party with a *user unique*
Repository locator. (URL or XRI)
- The Relying Party queries a Repository to get user data.
- The user may or may not be involved in the transaction.
I consider OpenID, LID and XRI Pull architectures
Push:
- The Relying party advertises what data it wants.
- The user "Pushes" the data to the Relying Party
- The repository does not need to be accessible to the Relying
Party. This allows the data to reside on the user's machine.
I consider Shiboleth, SXIP and WS-* Push architectures
....
With SXIP, which is a Push architecture, we have a need for protocol
discovery, which lead to my interest in Yadis. Unlike the Pull
technologies where the identifier is for the user, the identifier was
for the user agent so that the Relying Party would know what the user
agent was capable of. This is only needed for zero desktop footprint
implementations. Rich Clients would be able to negotiate capabilities
with the Relying Party.
The original Yadis mandate was for identity protocol discovery. I was
very interested in leveraging existing work, if it did not impose
excessive overhead. The current direction of Yadis seems to be
exclusively for support of the Pull technologies.
Feel free to ask for any clarifications.
-- Dick
On 2-Mar-06, at 4:38 PM, Joaquin Miller wrote:
> This might be right (someone who uses the terms might could explain
> them)
>
> and it is certainly clear, which is very useful.
>
>> Okay, let me see if I have this Push/Pull distinction straight.
>> Please correct me if I'm wrong.
>>
>> "Pull" protocols are those that put some data out there to be
>> accessible via a URL. The data does not change based on who
>> requests the information. Yadis is such a protocol, since when an
>> Relying Party goes to fetch the data, there is no specified way to
>> change the data based on who is requesting it.
>>
>> "Push" protocols are those that allow the user to modify the data
>> based on who is requesting it. OpenID is such a protocol: the
>> data is transmitted by redirecting the user between the Relying
>> Party and the Identity Provider, and the user can choose to have
>> the Identity Provider send his or her authentication information
>> or to cancel the transaction.
>>
>> Is that right, or is there something I'm missing?
>
> If this is what 'push' and 'pull' mean, then your examples are
> certainly right: According to your distinction Yadis is pull and
> OpenID and LID are push. LID, of course, differs from OpenID; you
> describe OpenID in your example of push.
>
> Cordially, Joaquin
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.danga.com/pipermail/yadis/attachments/20060302/5b071fce/attachment.html
More information about the yadis
mailing list