Database Independance

Is it really true that Gen can deploy into different environments ?

Yes – it is, but what happens when you change the database technoloigy that is underlying the application ? Does Gen help here ?

 Again, it does, but you need to be careful for a number of reasons:

i) There may be different sort orders in the new database platform – particularly if you are moving from a mainframe to unix environment (EBCDIC to ASCII)

ii) Default field lengths may be different

iii) Character sets may be different (specifically if you are dealing with non-standard character sets)

iv) Performance tuning starts from scratch again, as different requirements need to be taken into consideration.

v) and many more besides 

Gen can help in a number of ways, but the primary way is that it leaves the DBA-types to concentrate on the tuning needs and results of tuning can be sent to the developers who can concentrate on getting a performant system, and NOT on actually cutting code.

It can help in as much as the focus on a project to change database need not be on the code or the platform-specific stuff needed to get a system up and running, the focus should be on the differences, not the basics.

It could also be argued that Gen hides the database technology from the developer. This is (in the main) a good thing, but thinking about one of my previous posts (Model-based Development and Top Fuel Dragsters)that the Gen developer should understand what goes on under the bonnet – he/she should understand what portions of the application are controlled by his/her code and what parts of the application will be affected by a change in database technology.

Is this abstraction a good or a bad thing ?

It depends on how you manage it.

Giving developers an appreciation of HOW the application and database interact IS valuable, and necessary, but IN-DEPTH knowledge isnt required. Development teams can be stronger with knowledge outside their domain.

Share