How it Started
Base One International Corporation was formed
by a group of data processing consultants who shared a consuming
interest in large databases. After years of helping Fortune 1000
companies solve problems in their large database applications, we
were struck by the pattern of mistakes and failures that seemed to
come up again and again. All too often, people's expectations for
simple solutions coming from the major database vendors were dashed
by the realities of dealing with hundreds of users, thousands of
records, and millions of transactions.
What was most frustrating and inexcusable to
us was that not one of the giant software vendors, including Oracle
and Microsoft, had done anything to reduce the tremendous cost of
error-handling. For the systems we were being asked to build,
Windows client/server business applications, the cost of
error-handling alone often approached 50% of the total programming
expense. Whenever programmers looked for help, all they found is
that error-handling details were omitted "to save space"
or "as an exercise for the reader". Here's a typical
scenario programmers faced:
You just put your new application
into production after weeks of preliminary testing, and up pops one
of those cryptic error messages, like: "Operation failed.
Code 476". The whole system grinds to a halt, and the phone
is ringing non-stop for the next two hours while you desperately
search the help files for some clue about the mysterious Code 476.
Finally, you locate the "documentation" for this message,
which of course turns out to be incomprehensible. The next couple of
weeks are devoted to a roundabout tour of one vendor's technical
support services, only to have them conclude that the problem really
lies with another vendor's software...
Beginning with major projects for Marsh
& McLennan and Deutsche Bank, we eliminated these problems by painstakingly
recording the solutions to every single bug and unexpected error
that we encountered in our work. This led us to develop class
libraries for making it easy to perform large scale database
operations, with built-in provisions for comprehensive
error-handling. Over the course of more than 50,000 hours of
client/server applications development, we added class libraries for
constructing screens, security and administration, graphics,
reporting, cluster computing, and numerous general purpose utilities,
all with the same attention to rigorous, consistent error-handling.
After years of fixing bugs and design flaws in
our clients' database applications, we realized that instead of just
correcting mistakes, our class libraries could create defect-free
applications right from the start.
The product that emerged, the Base
One Foundation Component Library (BFC), now contains over 100 classes and
2000 functions and is growing every day. It constitutes the
most complete framework for developing large-scale, Windows database
applications on the market. We designed BFC not just to be
reliable, but also to make it next to impossible to fall into the
usual performance pitfalls.
As more and more large companies began
searching for ways to expand their applications into the Internet,
we saw that the fundamental considerations that guided the design of
BFC's class libraries were just as relevant to the Internet as they
were to client/server systems.
It was a natural step to develop the Base
One Internet Server (BIS). With changes localized to the
core database classes, we've made all of Base One's class libraries,
including security and transaction processing features, directly
usable in a 3-tier Internet/intranet environment. With BIS, any
BFC application can operate across the Internet as easily as
flipping a switch, without reprogramming.
We saw no need to succumb to the notion that
anything Internet-related should be as different and flashy as
possible. We were allowed the luxury of simplicity. By
building applications on Base One's proven class libraries now,
you'll be able to plug right into the Internet with neither
additional hardware, nor programming problems, nor new training
It's obvious that any
large-scale database application will benefit from being built on
Base One's class libraries. Even considering only the
problem of error-handling, the case is compelling. And as
the scale and complexity of databases grow, the need for truly
dependable applications makes Base One's architecture a necessity.