<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<?xml-stylesheet href="/wikid/docs/xsl/mwCollections/CollectionWikiPages/display.xsl" type="text/xsl"?>

<!--
This resource container holds the product of the resolution request
-->
<resource xmlns:config="info:sid/localhost:CollectionSimpleSchemas:config" xmlns:explain="http://explain.z3950.org/dtd/2.0/" xmlns:srw="http://www.loc.gov/zing/srw/" xmlns:wiki="info:sid/localhost:CollectionSimpleSchemas:wiki" xmlns:wr="http://errol.oclc.org/oai:xmlregistry.oclc.org:errol/WikiRepository" xmlns:xlink="http://www.w3.org/TR/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<!--
This is an echo of the request information this stylesheet used to produce the resolution product
-->
<uri-context>
<srwIdentifier>info:sid/localhost:CollectionWikiPages:DistributedRegistries</srwIdentifier>
<collectionURI>info:sid/localhost:CollectionWikiPages</collectionURI>
<repository-identifier>CollectionWikiPages</repository-identifier>
<srwURL>http://alcme.oclc.org:80/wikid/search/WikiDb.localhost</srwURL>
<local-identifier>DistributedRegistries</local-identifier>
<action>display</action>
</uri-context>
<!--
This is the collection configuration record
-->
<record xmlns="info:sid/localhost:CollectionSimpleSchemas:config" xsi:schemaLocation="info:sid/localhost:CollectionSimpleSchemas:config http://alcme.oclc.org/metawiki/raw/info:sid/localhost:CollectionSimpleSchemas:config.xsd">
<repositoryName>Wiki Pages</repositoryName>
<localIdentifierType>userAssigned</localIdentifierType>
<adminEmail>mailto:jyoung@oclc.org</adminEmail>
<defaultXSL>no</defaultXSL>
<schemaURI recordPrefix="wiki">info:sid/localhost:CollectionSimpleSchemas:wiki</schemaURI>
<crosswalkSchemaURI recordPrefix="xhtml">info:sid/localhost:CollectionExternalSchemas:xhtml</crosswalkSchemaURI>
<defaultSchemaURI>info:sid/localhost:CollectionExternalSchemas:xhtml</defaultSchemaURI>
</record>
<!--
There is a local-identifier, so this URI must identify an item in a collection
-->
<!--
This is the searchRetrieveResponse for the item's Deposit record
-->
<content>
<searchRetrieveResponse xmlns="http://www.loc.gov/zing/srw/">
<version>1.1</version>
<numberOfRecords>1</numberOfRecords>
<resultSetId>ktv3xr</resultSetId>
<resultSetIdleTime>300</resultSetIdleTime>
<records xmlns:ns1="http://www.loc.gov/zing/srw/">
<record>
<recordSchema>http://www.oclc.org/schemas/WikiRepository</recordSchema>
<recordPacking>xml</recordPacking>
<recordData>
<wr:Deposit xmlns="http://www.w3.org/TR/xhtml1/strict">
<wr:browserPath>http://alcme.oclc.org:80/wikid/docs/WikiRepository</wr:browserPath>
<wr:refID>info:sid/localhost:CollectionWikiPages:DistributedRegistries</wr:refID>
<wr:refIDPrefix/>
<wr:userName>SomeBody</wr:userName>
<wr:collection>CollectionWikiPages</wr:collection>
<wr:relativePath>2005/07/21/12</wr:relativePath>
<wr:fullRefID>inf_3asid_2flocalhost_3aCollectionWikiPages_3aDistributedRegistries_5f20050721123444255</wr:fullRefID>
<wr:mimeType>text/xml</wr:mimeType>
<wr:sort>CollectionWikiPages:DistributedRegistries</wr:sort>
<wr:dateCreated>2005-07-21</wr:dateCreated>
<wr:datestamp>2005-07-21</wr:datestamp>
<wr:oldDate/>
</wr:Deposit>
</recordData>
<recordPosition>1</recordPosition>
</record>
</records>
<echoedSearchRetrieveRequest xmlns:ns2="http://www.loc.gov/zing/srw/">
<version>1.1</version>
<query>repos.hasDate = "hasdate" and oai.identifier exact "info:sid/localhost:CollectionWikiPages:DistributedRegistries"</query>
<xQuery>
<ns3:searchClause xmlns:ns3="http://www.loc.gov/zing/cql/xcql/">
<ns3:index>cql.any</ns3:index>
<ns3:relation>
<ns3:value>=</ns3:value>
</ns3:relation>
<ns3:term>huh?</ns3:term>
</ns3:searchClause>
</xQuery>
<startRecord>1</startRecord>
<maximumRecords>1</maximumRecords>
<recordPacking>xml</recordPacking>
<recordSchema>default</recordSchema>
</echoedSearchRetrieveRequest>
</searchRetrieveResponse>
<!--
This is the datestamp for the Deposit
-->
<datestamp>2005-07-21</datestamp>
<!--
This is the URL for the content
-->
<contentURL>http://alcme.oclc.org:80/wikid/docs/WikiRepository/2005/07/21/12/inf_3asid_2flocalhost_3aCollectionWikiPages_3aDistributedRegistries_5f20050721123444255</contentURL>
<!--
Here is the record content
-->
<record>
<record xmlns="info:sid/localhost:CollectionSimpleSchemas:wiki" xsi:schemaLocation="info:sid/localhost:CollectionSimpleSchemas:wiki http://alcme.oclc.org:80/wikid/raw/info:sid/localhost:CollectionSimpleSchemas:wiki.xsd">
<raw>Here are my nebulous thoughts and recollections on the recent Distributed Registries Workshop in Warwick (http://www.ukoln.ac.uk/events/dsr-workshop-2005/'''''').

BTW, I'm not trying to claim these ideas as my own. This is just a place for me to try to wrap my mind around the problem.
----
Jeremy Frumkin named these as the three roles of a registry:
* Discovery
* Resolver
* Interface info

= Discovery =
It seems to me that SRU with XSL stylesheet references is ideal for both human and automated discovery. SRW could be appended for die-hard SOAP enthusiasts. We could support Z39.50, if we must. SRW/U allows us to remain agnostic on the question of multiple collections/schemas for describing services. It's not clear to me, though, if discovery is required between nodes in the registry network, or only between a node and its connected applications (e.g. Greasemonkey). If it's the latter only, then registry node implementations could feel free to implement their own discovery protocol using information that gets shared across nodes. OTOH, agreement on a single protocol would allow for maximum client generalization.

= Resolver =
This is where I think OpenURL 1.0 comes in. The concept of resolution seems very abstract within the domain of registries, and OpenURL 1.0 allows us to fully accommodate that abstraction. Resolution services could be implemented ad hoc, with registry nodes delegating resolver requests they are unfamiliar with. OpenURL 1.0 is built around the concept of context-sensitive services, which also allows us to accommodate the (uncertain) need for authentication between nodes in the distributed registry network. Data sharing between nodes could be achieved via OAI-PMH, which could be coordinated as yet another context-sensitive OpenURL 1.0 service. Nodes could be related via a DNS-type mechanism integrated into the OpenURL 1.0 component.

= Interface info =
This appears to be a metadata issue and thus independent of the architecture of the network. I don't know anything about UDDI, but I'm guessing this is where the appeal is for it. My impression is that UDDI is a heavyweight solution, so I would like to know more about lightweight alternatives.

= Summary =
In general, I would like to see a distributed services registry specified in terms of protocols (e.g. OpenURL, SRW/U, and OAI) and schemas rather than tools. There is confusion, in my mind at least, about where we draw the line between the registry and applications and I'd rather not lay on a Procrustean bed, if I don't have to.

I need to take a closer look at OCKHAM to see what they're up to. I think WikiD is general-purpose enough that it should be able to serve as one or more nodes in a distributed registry. If OCKHAM is serious about building such a network based on standards, I believe I should be able to configure WikiD to transparently participate into their model of a network as a full-fledged peer.

I also see WikiD as a dynamically-configurable client of those same services. As a client, I want the registry to be simple and easy to use. If I can't configure WikiD to act as a node in the registry, I will be inclined to think the model is too complex and difficult. 


</raw>
</record>
</record>
</content>
<displayContent>
<html xmlns="http://www.w3.org/1999/xhtml">
<body>Here are my nebulous thoughts and recollections on the recent Distributed Registries Workshop in Warwick (<a href="http://www.ukoln.ac.uk/events/dsr-workshop-2005/">http://www.ukoln.ac.uk/events/dsr-workshop-2005/</a>).<p></p>
BTW, I'm not trying to claim these ideas as my own. This is just a place for me to try to wrap my mind around the problem.
<hr />
Jeremy Frumkin named these as the three roles of a registry:
<ul>
<li> Discovery</li>
<li> Resolver</li>
<li> Interface info</li>
</ul>
<p></p>
<h1> Discovery </h1>
It seems to me that SRU with XSL stylesheet references is ideal for both human and automated discovery. SRW could be appended for die-hard SOAP enthusiasts. We could support Z39.50, if we must. SRW/U allows us to remain agnostic on the question of multiple collections/schemas for describing services. It's not clear to me, though, if discovery is required between nodes in the registry network, or only between a node and its connected applications (e.g. Greasemonkey). If it's the latter only, then registry node implementations could feel free to implement their own discovery protocol using information that gets shared across nodes. OTOH, agreement on a single protocol would allow for maximum client generalization.<p></p>
<h1> Resolver </h1>
This is where I think OpenURL 1.0 comes in. The concept of resolution seems very abstract within the domain of registries, and OpenURL 1.0 allows us to fully accommodate that abstraction. Resolution services could be implemented ad hoc, with registry nodes delegating resolver requests they are unfamiliar with. OpenURL 1.0 is built around the concept of context-sensitive services, which also allows us to accommodate the (uncertain) need for authentication between nodes in the distributed registry network. Data sharing between nodes could be achieved via OAI-PMH, which could be coordinated as yet another context-sensitive OpenURL 1.0 service. Nodes could be related via a DNS-type mechanism integrated into the OpenURL 1.0 component.<p></p>
<h1> Interface info </h1>
This appears to be a metadata issue and thus independent of the architecture of the network. I don't know anything about UDDI, but I'm guessing this is where the appeal is for it. My impression is that UDDI is a heavyweight solution, so I would like to know more about lightweight alternatives.<p></p>
<h1> Summary </h1>
In general, I would like to see a distributed services registry specified in terms of protocols (e.g. OpenURL, SRW/U, and OAI) and schemas rather than tools. There is confusion, in my mind at least, about where we draw the line between the registry and applications and I'd rather not lay on a Procrustean bed, if I don't have to.<p></p>
I need to take a closer look at OCKHAM to see what they're up to. I think <a href="WikiD">WikiD</a> is general-purpose enough that it should be able to serve as one or more nodes in a distributed registry. If OCKHAM is serious about building such a network based on standards, I believe I should be able to configure <a href="WikiD">WikiD</a> to transparently participate into their model of a network as a full-fledged peer.<p></p>
I also see <a href="WikiD">WikiD</a> as a dynamically-configurable client of those same services. As a client, I want the registry to be simple and easy to use. If I can't configure <a href="WikiD">WikiD</a> to act as a node in the registry, I will be inclined to think the model is too complex and difficult. <p></p>

</body>
</html>
</displayContent>
</resource>
