Past Work: C++
SQL Framework
C++ abstractions of Select, Update, Delete and Insert. Allows users to create objects that represent SQL. Structure abstracts vendor specific differences from users’ code. Allows building of where and ordering using normal C++ logical syntax && and ||.
R-O Mapping Framework
Base class framework to abstract SQL out of the application. This factory-product framework uses internal abstractions to create and manage database independent data management classes. Provides basic methods for:
- Selecting specific objects and sets of objects.
- Updating existing objects.
- Inserting new objects.
- Removing existing objects or sets of objects.
- Related objects (to one relationships).
- Sets of related objects (to many relationships).
The framework also provides thread safe object caching to improve performance. Generic access methodologies to allow easy add on of custom or specialized modules that are not hard linked to the compiled classes.
Product class objects are reference counted and can contain virtual and / or real arrays, hashes and vectors of related objects.
Users of the framework need only provide a few methods that manage the data specific to the attributes of the specific class being produced.
Supports Windows / UNIX / LINUX / Oracle / MSSQL / SYBASE / DB2
When combined with our meta-code generation tools it is very easy to generate customized derived classes that fully manage a class type and its related classes with no manually created code.
When combined with our Java R-O framework it is very easy to have multi tiered applications that use identical abstractions on both C++ and Java tiers.
O-O Stream Framework Enhancement
This additional set of base classes provides socket based streaming of objects using an identical interface to the R-O mapping factory classes. This allows a single source of code to be compiled with either the R-O classes or the Streaming classes without changes. This makes building a two tier and three tier application from a single business logic source very easy. Additionally these tools work very well to build clustered application servers to distribute work loads. Client objects can be both proxies or full objects as necessary.