comp.lang.ada
 help / color / mirror / Atom feed
From: Ludovic Brenta <ludovic.brenta@insalien.org>
Subject: Re: Coupling or not coupling database and GUI libraries (was: GWindows and a future home for it)
Date: Thu, 21 Oct 2004 20:02:17 +0200
Date: 2004-10-21T20:02:27+02:00	[thread overview]
Message-ID: <87mzyglzkm.fsf_-_@insalien.org> (raw)
In-Reply-To: F5Sdd.54853$JG5.833152@news20.bellglobal.com

As a backgrounder on my experience: a few years ago, I wrote a 120
kSLOC application in Java that did just that - an interface to a
database.  The front-end started as Swing but changed to HTML and a
bit of Javascript.  There was an abstraction layer over the database
that supported Oracle, DB2 and DB2/400 and provided the database
schema metadata to the visualisation layer.  There were a connection
pool, several caches of metadata and data, and application-level
permission settings (authentication was delegated to the database
server, authorisation done in the application).

I have several concerns with tight integration of GUI and database
libraries.

1. If every widget can be attached to a database query, will every
   update to a widget not cause an SQL query?  This should be avoided.

2. If every widget is attached to a query, is it possible to update
   several widgets with one query, i.e. that several widgets be
   attached to the same query?

3. Is it possible to perform arbitrarily complex, application-specific
   formatting to the data as it goes back and forth between the
   widgets and the database?

In the application I mentioned, we would routinely do queries that
joined 5 or 6 tables, and we had lots of heuristics to help speed that
up.  In one of the screens, we would present a tree structure
constructed from oh, perhaps 10 different queries.

I have not really had a deep look at either Delphi, MFC, or GWindows,
but I suspect that coupling the GUI and the database libraries is only
useful for quick-and-dirty work when you want to create forms where
one form=one record in the database.

But for anything more complex, such coupling just gets in the way.  In
fact, it is the job of any non-trivial database GUI to perform the
"grunt work" you mentioned, and I cannot think of a useful way the
library could ease that.  Or perhaps you were only thinking of
marshalling and unmarshalling of individual database fields to and
from the database?  Yes, this is grunt work, but it is often
application-dependent too.  And unlike Java, Ada has generics which
can be instrumental in making this grunt work a piece of cake.

Java's JDBC is not tightly coupled with Swing or AWT.  Both APQ and
GNADE are similar in concept to it, or the ODBC API which is also not
coupled with any GUI.

I do not think it is wise to have a GUI-dependent database library.

-- 
Ludovic Brenta.



  reply	other threads:[~2004-10-21 18:02 UTC|newest]

Thread overview: 107+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2004-09-29  2:48 GWindows and a future home for it Fionn mac Cuimhaill
2004-09-29  2:53 ` stephane richard
2004-09-29  7:20   ` Martin Krischik
2004-09-29 12:40 ` Chris Humphries
2004-09-29 15:21   ` stephane richard
2004-09-29 19:12     ` Chris Humphries
2004-09-30  0:03 ` Stephen Leake
2004-09-30  1:39   ` stephane richard
2004-09-30  3:29   ` Fionn mac Cuimhaill
     [not found]     ` <mailman.141.1096581654.390.comp.lang.ada@ada-france.org>
2004-09-30 23:32       ` Randy Brukardt
2004-10-01  1:28     ` Stephen Leake
2004-10-01  1:39       ` stephane richard
2004-10-01  6:43       ` Fionn mac Cuimhaill
     [not found]     ` <umzz75se6.fsf@acm.org>
2004-10-01 10:48       ` Marius Amado Alves
2004-10-01 14:49         ` Fionn mac Cuimhaill
2004-10-01 15:39           ` Marius Amado Alves
2004-10-01 15:50             ` stephane richard
2004-10-01 16:25               ` Chris Humphries
2004-10-01 17:09                 ` Ludovic Brenta
2004-10-21 17:12                   ` Warren W. Gay VE3WWG
2004-10-21 18:02                     ` Ludovic Brenta [this message]
2004-10-21 21:11                       ` Coupling or not coupling database and GUI libraries Warren W. Gay VE3WWG
2004-10-22  2:36                       ` Coupling or not coupling database and GUI libraries (was: GWindows and a future home for it) David Botton
2004-10-02  2:01             ` GWindows and a future home for it Fionn mac Cuimhaill
2004-09-30 14:40   ` Nick Roberts
2004-09-30 15:22     ` stephane richard
2004-10-01 19:52       ` Nick Roberts
2004-09-30 16:55     ` tmoran
2004-09-30 22:17   ` Stephen McNeill
2004-09-30 22:48     ` stephane richard
2004-10-01 16:34   ` Björn Persson
2004-10-01 16:58   ` AndreS
2004-10-01 18:08     ` Georg Bauhaus
2004-10-01 18:16       ` Randy Brukardt
2004-10-01 23:20         ` tmoran
2004-10-02  0:45         ` Jeffrey Carter
2004-10-03 17:23           ` David Botton
2004-10-04 22:10         ` Randy Brukardt
2004-10-01 18:40       ` Marius Amado Alves
2004-10-03 22:45         ` Georg Bauhaus
2004-10-04 13:01           ` Marius Amado Alves
2004-10-04 21:05             ` Ludovic Brenta
2004-10-06 10:13               ` Marius Amado Alves
2004-10-06 13:15                 ` David Botton
2004-10-06 14:35                   ` Marius Amado Alves
2004-10-06 15:07                     ` Hyman Rosen
2004-10-06 17:04                       ` Marius Amado Alves
2004-10-06 17:53                         ` Licenses and physical things Björn Persson
2004-10-06 18:02                         ` GWindows and a future home for it Hyman Rosen
2004-10-06 18:39                           ` Marius Amado Alves
2004-10-06 18:58                         ` Georg Bauhaus
2004-10-06 19:20                           ` Marius Amado Alves
2004-10-06 20:30                             ` Hyman Rosen
2004-10-06 21:28                               ` Marius Amado Alves
2004-10-06 21:40                                 ` Hyman Rosen
2004-10-07 11:50                     ` Marin David Condic
2004-10-07 14:33                       ` Georg Bauhaus
2004-10-06 13:19                 ` Gnat Pro and the GPL Björn Persson
2004-10-06 17:16                   ` Marius Amado Alves
2004-10-06 17:55                     ` Björn Persson
2004-10-06 18:18                       ` Marius Amado Alves
2004-10-06 19:02                         ` Hyman Rosen
2004-10-06 20:25                           ` Björn Persson
2004-10-07  6:07                             ` Florian Weimer
2004-10-07 16:00                               ` Björn Persson
2004-10-06 22:21                         ` CBFalconer
2004-10-06 18:04                     ` Hyman Rosen
     [not found]               ` <4163C54F.9050700@netcabo.pt>
2004-10-07  0:27                 ` GWindows and a future home for it Stephen Leake
2004-10-07  0:55                   ` stephane richard
2004-10-07 19:11                     ` Not redistributing GNAT Pro (was: GWindows and a home for it) Ludovic Brenta
2004-10-08  2:07                       ` Jeff C r e e.m
2004-10-08 16:50                         ` Not redistributing GNAT Pro Ludovic Brenta
2004-10-08 17:26                           ` Jeff C r e e.m
2004-10-09  2:27                           ` Brian May
2004-10-09 11:14                             ` Ludovic Brenta
2004-10-09  5:16                           ` CBFalconer
2004-10-09  9:57                             ` Jerry van Dijk
2004-10-08  5:53                       ` Not redistributing GNAT Pro (was: GWindows and a home for it) Simon Wright
2004-10-01 23:57     ` GWindows and a future home for it Stephen Leake
2004-10-02  3:06     ` Fionn mac Cuimhaill
2004-10-02  7:13       ` tmoran
2004-10-03 16:22         ` James E. Hopper
2004-10-03 19:03         ` Future of Ada volunteer efforts David Botton
2004-10-03 23:31           ` stephane richard
2004-09-30  0:13 ` GWindows Database time type Stephen Leake
2004-09-30  4:31   ` Fionn mac Cuimhaill
2004-10-01  0:57     ` Stephen Leake
2004-10-01  1:44       ` stephane richard
2004-10-01  3:04         ` Randy Brukardt
2004-10-01 10:07           ` stephane richard
2004-09-30 18:44   ` Georg Bauhaus
2004-10-21 17:29     ` Warren W. Gay VE3WWG
2004-10-22  2:32       ` David Botton
2004-10-22 16:46         ` Warren W. Gay VE3WWG
2004-10-21 17:26   ` Warren W. Gay VE3WWG
2004-10-03 15:41 ` AdaPower and GWindows community effort drive David Botton
2004-10-03 16:45   ` stephane richard
2004-10-03 17:29     ` David Botton
2004-10-03 17:38       ` stephane richard
2004-10-03 19:10         ` David Botton
2004-10-04  2:12       ` Stephen Leake
2004-10-04  2:21         ` stephane richard
2004-10-04 13:25         ` David Botton
2004-10-04  2:37   ` Fionn mac Cuimhaill
2004-10-04  2:49     ` stephane richard
2004-10-04 13:44     ` David Botton
2004-10-05  1:25       ` David Botton
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox