client-server

linas@linas.org linas@linas.org
Wed, 20 Dec 2000 20:55:34 -0600 (CST)


OK, here's the dope:

I don't think rob is entirely aware of the possibilities that his XML
file format opens up.   Some of the readers of this mailing list may
also not be aware of what demos grib has done with embedding guppi
in html.  I don't know how many people are aware that the cvs branch
of gnucash has a web browser more-or-less built into it.  Its not a
great all-purpose browser, but for the following example, that don't
matter.

GnuCash is just inches away from being a financial ASP website.
Here's how:

Imagine logging into a special ssl-protected website.  (using
gnucash's built-in browser).  You've authenticated, and now you want
to look at your stocks.  You are taken to the following web page:

----------------------------------------------------------


Your Portfolio!

Based on the current market values, your asset allocation graph is shown below! Just click and drag on this live guppi pie chart! The left mouse button lets you move pie slices around, and the right button lets you rotate the whole pie.

---------------------------------------------------------- What did this web page do? First, it instructed gnucash to use a live guppi chart do display data. The above is a direct cut-n-paste of some code that bill dropped into cvs recently. (Yes, the next version of gnucash will have graphs). Next, this web page sent us some gnucash data. (it might be better to compress it, uuencode it, and send it under a separete mime-type, but lets gloss that one). The sample data is a cut-n-paste out of the gnucash cvs tree, some sample files in the new file format. What have we accomplished here? -- we've built a web site that only gnucash can look at and make sense of. -- we've built a finacial website whose performance blows the doors off yahoo.com or fncentral.com Basically, no nasty html forms needed. We've got a slick ledger. We've got interactive graphs. Microsoft .net, take that! Pow! Bang! -- We've solved the multi-user login issue. Sort of. At least, we turned the multi-user login issue into a standard web/apache login issue, and there's mod_htpasswd and fancier, mod_kerberos, to deal with that. And, since this is just plain-old apache, we're using plain-old mod_ssl to encrypt for transport. -- We've side-stepped the sql transport issue, sort-of. All data between gnucash-the-web-browser and gnc-the-apache-server is in the form of this oddly marked-up html with embedded, uuencoded gnc-xml. On the server side, we have to write some cgi-bins that yank data from any old sql db, and convert it into gnc-xml. (personally, I recommed using gnc-engine to implement those cgi-bins). I beleive the above architecture renders the whole previous discussion moot. I also think its a very, very exciting thing to do. It solves a number of technical issues, such as multi-user, that have been plaguing us. Next, it give us world-class financial ASP capabilites. Finally, I think this is what microsoft is thinking about when it talks .net and this alone makes it important for us to do this more/better/faster. --linas