You are here: Architecture > Business Foundation

Business Foundation


Business Foundation (BF) is a set of technologies in .NET that support development of data-oriented software applications. Architects and developers of data-oriented applications have struggled with the need to achieve two very different objectives. They must model the entities, relationships, and logic of the business problems they are solving, and they must also work with the data engines used to store and retrieve the data.

BF enables developers to work with database data in the form of domain-specific objects and properties. Because BF is a component of the .NET Framework, BF applications can run on any computer on which the .NET Framework 2.0 is installed.

A longstanding and common design pattern for data modeling is the division of the data model into three parts: a conceptual model, a logical model, and a physical model. The conceptual model defines the entities and relationships in the system that is being modeled. The logical model for a relational database normalizes the entities and relationships into tables with foreign key constraints. The physical model addresses the capabilities of a particular data engine by specifying storage details such as partitioning and indexing.

The physical model is refined by database administrators to improve performance, but programmers writing application code primarily confine themselves to working with the logical model by writing SQL queries and calling stored procedures. Conceptual models are generally used as a tool for capturing and communicating the requirements of an application, frequently as inert diagrams that are viewed and discussed in the early stages of a project and then abandoned. Many development teams skip creating a conceptual model and begin by specifying tables, columns, and keys in a relational database.

BF gives life to conceptual models by enabling developers to query entities in the conceptual model while relying on the Entity Framework to translate those operations to data source-specific commands.

Typically, developers work with static physical models and the application should be rebuilt if the relation structure is modified. But business applications should be more flexible; they should allow extension of new and ready-to-use entities with custom properties.

BF supports dynamic conceptual models by allowing developers to modify the physical model through the Meta Model Management API.

The Relational model is fixed and standardized. Modern business applications require complex data-types, complex objects and should be extendable. The Business Meta Model implements a custom Meta Model with user friendly types, meta classes, dynamic objects, cards, relations (1-N, N-1, N-N), event pipe lines, modules and plugin systems.

Next read about Working with Meta Models.

Working with Meta Models

SQL Meta Model

Business Meta Model

Extending Meta Models

Exporting Importing Meta Model

Working with Data

Working with SQL Records

Working with Entity Objects

Searching and Sorting


Last updated: 2011-05-17 | Copyright © EPiServer AB | Send feedback to us