From an [e-mail discussion|
http://www.telscenter.org/mailman/private/owl-discuss/2004-April/000098.html]
The hosts are responsible for marshalling data and messages. They
handle most of the complexity.
The VLE and the host talk very simply.
- Can a user run a unit on the VLE without a host?
- If there is no host is a users data saved?
The user would require a host in order to receive content. So "yes a
user can run a unit without a host" but they would have to have
connected previously to get it.
Normally, the learner data would go straight back to a host, but if the
connection is severed that could be queued up.
So, the VLE would queue up the learner interaction data?
I don't feel compelled or even competent to push this too far, but it
makes sense to me that every user would have a VLE, obviously, but also
some sort of host as well. At the lowest level the host is a simple
proxy, that knows how to queue when a connection to a more competent host
isn't present, and also knows how to get a connection in certain cases
(for batching situations). Makes sense to call this host functionality,
rather than VLE, and keep it separate.
Users wouldn't install two things, of course, or even know that they had
this multi-level application. It would help developers, though, who wanted
to write a VLE but could use the same small proxy-only host (I'm not sure
"proxy-only" is the right phrase). Host functionality can be tiered,
modularized, or even offered via completely different applications for
additional services (to allow storage of learner data on the teachers
computer, say, and other things).
Writing that proxy-only host in J2EE in the near future makes sense, to
get something out, as well as in the long term allowing it to be written
in non-J2EE architectures as well, if it true that J2EE doesn't scale down
all that well. But what the hell do I know?
As you probably know, I'm eager to get these level 1 tasks underway
forthwith, so we can do the level 2 stuff in a reasonable time frame.