Subject Re: Interbase via BDE vs IBX or IBObjects
Author Jason Wharton
Eric,

> Could someone share their wisdom and experience on the issue of using the
> BDE versus a component library that bypasses the BDE?

If you are certain your application will use InterBase exclusively then it
is best to avoid the BDE.

> Are products like IBX or IBObjects significantly faster than native VCL
> components accessing Interbase via the BDE.

At doing exactly the same thing IBO shows to be roughly 100% faster than the
BDE. If you are using low speed connections then IBO is roughly 500% faster
than the BDE.

But, the real benefit you get is you can take much better control of things
and be more efficient. There are many things in IBO you can do that
otherwise you simply would not consider possible with the BDE.

> What's the real downside of using the BDE? Are there gotcha's outside of
> the performance issue? Is there even a performance issue?

Deploying applications is a major pain with the BDE. It's huge, somewhat
messy to configure, possibility of conflicting with another app that uses a
different versions of it, SQL Links has some licensing issues that are
costly, it is totally instable for things like web-apps causing frequent
server reboots, and last of all, it needs careful tinkering to avoid
performance traps. It's transaction model for InterBase is very inflexible
because you have to globally chose your isolation and conflict handling at a
global driver level instead of precisely in your application which InterBase
can do.

> What are the gotcha's, if any, of bypassing the BDE?

The only one is if you ever decide your application should need to use a
different back-end.

With IBO's TDataset based components this is greatly relieved because they
emulate the BDE based ones so much that it would be quite easy to migrate to
another back-end. But with IBX and the native components and controls of IBO
you would essentially need to do a rewrite.

> What about third-party
> visual component support (TDBGrid's, et cetera) for direct access
component
> libraries?

Most all 3rd party stuff worth having is using the abstract TDataset class.
With IBO there is excellent coverage of all of the features TDataset brings
to light. I presume that IBX should do just fine as well.

> Any thoughts would be most appreciated?

I have been asked this question a fair amount. Here are two documents that
should help shed light on this subject:

Here is a whitepaper comparing the three:
http://www.interbase2000.org/WhitePaper/Connectivity.htm

Here are some of my recent comments:
http://www.ibobjects.com/ibo_or_ibx.html

Regards,
Jason Wharton
CPS - Mesa AZ
http://www.ibobjects.com