DB design document

Al Snell alaric@alaric-snell.com
Fri, 22 Dec 2000 15:40:48 +0000 (GMT)


Most users of GnuCash won't know that they want encryption of network
traffic. It's our job to know that and put it in there for them,
automatically, rather than expecting them to set up VPNs and firewalls and
stuff. Chumps rule the world.

> As for the clear requirements, you are correct -- we do need a clear
> set of requirements.  I've been trying to state what my requirements
> are, in terms of security, and I've been trying to glom usability
> requirements from other people.  But there isn't a requirements
> docuement anywhere that really describes where GnuCash is heading.

Here's a proposal.

The existing GnuCash engine stays as is. It's already designed to have
multiple front ends. We just write extra front ends for network access, so
that the normal gnucash binary can be started as "gnucash --daemon" or
something - if it's done with Corba, it can output an IOR to standard
output or register with a Corba name service.

The binary can also either run with the normal engine, or a client of the
remote engine access protocol for remote operation.

Just running "gnucash" on its own requires no extra setup, but you can run
two gnucashes, one as a server, and then one or more as clients.

> > This is one reason I nominated corba.  Many (but not all) of the api 
> > questions melt away, with an 'obvious' answer.   

Technically, I'd go for ONC RPC - it's mature, it's easy to use, it's more
lightweight, it's available everywhere - but the one thing going for CORBA
here is that Gnome already has it.

As for security... if we used Corba with ORBit, then we could just
piggyback the Orbit-SSL stuff when it comes out; if we use ONC RPC, not
all implementation provide the security extensions, but I'm pushing for a
portable ONC RPC implementation with security in it anyway.

Mmmmm, my laptop (NetBSD 1.5) supports RPC over IPv6 - I was using it for
NFS mounts on the home LAN today.

ABS

-- 
                               Alaric B. Snell
 http://www.alaric-snell.com/  http://RFC.net/  http://www.warhead.org.uk/
   Any sufficiently advanced technology can be emulated in software