- From: Jean-Marc Vanel <jmvanel@free.fr>
- Date: Wed, 29 Mar 2000 22:16:52 +0200
- To: xml-dist-app@w3.org, "wwbota@egroups.com" <wwbota@egroups.com>
Hello
For our project of making botanical data available on Internet, I try to
design a distributed knowledge architecture on Internet, in the line of
the famous semantic Web. This is a revised version of a post of last
week in xml-dev. It is mirrored in http://wwbota.free.fr/XMLprotocol.htm
XML All-purpose Protocol
This could also be called XML distributed architecture. For distributed
computing, I expect HTTP+XML to dominate over Corba and COM in
the long term. But SOAP
(http://search.ietf.org/internet-drafts/draft-box-http-soap-01.txt) and
XML-RPC are not enough. The need for servers
to publish their schemas for queries and responses is fondamental.
Moreover the publication of the schemas, and their consultation by the
client, allows to simplify the subsequent messages (see the
consequences for SOAP on our site).
I you try to imagine how an application could navigate through
Internet, searching resources, much like us humans navigate on Internet,
starting with a search engine, and surfing from page to page, you can
arrive to this solution:
Axioms:
servers must define precisely what they offer, and clients are
free to take anywhere just what they need;
every message sent is XML
The proposed solution
Specify an XML service
At a well-known or starting point URL there could be a service
specifying other services. And there the content would be something
like:
<serversDirectory xmlns="http://www.w3.org/2000/XAP">
<service xmlns:myVocab="http://myCom.com/">
<url>http://myCom.com/service.pl</url>
<vocabulary>http://www.myCom.com/service.xs</vocabulary>
<keyword>online shop</keyword><keyword>wine</keyword>
<defaults><myVocab:myProperty>my
value</myVocab:myProperty></defaults>
<query>
<query-element> myVocab:myQuery </query-element>
<!-- name of an XML element in this vocabulary specifying the query
-->
<result-element> myVocab:myResult </result-element>
<!-- name of an XML element in this vocabulary
specifying the result of the query (a priori only one
result-element per query) -->
</query>
</service>
</serversDirectory>
Notes:
this offers both great flexibility and clear contract between
client and server;
a server can herald service(s) on the same site or others sites;
the vocabulary, in XML Schema or RDF Schema (or even DTD for
old-timers) can be on the same site or others sites; it can refer to
Schema repositories like Oasis etc, so that client and server can
share a prior knowledge ;
it is possible to have a standard name for this file on a Web
site, like index.html is the starting point for browsing, services.xml
would be the starting point for an non-human client;
possibly there is no <query-element>, or it is empty;
using the vocabulary of "XML All-purpose Protocol" itself, it is
possible to point to other <serversDirectory>'s, depending on the
query made.
a service is not only defined by queries and responses; two
services can be differing only by the domain covered, e.g. one for
plants of
North America and one for plants of China; how to specify this in
the serversDirectory element ? Or outside by RDF of Xlink
statements? Answer: in the serversDirectory element; this is the
purpose of the defaults element (could be called context)
there are possibly several vocabularies per service, several
query-element per query, several services per serversDirectory
Client server protocol
Most of the semantics of the communication is specified prior to the
message by the serversDirectory element described above. What
remain to specify are book-keeping and error managing items.
Session ID
This is similar to the transactionID from SOAP. This is an identifyer
for a session, unique at least at server level. It must be attributed by
the
server the first time it encounters a client, and afterwards should be
re-sent by both. The client starts a new session by sending a request
without a SessionID.
--
<person>
<firstName>Jean-Marc</firstName>
<lastName>Vanel</LastName>
<conference>9th International World Wide Web Conference - Amsterdam,
May 15-19, 2000
<a href="http://www.www9.org/">site</a>
</conference>
<project>Worlwide Botanical Knowledge Base -
making botany available on Internet
<a href="http://wwbota.free.fr/" >site</a>
</project>
<a href="http://jmvanel.free.fr/>home page</a>
<a href="mailto:jmvanel@free.fr">mail (possibly put "wwbota" in
subject to route your mail in relevant folder)</a>
</person>
Received on Wednesday, 29 March 2000 15:23:23 UTC