General Architecture and MOAP

Christian Stimming stimming at tuhh.de
Thu Sep 4 14:17:09 CDT 2003


Benoit Grégoire schrieb:
> Here are my unsorted and quick observations about 
> http://www.tech.gfusa.org/images/MOAP/GnuCashArcht.png.  Someone else correct 
> me if I a wrong:
> 
> -There is no XML between the GUI and the engine

Correct. Moreover, the Reporting and Graphs are split into two different 
entities. Firstly, there is the "Reporting" entity. It is written in 
Scheme, is invoked by "the glue" (except that this in turn is probably 
only gtk's event loop), and retrieves its data both by direct calls to 
the GnuCash Engine (through g-wrap for mapping C to scheme and vice 
versa) and by calls to the Query Module. The output of the "Reporting" 
entity is pure HTML (not XML). This HTML is passed to the second entity, 
"Graph display". This entity is further subdivided into three parts. 
Firstly, the gtkhtml library actually displays the HTML and takes care 
of the text parts. The diagram parts will be passed to some callback 
functions in GnuCash (second sub-part), which will pass the data to the 
Guppi library (third sub-part) which will display the diagrams.

> -To my knowledge none of the HBCI code is in the engine.

Correct. All HBCI code as well as OFX and QIF code are in the 
"Import/Export" section. Each a module on its own, with a common shared 
module "Import Matching GUI". All of these Interfaces have some GUI of 
their own (in addition to the Import Matching GUI), and additionally 
they use direct C calls to the GnuCash engine. Some of these Interfaces 
also use an external library of their own: libofx for OFX, libopenhbci 
for HBCI.

> -There is an abstraction level, the backend, between the engine and SQL, XML, 
> RPC, etc.

Correct. I wonder how this will look like in the picture...

Also, the connection to the "GnuCash Server" IIRC consisted of plain 
text over http, and it is probably broken anyway.

Christian




More information about the gnucash-devel mailing list