Base One Foundation Component Library

Last updated
Base One Foundation Component Library (BFC)
Original author(s) Steven Asherman, Arun Kumar
Developer(s) Content Galaxy Inc.
Stable release
7.61 / November 11, 2020;2 years ago (2020-11-11)
Written in C++, C#
Operating system Microsoft Windows
Platform Microsoft Visual Studio, .NET
Type Web application framework
License GPLv3
Website contentgalaxy.com/software/bfc

The Base One Foundation Component Library (BFC) is a rapid application development toolkit for building secure, fault-tolerant, database applications on Windows and ASP.NET. In conjunction with Microsoft's Visual Studio integrated development environment, BFC provides a general-purpose web application framework for working with databases from Microsoft, Oracle, IBM, Sybase, and MySQL, running under Windows, Linux/Unix, or IBM iSeries or z/OS. BFC includes facilities for distributed computing, batch processing, queuing, and database command scripting, and these run under Windows or Linux with Wine.

Contents

Design

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. [1] Some of BFC’s core technologies are based on underlying U.S. patents in database communication and high precision arithmetic. [2] [3] [4]

BFC supports a unique model of large scale, distributed computing. [5] [6] 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. [7] [8]

BFC implements a grid computing 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.[ citation needed ]

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. [9] 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. [10] [11] In 2014, BFC was acquired by Content Galaxy Inc., whose video publishing service was built with BFC. [12]

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. Developers can incorporate BFC components into web and Windows applications written in any of the major Microsoft programming languages (C#, ASP.NET, Visual C++, VB.NET). They can also 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. [ citation needed ]

Related Research Articles

<span class="mw-page-title-main">Client–server model</span> Distributed application structure in computing

The client / server model is a distributed application structure that partitions tasks or workloads between the providers of a resource or service, called servers, and service requesters, called clients. Often clients and servers communicate over a computer network on separate hardware, but both client and server may reside in the same system. A server host runs one or more server programs, which share their resources with clients. A client usually does not share any of its resources, but it requests content or service from a server. Clients, therefore, initiate communication sessions with servers, which await incoming requests. Examples of computer applications that use the client–server model are email, network printing, and the World Wide Web.

<span class="mw-page-title-main">Thin client</span> Non-powerful computer optimized for remote server access

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 their simplest form as zero clients. The server does most of the work, which can include launching software programs, performing calculations, and storing data. This contrasts with a rich client or a conventional personal computer; the former is also intended for working in a client–server model but has significant local processing power, while the latter aims to perform its function mostly locally.

<span class="mw-page-title-main">Beowulf cluster</span> Type of computing cluster

A Beowulf cluster is a computer cluster of what are normally identical, commodity-grade computers networked into a small local area network with libraries and programs installed which allow processing to be shared among them. The result is a high-performance parallel computing cluster from inexpensive personal computer hardware.

<span class="mw-page-title-main">Windowing system</span> Software that manages separately different parts of display screens

In computing, a windowing system is software that manages separately different parts of display screens. It is a type of graphical user interface (GUI) which implements the WIMP paradigm for a user interface.

<span class="mw-page-title-main">Inter-process communication</span> How computer operating systems enable data sharing

In computer science, inter-process communication or interprocess communication (IPC) refers specifically to the mechanisms an operating system provides to allow the processes to manage shared data. Typically, applications can use IPC, categorized as clients and servers, where the client requests data and the server responds to client requests. Many applications are both clients and servers, as commonly seen in distributed computing.

Storage Resource Broker (SRB) is data grid management computer software used in computational science research projects. SRB is a logical distributed file system based on a client-server architecture which presents users with a single global logical namespace or file hierarchy. Essentially, the software enables a user to use a single mechanism to work with multiple data sources.

<span class="mw-page-title-main">Diskless node</span> Computer workstation operated without disk drives

A diskless node is a workstation or personal computer without disk drives, which employs network booting to load its operating system from a server.

Utility computing, or computer utility, is a service provisioning model in which a service provider makes computing resources and infrastructure management available to the customer as needed, and charges them for specific usage rather than a flat rate. Like other types of on-demand computing, the utility model seeks to maximize the efficient use of resources and/or minimize associated costs. Utility is the packaging of system resources, such as computation, storage and services, as a metered service. This model has the advantage of a low or no initial cost to acquire computer resources; instead, resources are essentially rented.

Desktop virtualization is a software technology that separates the desktop environment and associated application software from the physical client device that is used to access it.

<span class="mw-page-title-main">Volunteer computing</span> System where users donate computer resources to contribute to research

Volunteer computing is a type of distributed computing in which people donate their computers' unused resources to a research-oriented project, and sometimes in exchange for credit points. The fundamental idea behind it is that a modern desktop computer is sufficiently powerful to perform billions of operations a second, but for most users only between 10–15% of its capacity is used. Common tasks such as word processing or web browsing leave the computer mostly idle.

Microsoft Application Virtualization is an application virtualization and application streaming solution from Microsoft. It was originally developed by Softricity, a company based in Boston, Massachusetts, acquired by Microsoft on July 17, 2006. App-V represents Microsoft's entry to the application virtualization market, alongside their other virtualization technologies such as Hyper-V, Microsoft User Environment Virtualization (UE-V), Remote Desktop Services, and System Center Virtual Machine Manager.

Base One International Corp. was an American company that specialized in developing software for constructing database applications and distributed computing systems. Headquartered in New York City, the company was founded in 1993 and expanded in 1997 through the founding of its subsidiary, Base One Software Pvt. Ltd., in Bangalore, India. Base One held a number of U.S. patents related to its technologies for distributed computing and high-precision arithmetic.

Sideband computing is where a user connects to some normal network service, and a separate communication channel is opened through which a server distributes tasks to the clients. Through sideband computing method, any network server which has a lot of clients can form into a large-scale super-computing network. During this process, the resources in the clients could be utilized through the central server so long as the main channel is maintained. Sideband computing is related to the distributed computing and multiple communication channels.

<span class="mw-page-title-main">Xgrid</span> Distributed computing protocol created by Apple

Xgrid is a proprietary grid computing program and protocol developed by the Advanced Computation Group subdivision of Apple Inc.

<span class="mw-page-title-main">Computer cluster</span> Set of computers configured in a distributed computing system

A computer cluster is a set of computers that work together so that they can be viewed as a single system. Unlike grid computers, computer clusters have each node set to perform the same task, controlled and scheduled by software.

<span class="mw-page-title-main">Cloud computing</span> Form of shared Internet-based computing

Cloud computing is the on-demand availability of computer system resources, especially data storage and computing power, without direct active management by the user. Large clouds often have functions distributed over multiple locations, each of which is a data center. Cloud computing relies on sharing of resources to achieve coherence and typically uses a pay-as-you-go model, which can help in reducing capital expenses but may also lead to unexpected operating expenses for users.

Techila Distributed Computing Engine is a commercial grid computing software product. It speeds up simulation, analysis and other computational applications by enabling scalability across the IT resources in user's on-premises data center and in the user's own cloud account. Techila Distributed Computing Engine is developed and licensed by Techila Technologies Ltd, a privately held company headquartered in Tampere, Finland. The product is also available as an on-demand solution in Google Cloud Launcher, the online marketplace created and operated by Google. According to IDC, the solution enables organizations to create HPC infrastructure without the major capital investments and operating expenses required by new HPC hardware.

Docker is a set of platform as a service (PaaS) products that use OS-level virtualization to deliver software in packages called containers. The service has both free and premium tiers. The software that hosts the containers is called Docker Engine. It was first started in 2013 and is developed by Docker, Inc.

References

  1. "Base One distributed computing in depth". Boic.com. Archived from the original on 2013-01-15. Retrieved 2013-01-10.
  2. "Method of encoding numeric data and manipulating the same - U.S. Patent 6,384,748".
  3. "Database communication system and method for communicating with a database - U.S. Patent 6,738,775".
  4. "Database communication system and method for communicating with a database - U.S. Patent 7,181,474".
  5. "Patent Granted for Database-Centric Distributed Computing". www.gridtoday.com. Archived from the original on 17 May 2007.
  6. "On the Grid: A Report on Base One International Corporation. NYSIA". www.nysia.com. Archived from the original on 14 April 2008.
  7. "Base One: Grid Computing for Database-Centric Applications. IDC Opinion" (PDF). Archived from the original (PDF) on 6 October 2007.
  8. "Base One Shares at SIA - info sharing & grid computing". informationweek.com. Archived from the original on 2013-01-23. Retrieved 2022-07-12.{{cite web}}: CS1 maint: bot: original URL status unknown (link)
  9. "Four Hundred Stuff-DB2/400: The Heart of a Supercomputer Cluster?". Itjungle.com. 2004-07-27. Archived from the original on 2012-06-18. Retrieved 2013-01-10.
  10. "Marsh & McLennan Companies". businessinsurance.com.
  11. "Marsh to Sell Risk Management Software Unit ClearSight to Riskonnect". www.insurancejournal.com. 26 July 2018.
  12. "Base One Home Page". Archived from the original on 8 May 2021.