[Uni-verse] Update of WP 6.2 (Alternative Server implementation)

Emil Brink emil at obsession.se
Thu Sep 8 15:32:46 CEST 2005


Eskil Steenberg wrote:
> Hi
> 
> It feels like the same featiures could be obtained much more easely. First
> of all i think re implementing the entire server is a waist of time. There
> is a lot of things and behaviours that are going to be exactly the same as
> the current verse server and that is going to take alot of time writing,
> testing and to get right (believe me i know...). so the security things
> should be added to a version of our server rathere then re-implementing
> everything.

True, except for the bits about threading and stuff. I seem to recall 
you Eskil addressing why threading won't help the server performance 
right away somewhere, but I can't recall it right now. I do know that 
when the server sits in some loop sending out content to one client, 
other clients will experience latencies. Right? This seems to indicate 
that a more parallel server is not useless.

> Then again saving/loading functionality already exists as a separate
> applications and there isnt huge need to re implement them either.
> Generaly the application you plan to write seams to be just way too big.
> The interface should obviusly be a verse client that controls the setings
> using the method call system, so that other applications also can be used
> and so that it can be done remotely.

This feels obvious to me too, until I started to think of how exactly 
you could do that. As far as I know, you can't? There is no avatar 
object node representing the server, so there would be nowhere to send 
method calls to, would there?

I find this a bit lacking; we have this neat (imo) remote procedure call 
system, but no way to use it to control one of the more interesting 
entities present in any session, i.e. the server itself.

I'm sure it could be worked around, or even extended, pretty easily, but 
it's not something that has been talked about. We should come up with a 
standard way of exposing methods on the server.

> And if you want to have a webpage wthat displays statistics and stuff
 > that functionality should also be a separate application that connects
 > to a server to retreve the data.

Sure, but if it's done locally in the server, there can be a lot more 
information available easily. To me, the obvious (?) way to do it would 
be to define a method[*] that accepts e.g. a text node and buffer pair, 
and has the server fill in either raw information, or pre-cooked HTML, 
there. This keeps the information flowing inside Verse, at least.

> Verse is meant to distrobute the development. if you write a webpage
> generator, that should obviusly be conectable to any server implementation
> not just yours. The same goes for savers, loaders, admin tools and other
> things as well. It will also cut the number of dependencys and help
> porting of each tool. It makes things so much more flexible if the
> functionalitys are separate and you can exchane and modify them
> indipendently.

Yeah, I agree, being distributed and adding functionality in independent 
modules is a big plus with Verse.

Regards,

/Emil

[*] Assuming that a way to address the server through methods is found,
     of course.


More information about the Uni-verse mailing list