[MUD-Dev] Questions about server design

Shane Gough goughsw at bigpond.com
Fri May 24 01:39:14 New Zealand Standard Time 2002

Regarding XML as a data format here is my 2c worth ....

  1/ XML is a great format for *exchanging* data between multiple
  systems.  In my desigs (not just MUD, commercial software as well)
  I usually import an 'export' utility/method that writes the
  information out in XML with a well defined (and well documented)
  DTD. This makes it a lot easier to migrate between versions of the
  same software and that allows third party software to easily
  process the data.

  2/ The 'official' XML specification IMHO has taken a simple,
  useful format and turned it into yet another overspecified,
  overhyped popular format. If you use XML - keep it simple, it
  reduces the load on supporting software. In my stuff I use a
  streaming XML parser that completely ignores things like
  namespaces, XML transformations etc.  Excuse me but I don't want
  to include a 300K support library to process things I don't expect
  from 95% of my users.

  3/ If you support exporting data in XML, make sure you support
  importing XML in the same format. This allows people to use third
  party tools to manipulate your data, transform it, spit it out and
  put it back in to your system. That was the whole purpose of XML
  as far as I was concerned - a universal data transfer format.

>From what I can see (and the things that have influenced my design)
the difference between an XML storage format and a relational
database is the same as the argument between a disk based and a
memory based MUD. If you are using XML as your native file format
you are really becoming a memory based MUD - the XML is parsed, the
appropriate objects are created in memory, modified in memory and
committed to disk on a periodic basis. If you have a relational
database as a backing store you then keep data in a proprietery(sp?) 
format depending on the database server you use, but you get the
advantage of transaction support, string search support, etc.

I would try an combine the two (and this is what I am trying to do
in my own server design). This way you are not limited by memory
size when you design your MUD but still allow third party
manipulation of your XML formatted data.


If you try to throw your arms around the world, they'll nail you to
a cross and say it was a workplace accident because you were
employed as a carpenter. (Howard Hendrix - Better Angels).

MUD-Dev mailing list
MUD-Dev at kanga.nu

More information about the MUD-Dev mailing list