(Base One logo) .NET database and distributed computing tools

BFC | Visual Studio | Database Technology | Distributed Computing | Prices | System Requirements

Base One Foundation Component Library (BFC)

White Paper (PDF):

More about BFC Features and Components

Programming tools for rapid development of enterprise applications

  • For commercial application and web site development, with no royalty payments
  • Includes source code for class libraries, application wizard, MFC, COM and .NET components, and lots of examples (Visual C++, C#, Visual Basic, ASP.NET, SQL, Crystal Reports, Graphic Server)
  • Includes Base One Internet Servers and Batch Job Servers for multi-user, remote database access and distributed computing
  • Middleware supports IBM DB2, Microsoft SQL Server & Access, Oracle, Sybase Adaptive Server, SQL Anywhere, and MySQL databases
  • Comes with complete online documentation
  • Priority email support (1 year with BFC Enterprise site license)
  • An unconditional 30-day money back guarantee

Features in BFC Version 7.3

The Base One Foundation Component Library (BFC) is an integrated collection of utility, database, screen, application, administrative, security, and report components, which can be used in part or as a complete Visual C++ MFC framework for building large-scale database applications. Many of the features have been made easily available through COM and .NET, for example, for C#, Visual Basic, VB.NET, ASP, and ASP.NET programming.

BFC includes Base One's Internet Server (BIS), Batch Job Server, and Number Class, plus examples of using Crystal Reports, Graphics Server, and IBM DB2, MS SQL Server, Access, Oracle, SQL Anywhere, Sybase, and MySQL databases. The following table summarizes the major components and features of BFC:

Distributed computing facility Customizable Distributed Batch Processing Services, designed for executing large-scale, long-running tasks, creating batch functions and scheduling rules, specifying the hardware characteristics of PCs doing distributed work, and logging task execution milestones. Supports grid and cluster supercomputing, effectively extracting work from large collections of PCs that have a varied mix of configurations, communication speeds, security exposures, and availabilities. Any idle Windows computer can be turned into a "Batch Job Server" - a workhorse, ready to do the heavy lifting. This high-reliability distributed computing software is suited to repetitive tasks, such as database-intensive jobs. Subject to security settings, administrators or end-users can launch jobs and monitor them remotely, across the Internet.
Database classes Database classes designed to make it simple to write efficient, reliable transaction processing applications, capable of handling large, multi-user databases. Automatic local data caching and transmission of the minimum logical amount of data reduces network traffic and server load, while achieving high performance, concurrency, responsiveness, and throughput. Applications built on BFC's core Database classes gain the benefit of portability between widely varying database types, currently including IBM DB2, Microsoft SQL Server and Access, Oracle, Sybase Adaptive Server, SQL Anywhere, and MySQL. The Database Library provides a uniform, DBMS-independent interface that operates through both Microsoft's ODBC (Open Database Connectivity) and high-efficiency, 32-bit native direct connections. This frees programmers from concerns about the complexities of ADO, ODBC, and database APIs, without sacrificing performance. (For example, see how browsing is improved in  Dr. GUI and Scroll Cache.)
Internet Server An Internet Server that offers efficient, secure database access across the Internet. Developers code data requests using the Database classes just as if they were being made to a database on a local network or laptop, so programming is easy and familiar. The Internet Server moves data between remote databases, which may reside on Windows, Unix, iSeries and OS390 servers, and Windows clients. Messages containing blocks of database and transaction processing requests and results are automatically sent to and from the Internet Server (via TCP/IP), without additional programming. By using intelligent local data caching, such "Rich Client" applications can make fewer, shorter trips to remote databases, and run efficiently over high-speed networks or slow Internet telephone connections.
Security system A security subsystem supporting administrative controls for determining who should be allowed to view sensitive data or perform restricted operations, and custom tailoring of application specific behavior, such as "filtering" data depending on who is looking at it. The screen and data security facilities are easily configured by privileged end-users and complement the built-in security of the relational database system, which can be managed independently. For Internet communication, applications can also incorporate a secure data transmission facility that supports custom data encryption schemes.
Data dictionary A data dictionary that provides a complete description of record layouts, validation criteria, and indexes to insure efficient data access. For fastest display and error detection, data dictionary information is automatically cached locally (on a least-recently-used basis). The data dictionary allows applications to quickly accommodate new and changing data formats and indexes. It also provides reports and a logical, hierarchical view of the structure of the database, which both programmers and end-users can easily understand. The core representation of a database's structure is database-independent, while storage allocation options unique to each database type are also available.
Command processor A database command processor capable of running complex scripts that include SQL and DOS commands, plus special commands for loading and unloading large databases. The command processor is especially useful for creating, maintaining, upgrading, and extracting data from complex databases. It's easy for developers to write well-organized standard scripts that remain unchanged across different types of databases and different versions of the same database. Supports automated database creation, including building tables, indexes, and referential constraints based on data dictionary metadata, and granting access rights to individual users and groups.
Attached objects Support for "attached objects", allowing records to include compressed BLOBs (Binary Large Objects), which can contain text, scanned images, recorded sounds, OLE documents, etc. An attached object acts like a database field (column) that is efficient and easy to access, even if it is large.
Database trace facility A database trace facility for debugging and resolving performance problems by displaying or logging all database function calls, parameter values, SQL statements, and timing information.
System administration facility A system administration facility for controlling database access and allowing administrators to force users to log off, restrict logon to certain types of users, and broadcast warning and information messages. This facility is useful when the application must be shutdown and restarted, for example, to perform maintenance. The system administrator can inform logged on users, allow them to save their work, and bring the application down smoothly.
Screen controls A complete library of state-of-the-art screen control classes easily connected to database classes, including tab controls, efficient grid/table controls, hierarchical list boxes, advanced combo boxes, enhanced status bar, 3-D and mask edit controls, etc. Includes easy-to-use form view classes for data entry and display, and Application library classes, which pull together all the components into a unified application.
Utility classes A large set of useful utility classes to aid programmers in handling dates, times, strings, data type conversions, 16 to 32 bit conversion, internationalization, parsing, file compression, etc. The Utility library, along with BFC's other core class libraries, extend Microsoft's MFC framework for Visual C++ programming.
Number class

Base One Number Class

A number class (U.S. Patent Number 6,384,748) capable of handling numbers, from very large to very small, with the extreme precision needed for financial, scientific, and engineering applications. The number class can handle numbers up to 100 decimal digits in length, with the decimal point placed at any desired digit. Easily replaces numeric datatype declarations (double, int, unsigned long, etc.)
Help facility A customizable help facility for building, maintaining, and displaying help information, with the ability to automatically extract program documentation and comments from source code. For example, Base One's Programmer's Reference Manual, created with this general purpose help facility, allows users to print an individual topic, a topic and its subtopics, or the entire manual.
Presentation quality output Integrated support for leading report writing and graphing packages, Crystal Reports and Pinnacle Graphics Server.
Error and exception handling Comprehensive error and exception handling, with meaningful messages and automated recovery from failures. The full spectrum of errors, such as database errors (regardless of the database vendor), data entry errors, and disk crashes can all be handled in a uniform fashion.
Foundation and starter applications A full-featured demo application provides a working example of key aspects of BFC plus useful sample code. Also included, the basic starter application, illustrating how to derive new "object-oriented" applications, which can be upgraded easily as new features are added. These sample applications demonstrate how the BFC framework includes not just reusable components, but reusable designs, which form the basic skeleton for constructing entire applications.
COM (ActiveX) and .NET support COM and .NET interfaces and samples for programming with Visual Basic, VB.NET, C#, ASP, ASP.NET, or any other language that supports COM or .NET. BFC applications can act as hosts for COM objects. From Visual Basic or Visual C++, it's easy to use BFC's COM objects, incorporate ActiveX controls, and store OLE documents in a database. BFC also provides the required infrastructure to rapidly develop your own robust COM components, both in-proc servers (DLLs) and out-of-proc servers (EXEs). As a further convenience, BFC's Visual C++ Class View and Class Wizard integration seamlessly connects to Microsoft's premier Visual Studio development environment.

Rapid Application Development Through Inheritance

Application Inheritance allows deriving your application from the existing BFC applications.

How do you even start to construct a commercial quality, large-scale database application? Certainly, none of the Microsoft supplied samples even begin to confront the problems of building practical business systems. BFC is the first product to answer the question of how to build large scale, high security, database applications with Visual C++ and MFC.

BFC takes the concept of derivation to its logical conclusion: inheritance is extended to include not just classes, but entire applications. Most often, applications are derived from the Base/1 Foundation Application, which provides a working example of key class library features (MFC & BFC) plus useful sample code (in C++, C#, VB, and ASP, COM and .NET). Inheritance in BFC also applies to the "built-in" record types and database command files. Thus, both database and processing features are inherited.

When you create a new Rich Client application with the BFC Wizard, it automatically inherits nearly all of the features of the Foundation Application and you get about 150 files, approximately 1.2 Meg of source code, as your starting point. The files that are created are mainly C++ MFC source (*.H & *.CPP), Windows resources (*.RC), and BFC command files (*.CMD), which contain, for example, database SQL. Comments, such as "Put your code here", are used to indicate how to build from this skeleton. Your custom Rich Client Application, because it is derived from the Foundation Application, immediately works over Internet, on a local machine, or in a client/server environment.

BFC | Visual Studio | Database Technology | Distributed Computing | Prices | System Requirements

Home Products Consulting Case Studies Order Contents Contact About Us

Copyright 2012, Base One International Corporation