On Sat, 13 May 2000 16:10:35 +0300, the world broke into rejoicing as
Alessio Bragadini <[EMAIL PROTECTED]> said:
> Gerald Champagne:
>
> > I don't know much about database programs, but I'm interested in
> > learning. Can someone please explain why it would be worth adding
> > the complexity of an external database program? Would it add
> > features? Would it create cleaner code? Is there another reason?
>
> To me, seems that the main reason for an external database and/or
> documented data structure, is to allow other third-party tools to
> access the data with different programs in an independent way. A
> separate project for fancy reporting or integrating with other
> services would be then easy and doable by anyone not stricly related
> to the gnucash tool. And, ofcourse, handling of multiple users and
> preferences.
>
> Given that, I am not sure that a full scale client-server should be
> the way to go.
Indeed.
I would draw a comparison to CORBA as well.
Introducing CORBA to a system introduces a certain degree of added
complexity, in terms of having to initialize server processes, as well
as defining communications APIs.
This is _worthwhile_ if the system is either:
a) Dramatically complex, so that the complexity CORBA adds is not
noticeable, and so that there's something that CORBA can improve
by making it easier to define objects in the system, or
b) Going to be connected to all sorts of things, thus making it worthwhile
to "standardize" interprocess communications in a sophisticated manner.
The GNOME project has a fairly high degree of complexity, as well as a
need to have diverse applications interfacing to one another. As a result,
it is useful to have some CORBA interfaces kicking around.
That being said, the processing _inside_ any given application generally
does _not_ use CORBA. For instance, people _don't_ use GTK with a CORBA
wrapper; that just doesn't seem to provide value.
The parallels to the use of RDBMSes with GnuCash are, I think, quite
good.
--> Adding an RDBMS like PostgreSQL to GnuCash would introduce considerable
complexity.
--> The data model of GnuCash isn't so vastly complex that this would make
data "more manageable."
As for "IPC," it would make a fair bit of sense to put a
transaction-oriented bit of CORBA IDL alongside at some point to allow
external systems to have access to GnuCash data. I'd think that _that_
might make more sense than trying to "standardize" via pushing data out
to an SQL RDBMS.
--
Rules of the Evil Overlord #137. "Before spending available funds on
giant gargoyles, gothic arches, or other cosmetically intimidating
pieces of architecture, I will see if there are any valid military
expenditures that could use the extra budget."
<http://www.eviloverlord.com/>
[EMAIL PROTECTED] - <http://www.ntlug.org/~cbbrowne/lsf.html>