[RDF] First c/s version
Jonas Liljegren
jonas@rit.se
24 Oct 2000 17:29:39 +0200
The latest CVS version includes the files
./cgi-bin/serv1.pl
./cgi-bin/client.cgi
This speeds up the response time many times. The server resolves one
request at the time. Time-sharing will be implemented later, then
needed. We will have to use fork or similar for retrieving RDF
documents with http.
About the choise of the server implementation:
I looked at the CPAN modules EventServer and NetServer::Generic, but
they didn't seem to fit the needs.
SysV IPC isn't practical since the central cache is used everywhere
and the objects consist of small perl objects. I did a benchmark, and
it was slow.
The forking capabilities of Perl is still unstable. I don't want Wraf
to be unstable.
The server is ussing the lov level IO::Socket and IO::Select modules.
The algorithms was adpoted from Joey Hess perlmoo, a Perl mud
server. :-)
Ok. Now starts the real job: to implement the callbacks to timeout
values upon change. Doesn't feel that hard. Maby we will reach alpha
3 within this week. :-)
Here is the TODO list:
DONE - Add properties
DONE - View all properties for person
DONE - Create a web HTML interface to register
DONE - Remove/change statements
DONE --- (alpha 1)
DONE - Context wrappers for objects
DONE - Selections for searches
DONE - minimal arc(), arc_obj() and rev_type()
DONE - list() and li()
DONE --- (alpha 2)
DONE - c/s architecture
- callbacks to updated cache on changes in the source
--- (alpha 3)
- multipple criterions
- sub criterions
- alternative lists
--- (alpha 4)
- criterions in context
- Session metadata
- User identification
--- (alpha 5)
- Model authority
- authenticated change/delete
- distributive properties
--- (alpha 6)
- minimal SDL general presentation framework
- minimal inference/translation rules
--- (alpha 7)
- Generalize prototyp application
- Set official schema URIs
- Test suite
--- (beta 1)
But this will probably change after alpha 3. Alpha 4 was set up to
finish most of the selection (query) API. But that will not happen if
the prototype doesn't actually need it.
Hmm.. I guess I will just remove the stage 4 and extend the API as
needed...
Ok. Changing the TODO to:
DONE - Add properties
DONE - View all properties for person
DONE - Create a web HTML interface to register
DONE - Remove/change statements
DONE --- (alpha 1)
DONE - Context wrappers for objects
DONE - Selections for searches
DONE - minimal arc(), arc_obj() and rev_type()
DONE - list() and li()
DONE --- (alpha 2)
DONE - c/s architecture
- callbacks to updated cache on changes in the source
--- (alpha 3)
- Session metadata
- User identification
--- (alpha 4)
- Model authority
- authenticated change/delete
- distributive properties
--- (alpha 5)
- minimal SDL general presentation framework
- minimal inference/translation rules
--- (alpha 6)
- Generalize prototyp application
- Set official schema URIs
- Test suite
--- (beta 1)
--
/ Jonas Liljegren
The Wraf project http://www.uxn.nu/wraf/
Sponsored by http://www.rit.se/