× The internal search function is temporarily non-functional. The current search engine is no longer viable and we are researching alternatives.
As a stop gap measure, we are using Google's custom search engine service.
If you know of an easy to use, open source, search engine ... please contact support@midrange.com.



Joe,

I was trying to decide which of your posts to respond to, and I think I've
found it. I chose this one because you ALMOST got your argument right here.
You believe that the CLIENT shouldn't have knowledge of the physical layout
of the database, no? However you don't seem to accept the idea that all ODBC
doesn't have to be done from the "client". ODBC is not "more susceptible to
changes in the database layout than a server-based[1] environment" in fact
I'd argue it's less. I assume you're writing your server-based programs in
RPG (or COBOL) using native I/O. If you want to add a field (the MOST common
database change) you will have to recompile EVERY program that accesses that
file. On the other hand, using SQL and ODBC, you won't.

Don't confuse the use of ODBC with the idea of placing data access on each
users desktop. First, user desktops can use message-based architecture to
talk to a PC server, that server could use ODBC to talk to the AS/400.
Second, if you haven't noticed, thick-client C/S programming is dead, we are
moving to a server-based architecture again, it's called a web-server. If
you've isolated your DB access to that server (or an app server) you don't
have "to get 100 end users to simultaneously upgrade their software." All
you need to do is change the code on the server.

-Walden

[1] I assume you're using "server" to refer to the AS/400, not a PC based
app-server.

------------
Walden H Leverich III
President
Tech Software
(516)627-3800 x11
WaldenL@TechSoftInc.com
http://www.TechSoftInc.com



-----Original Message-----
From: Joe Pluta [mailto:joepluta@PlutaBrothers.com]
Sent: Saturday, November 17, 2001 1:48 PM
To: midrange-l@midrange.com
Subject: RE: ODBC (was RE: Green screen - it's time is over )


> -----Original Message-----
> From: Steve Richter
>
> Does a logical file on the server, with explicitly declared flds, used
> as the target file name of the client's odbc calls,  solve the column
> name dependency concerns?
>
> Dont know much about ODBC, but if the odbc connection info ( actual
> target system, library and file name ) can be stored external to the
> client pgm, would that satisfy the "client code is dependent on the
> target file name and location" objection?

Perhaps, and perhaps.  I am not saying that all ODBC is bad; I'm saying that
it's more susceptible to changes in the database layout than a server-based
environment.  That doesn't mean you can't avoid some of the problems with
stringent coding guidelines and clever techniques.

The fact is that you can write perfectly good code using just about any
language, provided you have some strict guidelines in place.  Believe it or
not, you can write flexible, maintainable code in assembly language.  While
you've pointed out a couple of ways to insulate the ODBC programmer from
changing database characteristics, what percentage of ODBC access is written
that way, do you think?  My guess is that the overwhelming majority is not.

But each guideline adds its own complexity as well.  How do you store the
"external connection definitions"?  How do you access them?  How do you make
sure that all your clients are getting the same definitions?  Are they
stored on the host?  Which host?  As you start adding layers of complexity,
the "ease of use" of ODBC evaporates and make the client/server approach
even that much more appealing.

And even with all the additional work required, this "enhanced ODBC"
approach only solves some of the problems.  Take a look at my earlier post,
where I outline a simple, real-world situation where shipment information
was moved from one level of the hierarchy to a new level.  A server-based
architecture takes this in stride much better than an ODBC architecture.

Joe Pluta
www.plutabrothers.com

_______________________________________________
This is the Midrange Systems Technical Discussion (MIDRANGE-L) mailing list
To post a message email: MIDRANGE-L@midrange.com To subscribe, unsubscribe,
or change list options,
visit: http://lists.midrange.com/cgi-bin/listinfo/midrange-l
or email: MIDRANGE-L-request@midrange.com
Before posting, please take a moment to review the archives
at http://archive.midrange.com/midrange-l.


As an Amazon Associate we earn from qualifying purchases.

This thread ...

Follow-Ups:

Follow On AppleNews
Return to Archive home page | Return to MIDRANGE.COM home page

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.