|
Your client calls a server that returns data in a message. The message layout may or may not reflect the current physical layout of the data on the disk. If the physical layout of the data does change, then the server simply maps that new layout onto the original message. The client code does not change. Note that this is not referring to the situation where you have to actually add or remove LOGICAL elements of your database - in those cases, of course you would have to change your messages as well. Instead, I'm talking about the more mundane task of renaming files or fields, moving data to different libraries, moving fields from one file to another, and so on. Or the sligntly more exotic situation of merging a foreign database in with your existing application, as in a corporate merger (I've found this to be one of the situations that benefits most from a distributed architecture). This ability to change the underlying physical layout (including, for example, the fact that a file is physically moved to another machine, or even another data format entirely) is the primary reason that a message-based architecture is so preferable to ODBC. This same argument doesn't apply ODBC/SP, where ODBC is used to call a stored procedure that dynamically builds the result set. That is logically equivalent to a message-based design. And for situations where the message only has a single layout, you can even use a program call rather than a server, although servers have many other benefits that may outweigh the simplicity of the program call interface. In any event, with a server, I can change the table name and the column names (or, as I pointed out, the machine that the data is located on, or even the actual data representation, such as from EBCDIC to ASCII). All I have to do is modify my server accordingly, and the client does not change. Does this answer your question? Joe Pluta www.plutabrothers.com > -----Original Message----- > From: thomas@inorbit.com > > On Tue, 13 November 2001, "Joe Pluta" wrote: > > > ODBC, no matter what the application, goes against every > possible tenet of > > distributed processing. It is slow, and it ties your host > database to your > > client code. You cannot change even the names of your columns > (much less > > the physical layout and location of your data) without updating > your client > > code. This is absolutely unacceptable. > > I'm clearly missing something here. How do you go about changing > your physical layout, etc., without affecting client code when > you DON'T use ODBC?
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.