Remote DOM access ??

A question for you guys.

Say that I want to access a sizable XML document (2-5 Mb for example)
and show some parts of it.

If the file is on my machine there is no problem, I parse it and access
it through DOM.

Now, what if the document is on some far distant server on the Internet
?

I would like to be able to use DOM as well but I'm not in the mood of
downloading  the whole file so I design a CORBA DOM interface and access

it through that.

Do you think that it might work ?

I suspect that it wouldn't work very well as every time that I need to
access an element or apply some operations I have to send a CORBA
message and wait for an answer before I can proceed.

Maybe a better solution would be to have a smart XML cache, something
that would use heuristic methods to forecast which data the user is
going to require and forward it before the actual request take place.

Basically:
- the server keeps on sending stuff down the wire, sending first the
elements that seem more likey to be needed (say those who are nearby the

latest required element).
- the client caches whatever it receives, when a request for an element
is made it looks in the cache first if it's not there send a request to
the server
- whenever the server receive a request it updates its policy

I guess that assuring cache coherence in case of multiple write accesses

to the same document  would be a big problem but for read-only access it

should not be impossible to implement.

What do you think ?

This seems a quite common and general problem to me, I suppose that you
might have already encountered and thought about it.


A related question, is there any proposal for a protocol between a DOM
implementation and an underlying datastore ?

I read that Docuverse is going to port its DOM framework on Pse Pro, it
would be nice if it could be ported also on other databases (non
necessarily object oriented).

What about having a simple standard interface to support this kind of
communication  (of which the cached interface might be just a special
case) ?


Thanks in advance for your advice.





--
Pasqualino "Titto" Assini
The Data Archive - University of Essex, UK

Received on Wednesday, 7 October 1998 09:05:12 UTC