Design Overview
Basic Architecture
SourcePro DB is a set of C++ classes that work between a database manufacturer's API and your application. These classes are divided into two modules:
*The DB Interface Module encapsulates key database concepts in a database-independent manner following SQL standards.
*Each DB Access Module corresponds to a specific database API, and implements the full set of classes required by the Interface Module. Classes within the Access Modules provide working methods for the Interface Module classes.
This architecture is illustrated in Figure 1:
Figure 1 – Architecture of SourcePro DB
You can think of SourcePro DB as a bridge between your application and your database. It provides client/server communications such as logons, connections, and data binding to application variables that go beyond the scope of most SQL implementations. More importantly, SourcePro DB provides the C++ data types and classes that permit flexible, portable database programming.
A database manufacturer's API typically includes a collection of structures and routines designed to manipulate only the kinds of data that can be stored in the manufacturer's database. SourcePro DB unifies the database domain with your program domain, allowing you to perform database programming using the same types as the rest of your application.
The DB Access Modules and the DB Interface Module provide database-specific variants of objects to your application that free you from concerns about differences in database semantics and data types. This chapter looks at the architecture of SourcePro DB and shows how it creates a portable, intuitive, object-oriented interface to relational databases.