DB design document

linas@linas.org linas@linas.org
Wed, 20 Dec 2000 21:16:45 -0600 (CST)


It's been rumoured that Rob Browning said:
> 
> linas@linas.org writes:
> 
> > I don't think there are any.  Virtually all sql db's support a
> > common basic set of functions, and its hard for me to think of a
> > good example where gnucash would need/want to use something that
> > wasn't standard.
> 
> Say we decide we need to always perform some particularly complex
> computation on the server side, 

When deciding whether some function should happen on the server side,
or the client side, several things enter into the decision matrix:

-- can we eliminate massive net traffic by moving something to the 
   server (or client) side?  Or will  it improve performance / 
   latency/reponsiveness?
-- do we have to invent new technology to move function X from server
   to client?
-- is it impossible to implement X on the client side (e.g.
   serialization/locking)?

Unless one is constrained by the above arguments, the best solution
is the simplest solution.  That was my argument against the
gnc-server; see, however, below.

> Also note that there's no reason why the gnc-client and gnc-server,

I take back all statements about this.  If we make gnc-server be a
cgi-bin, as explained in the other note, then I think its a great
idea, and a must-do item.

> not going to use CORBA/RPC/whatever.

Yes, lets not use corba. It'll be a waste of time.  The web-xml idea
is **much** better.

> rely on "whatever the DB server can communicate directly".

that's why we have geas.

> But perhaps we'll have to just agree to disagree on this point and
> revisit it later when we're closer to needing to resolve it.  It's
> quite possible I'm not thinking of things that would make server-side
> code a bad-idea(TM).

I'm not disagreeing.  I was questioning.  I beleive I have found an
answer, as per other email.  I beleive that that solution meets all
of the requirements for encyrption, multi-user, authentication,
network operation.   And its slick-as-hell, something that I think
web-heads and MS .net beleivers can grok.    And that's important.

--linas