BFC is based on a database-centric architecture whose cross-DBMS data dictionary plays a central role in supporting data security, validation, optimization, and maintainability features. Some of BFC’s core technologies are based on underlying U.S. patents in database communication and high precision arithmetic. Developers can incorporate BFC components into web and Windows applications written in any of the major Microsoft programming languages and can use a variety of older technologies, including COM/ActiveX, MFC, and Crystal Reports. BFC works with both managed and unmanaged code, and it can be used to construct either thin client or rich client applications, with or without browser-based interfaces.
History
BFC was originally developed by Base One International Corp., funded by projects done for Marsh & McLennan and Deutsche Bank that started in the mid-1990s. BFC was acquired by Content Galaxy Inc. in 2014. The name "BFC" was a play on MFC Microsoft Foundation Classes, which BFC extended through Visual C++class libraries to facilitate the development of large-scale, client/server database applications. The publicly available BFC releases are listed below. The jump from BFC release 2.0 to 5.6 came from synching up with the original Marsh version numbering scheme. Beginning in 1994, Johnson & Higgins, built Stars, an insurance risk management system, using components known as ADF. ADF was the predecessor of BFC and was jointly developed by Johnson & Higgins and Base One programmers, with Base One retaining ownership of ADF, and Johnson & Higgins retaining all rights to Stars risk management software.
BFC 1.0
The first version of BFC was released in June 1998. It began as a Visual C++ framework for developing Windows database applications that can be targeted at multiple versions of SQL Server, Oracle, MS Access, and Sybase SQL Anywhere without changing source code. BFC’s Internet Server Library further enables transparent access to those databases across the Internet - for creating distributed “rich client” and grid computing applications. That is, a client server application built with BFC's Database Library not only can change the underlying type of database, but can also have its database located on a local network or across the Internet without changing source code. BFC supports a model of large scale, grid computing based on coordinating work entirely through a local or remote database. This reduces the vulnerability and performance impact of depending on a centralized process to distribute tasks. Deutsche Bank made use of this version of BFC to build its securities custody system and is one of the earliest successful examples of commercial grid computing. This release also includes the Number Class, which is designed for database applications that include very large numbers and requires high precision arithmetic.
BFC 1.1
BFC 1.1 was released in September 1998. It improves performance of record addition and modification by supporting Prepared and batched execution of database INSERT and UPDATE operations. Other features:
The Data Dictionary has an improved interface and adds a Database Session screen showing logged on users and what they are running.
Added Oracle DirectAPI interface to the Database Library, based on Oracle’s C interface, OCI, as a more efficient alternative to using the ODBC interface. The same application source code can run with or without the ODBC DLLs.
BFC 1.4
BFC 1.4 was released in March 1999. It improves and simplifies SQL query handling - with parameter markers ‘?’ and “implied parameters” instead of hardcoded values, and with new, simplified functions: GetNextRec, GetPrevRec, GetFirstRec and GetLastRec.
BFC 1.4 adds support for IBM DB2, Oracle 7.3 and 8,0, MS SQL Server 6.5, Access 97, and Sybase SQL Anywhere 5.5
BFC 2.0
BFC 2.0 was released in September 1999. It adds COM support, so that VB and ASP programmers can use BFC's database components, including ActiveX grid, combo, and edit controls. Other highlights:
Better messages produced when Duplicate Data and Foreign Key errors occurs.
BFC 5.6 was released in August 2000. It supports custom COM objects that can be called from ASP, Visual Basic, ColdFusion, etc. There are samples showing how out-of-proc and in-proc COM objects can be used to coordinate database and file usage. Other highlights:
“Lite Users” are especially efficient for large scale Internet and grid computing applications. Lite User ID and password can be assigned programmatically, and Lite Users share database access. A Lite User’s User ID is NOT a real database logon ID. As opposed to “Full Users”, a Lite User can NOT be used to circumvent application-level security. This is especially important for programming web sites because of the ease of security violation techniques, such as packet sniffing, to find User IDs and Passwords on the Internet.
IBM DB2 v. 6.1 support added for OS/390 & NT, including full BLOB handling
BFC 5.7
BFC 5.7 was released in January 2001. It supports custom encryption/decryption of Internet traffic. Rich Client applications can efficiently add security via an encryption/decryption and compression/decompression API. This means that any Rich Client application built with the Database Library can be adapted easily to use its own proprietary method of encoding Internet transmissions, with no dependence on "Secure Sockets" or any other publicly known standards.
BFC 6.1
BFC 6.1 was released in March 2003. It extends the Database Library and grid computing architecture to support Visual Studio.NET and the.NET languages, C#, VB.NET, and ASP.NET.
BFC 7.4
BFC 7.4 was released in March 2010. It adds C# web and distributed processing samples plus several major Database Library features:
Database-independent support for Automatic Sequence Numbers.
New Database Trace facility with more thorough messages.
Web Users are “ultra-lite” users that are impersonated by a small number of database connections. Web Users offer greater scalability for large web sites. This model allows for better performance and resource usage for large-scale, non-sticky web sites, while allowing the same authentication, authorization, and audit trail control available for Lite Users.
Improves support for Time database fields.
Support for generating clustered versus non clustered indexes added for SQL Server, Sybase, and DB2.
SQL Server 2005, 2008, 2008R2, Oracle 8i, 9i, 10g, 11g, Sybase 12.5, DB2/NT 8.1, 9.7, DB2 iSeries, and MySQL 5 support added.
BFC 7.5
BFC 7.5 was released in June 2018. It has an improved C# web site starter application and automatically adds responsive styling. Other upgrades: