A public forum for discussing the design of software, from the user interface to the code architecture. Now closed.
I would like to pose a "thought exercise":
I would like "a way" to specify database applications with rich user interfaces and complex relations for data entry, display, reporting and import/export, in a platform and language agnostic way. The only 'language specificity' should be SQL.
The specification should be able to capture:
- basic facts about the database structure (DDL level stuff)
- SQL relational operations (DML)
- Basic parameters for associations between the tables (again, part of DDL and DML territory)
- Basic parameters for display of data for editing. For instance, a platform independent way of saying what all data entry screens for table Foo_1 will look like in a "layout markup language" way.
- Parameters for grouping and displaying sets of rows that are joined to a parent table, or for 1 to 1 or N to N relationships.
- Any and all other attributes of "database programming" that can be bottled up in a spec.
Here is what I am getting at: bridging the organizational and documentation gaps between an application analyst, a database analyst, and the programmer.
A current project for a client contains about 400 tables. It is a business related function. My client spends a considerable amount of time writing and refining Visio layouts of screens, prose specifications of the fields that are displayed in those screens, and attributes of the fields on those screens (read only, required, a filtered list that is the product of a browse on a lookup table, etc).
Most of the product consists of drill-downs of database tables. After developing 10 or so major forms for this project it feels like most of the meat of the data and functional relationships could be expressed by rote.
It feels like there is considerable room for creating a standard way of expressing the analysts' desires in a formal way that could be inputted to a code and to a DDL/DML generator. Such as an XML format for the specification.
Another significant advantage of such an approach is that if the specification were truly comprehensive, then in theory the specification could be transformed into different platform specific versions: a PHP web version, a workstation version using a traditional RAD tool like VB or Access, a .Net/MSDE version, etc.
I'm not really talking about a "use cases" modeling tool or UML. The skeleton of such a specification could possibly flow out of a modeling tool but it would seem to be well beyond the scope of most CASE modeling tools.
Does anything like this exist? Even internally in some company?
Well, ERWin will get you some of the way there, I believe. Certainly you can build your E/R diagrams and generate DDL for a number of platforms.I don't know that it will give you a way of generating screens or APIs
Oracle Designer is far from platform-agnostic, but for the Oracle world it will do a lot of what you're looking for.
>>"Another significant advantage of such an approach is that if the specification were truly comprehensive, then in theory the specification could be transformed into different platform specific versions: a PHP web version, a workstation version using a traditional RAD tool like VB or Access, a .Net/MSDE version, etc."
Maybe you should have a look at GNU Enterprise ( http://www.gnuenterprise.org )
Their application servers developers guide gives you an overview of how GNUe works.
GNUe Forms allows you to create different UIs like: ncurses, web, gtk2, qt, ... all from one form definition file.
Anyway, I'm not that good at giving a short intro to GNUe, so I suggest you check out their project.
If this is not what you're looking for then pls explain.
This topic is archived. No further replies will be accepted.Other recent topics
Powered by FogBugz