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 ability of a system to maintain proper operation despite failures or faults in one or more of its components. This capability is essential for high-availability, mission-critical, or even life-critical systems.
Fault to ...
,
database
In computing, a database is an organized collection of data or a type of data store based on the use of a database management system (DBMS), the software that interacts with end users, applications, and the database itself to capture and a ...
applications on
Windows
Windows is a Product lining, product line of Proprietary software, proprietary graphical user interface, graphical operating systems developed and marketed by Microsoft. It is grouped into families and subfamilies that cater to particular sec ...
and
ASP.NET
ASP.NET is a server-side web-application framework designed for web development to produce dynamic web pages. It was developed by Microsoft to allow programmers to build dynamic web sites, applications and services. The name stands for Ac ...
. In conjunction with Microsoft's
Visual Studio
Visual Studio is an integrated development environment (IDE) developed by Microsoft. It is used to develop computer programs including web site, websites, web apps, web services and mobile apps. Visual Studio uses Microsoft software development ...
integrated development environment
An integrated development environment (IDE) is a Application software, software application that provides comprehensive facilities for software development. An IDE normally consists of at least a source-code editor, build automation tools, an ...
, 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 and technology company, technology conglomerate headquartered in Redmond, Washington. Founded in 1975, the company became influential in the History of personal computers#The ear ...
,
Oracle
An oracle is a person or thing considered to provide insight, wise counsel or prophetic predictions, most notably including precognition of the future, inspired by deities. If done through occultic means, it is a form of divination.
Descript ...
,
IBM
International Business Machines Corporation (using the trademark IBM), nicknamed Big Blue, is an American Multinational corporation, multinational technology company headquartered in Armonk, New York, and present in over 175 countries. It is ...
,
Sybase
Sybase, Inc. was an enterprise software and services company. The company produced software relating to relational databases, with facilities located in California and Massachusetts. Sybase was acquired by SAP in 2010; SAP ceased using the Syba ...
, and
MySQL
MySQL () is an Open-source software, 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 rel ...
, running under Windows, Linux/Unix, or IBM iSeries or z/OS. BFC includes facilities for
distributed computing
Distributed computing is a field of computer science that studies distributed systems, defined as computer systems whose inter-communicating components are located on different networked computers.
The components of a distributed system commu ...
,
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, and these run under Windows or Linux with
Wine
Wine is an alcoholic drink made from Fermentation in winemaking, fermented fruit. Yeast in winemaking, Yeast consumes the sugar in the fruit and converts it to ethanol and carbon dioxide, releasing heat in the process. Wine is most often made f ...
.
Design
BFC is based on a
database-centric architecture
Database-centric Architecture or data-centric architecture has several distinct meanings, generally relating to software architectures in which databases play a crucial role. Often this description is meant to contrast the design to an alternative ...
whose cross-
DBMS
In computing, a database is an organized collection of data or a type of data store based on the use of a database management system (DBMS), the software that interacts with end users, applications, and the database itself to capture and ana ...
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 Corporation, ...
plays a central role in supporting
data security
Data security or data protection 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
...
,
validation,
optimization
Mathematical optimization (alternatively spelled ''optimisation'') or mathematical programming is the selection of a best element, with regard to some criteria, from some set of available alternatives. It is generally divided into two subfiel ...
, and
maintainability
Maintainability is the ease of maintaining or providing maintenance for a functioning product or service. Depending on the field, it can have slightly different meanings.
Usage in different fields Engineering
In engineering, maintainability ...
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
Distributed computing is a field of computer science that studies distributed systems, defined as computer systems whose inter-communicating components are located on different networked computers.
The components of a distributed system commu ...
. 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 fro ...
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, invest ...
and
Deutsche Bank
Deutsche Bank AG (, ) is a Germany, German multinational Investment banking, investment bank and financial services company headquartered in Frankfurt, Germany, and dual-listed on the Frankfurt Stock Exchange and the New York Stock Exchange.
...
that started in the mid-1990s. Beginning in 1994,
Johnson & Higgins (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 programming, object-oriented Library (computer science), library for developing desktop applications for Windows.
MFC was introduced by Microsoft in 1992 and quickly gained wides ...
, 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
ASP.NET is a server-side web-application framework designed for web development to produce dynamic web pages. It was developed by Microsoft to allow programmers to build dynamic web sites, applications and services. The name stands for Ac ...
,
Visual C++
Microsoft Visual C++ (MSVC) is a compiler for the C, C++, C++/CLI 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 ...
,
VB.NET
Visual Basic (VB), originally called Visual Basic .NET (VB.NET), is a multi-paradigm, object-oriented programming language developed by Microsoft and implemented on .NET, Mono, and the .NET Framework. Microsoft launched VB.NET in 2002 as the ...
). 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 ...
/
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 W ...
,
MFC, and
Crystal Reports
Crystal Reports is a business intelligence application marketed to small- and medium-sized businesses by SAP.
History
Terry Cunningham and the Cunningham Group originated the software in 1984. Crystal Services Inc. marketed the product (origina ...
. BFC works with both
managed and unmanaged code, and it can be used to construct either
thin client
In computer networking, a thin client, sometimes called slim client or lean client, is a simple (low-Computer performance, performance) computer that has been Program optimization, optimized for Remote desktop, establishing a remote connectio ...
or
rich client
In computer networking, a rich client (also called a 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 comput ...
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