|
Well, I can see what you are saying but I still think you are simply duplicating services that the operating system provides. I can 't see how you have really separated the DB function from your program. All you've done is replace READ MYFILE with something like this: CALL MYFILEIO PARM RecordBuffer PARM 'READ' IOOption PARM IOResult They are both DB functions. It's just that the second one is your DB function. If you change it, you then have to evaluate what the impact will be on all of the programs that use it. In addition, it's one more thing that a new programmer or a maintenance programmer has to know. What's the point? Albert -----Original Message----- From: Nathan M. Andelin [SMTP:nathanma@haaga.com] Sent: Monday, April 09, 2001 11:30 AM To: MIDRANGE-L@midrange.com Subject: Re: Externalize DB/IO (was What Counts as Technically Slick?) >Date: Mon, 9 Apr 2001 08:41:36 -0700 >From: "York, Albert" <albert.york@nissan-usa.com> >Subject: RE: What counts as technically slick? >On the surface it seems like a good idea, >but what have you gained? >I still have to define the record in my program, >so if the file changes I still have to change all the >programs that use that file. I was equally skeptical, Albert. Until I tried it. In my case, I separate DB/IO and business rules into one module, and UI control into another. But I merge both modules into one program. The interface between the two modules is a single data structure for records, and a multiple occuring data structure for record sets. I discovered a seemily natural boundary between DB/IO-Business Rules and UI control. Both modules, independent of the other are easier to understand, debug, and maintain. Faster compilation. Smaller listings. Also, the modules, independent of the other provide better patterns for "reuse by copy". A productivity boost. Another surprise, I discovered that I can use the same DB/IO module for both a Web interface as well as a 5250 interface - only the UI control module changes. I don't predict this, but if someday SQL becomes better than record level access for DB/IO, then only the DB/IO modules would change. A final surprise, while statically linked subprocedures are used instead of read, update, delete, etc., the overhead is next to nil. Not even a millisecond of difference in CPU usage for individual calls. Nathan. +--- | This is the Midrange System Mailing List! | To submit a new message, send your mail to MIDRANGE-L@midrange.com. | To subscribe to this list send email to MIDRANGE-L-SUB@midrange.com. | To unsubscribe from this list send email to MIDRANGE-L-UNSUB@midrange.com. | Questions should be directed to the list owner/operator: david@midrange.com +--- +--- | This is the Midrange System Mailing List! | To submit a new message, send your mail to MIDRANGE-L@midrange.com. | To subscribe to this list send email to MIDRANGE-L-SUB@midrange.com. | To unsubscribe from this list send email to MIDRANGE-L-UNSUB@midrange.com. | Questions should be directed to the list owner/operator: david@midrange.com +---
As an Amazon Associate we earn from qualifying purchases.
This mailing list archive is Copyright 1997-2024 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].
Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.