![]() | |
![]() |
| | Thread Tools | Display Modes |
#1
| |||
| |||
|
|
One of the advantages of model-centric approaches (i.e. code generators and/or frameworks) as used by Rails, Grails, Django, Hibernate, ....., and even DAOGen (http://community.ingres.com/wiki/ OpenROAD_DAOGen) is that if the model (or an attribute) changes the code "sees" the change too. If you have an application that needs input validation (e.g. length enforcement) these full stack frameworks (e.g. Django, Rails, ....) can actually do that based on the model, without the need to code an explicit length validation check. This auto check will then automatically update if the model changes. Typically this means you have to define the object model first BUT there are often tools that generate models from an existing database schema. For example http://magicmodels.rubyforge.org/magic_model_generator/ (I knocked up a rough one for Ingres and http://www.web2py.com/ by hitting iitables/iicolumns/etc.) This is a different approach to schema based applications (i.e. where the table structure is defined first) but you can mix-n-match with appropriate tools. Database and application migrations or evolutions are tricky/tedious, using a tool is often a good idea. It depends on what language(s) and frameworks already in use by the application when picking an approach/tool. |
#2
| |||
| |||
|
|
*What is a nice feature of SAP ABAP [the only one?] - is that you can declare a variable as a table attribute - thus if attribute is changed from varchar(6) to varchar(20) as happened to us once well written code would not be as difficult to update. I can see lots of reasons why this would be difficult though !! Allan |
#3
| |||
| |||
|
|
On Mar 28, 5:59*am, Allan Biggs <alla... (AT) iname (DOT) com> wrote: *What is a nice feature of SAP ABAP [the only one?] - is that you can declare a variable as a table attribute - thus if attribute is changed from varchar(6) to varchar(20) as happened to us once well written code would not be as difficult to update. I can see lots of reasons why this would be difficult though !! A bit like dclgen for abf? |
#4
| |||
| |||
|
|
I am entirely convinced of the benefit of configuring applications dynamically from a conceptual model, be it done through code-generation or at run-time. We probably don't see eye-to-eye on how to represent the conceptual model though. You seem to prefer the object model and you put up the straw man of "schema based applications" as the only alternative, seemingly to clinch the point. |
|
The great disadvantage of the so-called object model is that it is entirely undefined. We all sorta, kinda "know" enough about it to get on, but if we start digging into what makes it tick, as we must if we want to automate application generation to the extent possible, we discover there is no underlying theory to it all. There is nothing that can help us through it when intuition runs out. |
![]() |
| Thread Tools | |
| Display Modes | |
| |