The Base One Foundation Component Library (BFC) is a
rapid application development
Rapid application development (RAD), also called rapid application building (RAB), is both a general term for adaptive software development approaches, and the name for James Martin's method of rapid development. In general, RAD approaches to ...
toolkit for building secure,
fault-tolerant
Fault tolerance is the property that enables a system to continue operating properly in the event of the failure of one or more faults within some of its components. If its operating quality decreases at all, the decrease is proportional to the ...
,
database
In computing, a database is an organized collection of data stored and accessed electronically. Small databases can be stored on a file system, while large databases are hosted on computer clusters or cloud storage. The design of databases spa ...
applications on
Windows
Windows is a group of several proprietary graphical operating system families developed and marketed by Microsoft. Each family caters to a certain sector of the computing industry. For example, Windows NT for consumers, Windows Server for ...
and
ASP.NET. In conjunction with Microsoft's
Visual Studio
Visual Studio is an integrated development environment (IDE) from Microsoft. It is used to develop computer programs including websites, web apps, web services and mobile apps. Visual Studio uses Microsoft software development platforms such ...
integrated development environment
An integrated development environment (IDE) is a software application that provides comprehensive facilities to computer programmers for software development. An IDE normally consists of at least a source code editor, build automation tools a ...
, BFC provides a general-purpose
web application framework
A web framework (WF) or web application framework (WAF) is a software framework that is designed to support the development of web applications including web services, web resources, and web APIs. Web frameworks provide a standard way to build and ...
for working with databases from
Microsoft
Microsoft Corporation is an American multinational corporation, multinational technology company, technology corporation producing Software, computer software, consumer electronics, personal computers, and related services headquartered at th ...
,
Oracle
An oracle is a person or agency considered to provide wise and insightful counsel or prophetic predictions, most notably including precognition of the future, inspired by deities. As such, it is a form of divination.
Description
The wor ...
,
IBM,
Sybase
Sybase, Inc. was an enterprise software and services company. The company produced software to manage and analyze information in relational databases, with facilities located in California and Massachusetts. Sybase was acquired by SAP in 2010; ...
, and
MySQL
MySQL () is an open-source relational database management system (RDBMS). Its name is a combination of "My", the name of co-founder Michael Widenius's daughter My, and "SQL", the acronym for Structured Query Language. A relational database ...
, running under Windows, Linux/Unix, or IBM iSeries or z/OS. BFC includes facilities for
distributed computing
A distributed system is a system whose components are located on different networked computers, which communicate and coordinate their actions by passing messages to one another from any system. Distributed computing is a field of computer sci ...
,
batch processing
Computerized batch processing is a method of running software programs called jobs in batches automatically. While users are required to submit the jobs, no other interaction by the user is required to process the batch. Batches may automatically ...
,
queuing, and database command
scripting
Script may refer to:
Writing systems
* Script, a distinctive writing system, based on a repertoire of specific elements or symbols, or that repertoire
* Script (styles of handwriting)
** Script typeface, a typeface with characteristics of handw ...
, and these run under Windows or Linux with
Wine
Wine is an alcoholic drink typically made from fermented grapes. Yeast consumes the sugar in the grapes and converts it to ethanol and carbon dioxide, releasing heat in the process. Different varieties of grapes and strains of yeasts are ...
.
Design
BFC is based on a
database-centric architecture whose cross-
DBMS
In computing, a database is an organized collection of data stored and accessed electronically. Small databases can be stored on a file system, while large databases are hosted on computer clusters or cloud storage. The design of databases span ...
data dictionary
A data dictionary, or metadata repository, as defined in the ''IBM Dictionary of Computing'', is a "centralized repository of information about data such as meaning, relationships to other data, origin, usage, and format". ''Oracle'' defines it ...
plays a central role in supporting
data security
Data security means protecting digital data, such as those in a database, from destructive forces and from the unwanted actions of unauthorized users, such as a cyberattack or a data breach.
Technologies
Disk encryption
Disk encryption re ...
,
validation,
optimization
Mathematical optimization (alternatively spelled ''optimisation'') or mathematical programming is the selection of a best element, with regard to some criterion, from some set of available alternatives. It is generally divided into two subfi ...
, and
maintainability
In engineering, maintainability is the ease with which a product can be maintained to:
* correct defects or their cause,
* Repair or replace faulty or worn-out components without having to replace still working parts,
* prevent unexpected working ...
features. Some of BFC’s core technologies are based on underlying U.S. patents in database communication and high precision arithmetic.
BFC supports a unique model of large scale,
distributed computing
A distributed system is a system whose components are located on different networked computers, which communicate and coordinate their actions by passing messages to one another from any system. Distributed computing is a field of computer sci ...
. This is intended to reduce the vulnerability and performance impact of either depending on a centralized process to distribute tasks or communicating directly between nodes through messages. Deutsche Bank made use of the initial version of BFC to build its securities' custody system and is one of the earliest successful examples of commercial grid computing.
BFC implements a
grid computing
Grid computing is the use of widely distributed computer resources to reach a common goal. A computing grid can be thought of as a distributed system with non-interactive workloads that involve many files. Grid computing is distinguished from ...
architecture that revolves around the model of a "virtual supercomputer" composed of loosely coupled "batch job servers". These perform tasks that are specified and coordinated through database-resident control structures and queues. The model is virtual, as it uses the available processing power and resources of ordinary servers and database systems, which can also continue to work in their previous roles. The result is termed a virtual supercomputer because it presents itself as a single, unified computational resource that can be scaled both in capacity and processing power.
History
BFC was originally developed by
Base One International Corp., funded by projects done for
Marsh & McLennan
Marsh & McLennan Companies, Inc., doing business as Marsh McLennan, is a global professional services firm, headquartered in New York City with businesses in insurance brokerage, risk management, reinsurance services, talent management, investm ...
and
Deutsche Bank
Deutsche Bank AG (), sometimes referred to simply as Deutsche, is a German multinational investment bank and financial services company headquartered in Frankfurt, Germany, and dual-listed on the Frankfurt Stock Exchange and the New York Sto ...
that started in the mid-1990s. Beginning in 1994,
Johnson & Higgins
Johnson & Higgins was one of the largest insurance brokerage firms in the world until it was acquired by Marsh & McLennan in 1997. At that point based in New York
New York most commonly refers to:
* New York City, the most populous city in the ...
(later acquired by Marsh & McLennan), built Stars, an insurance risk management system, using components known as ADF (Application Development Framework). 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. In 2014, BFC was acquired by Content Galaxy Inc., whose video publishing service was built with BFC.
The name "BFC" was a play on MFC
Microsoft Foundation Classes
Microsoft Foundation Class Library (MFC) is a C++ object-oriented library for developing desktop applications for Windows.
MFC was introduced by Microsoft in 1992 and quickly gained widespread use. While Microsoft has introduced alternative ap ...
, which BFC extended through Visual C++
class libraries to facilitate the development of large-scale,
client/server database applications. Developers can incorporate BFC components into web and Windows applications written in any of the major Microsoft programming languages (
C#,
ASP.NET,
Visual C++
Microsoft Visual C++ (MSVC) is a compiler for the C, C++ and C++/CX programming languages by Microsoft. MSVC is proprietary software; it was originally a standalone product but later became a part of Visual Studio and made available in both tr ...
,
VB.NET). They can also use a variety of older technologies, including
COM
Com or COM may refer to:
Computing
* COM (hardware interface), a serial port interface on IBM PC-compatible computers
* COM file, or .com file, short for "command", a file extension for an executable file in MS-DOS
* .com, an Internet top-level d ...
/
ActiveX
ActiveX is a deprecated software framework created by Microsoft that adapts its earlier Component Object Model (COM) and Object Linking and Embedding (OLE) technologies for content downloaded from a network, particularly from the World Wide Web. ...
,
MFC, and
Crystal Reports. BFC works with both
managed and unmanaged code, and it can be used to construct either
thin client
In computer networking, a thin client is a simple (low-performance) computer that has been optimized for establishing a remote connection with a server-based computing environment. They are sometimes known as ''network computers'', or in ...
or
rich client
In computer networking, a rich client (also called heavy, fat or thick client) is a computer (a "client" in client–server network architecture) that typically provides rich functionality independent of the central server. This kind of computer ...
applications, with or without
browser-based interfaces.
References
External links
* Base One
Introduction to BFC* Base One
* ITJungle
June 14, 2005. Accessed April 9, 2008.
{{Application frameworks
.NET object-relational mapping tools
.NET programming tools
Grid computing products
Middleware
Scripting languages
Web frameworks
Web development software