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