B1Framework v. 1.15
Experimental tools for database application development
Featured in: Essential Software Library,
From: Content Galaxy Inc.
B1Framework (B1F) is a collection of reusable .NET components for building web, back office, and desktop
database applications. The common data access layer and other core parts of B1F make it easier to write high
performance, database-agnostic programs, and they provide a solid foundation for developing scalable commercial
services. Based on Microsoft .NET Framework 4.0 and Enterprise Library 5.0 Application Blocks,
B1Framework adds indispensable components for database access, logging, validation, caching, exception management,
and security.
To
subscribe and download
B1Framework, click on box
You get the full source code and can build applications that support an unlimited number of users.
Data Access Layer
- The database access component presents a vendor neutral interface for
building and executing commands in the .NET framework. It Illustrates how to use Enterprise Library's Data Access Application Blocks in a
database independent way with SQL Server, Oracle, and DB2 databases.
- B1Framework's DataAccess namespace includes the standard functions for building and executing database
commands, and discovering or caching parameters; but it also has classes for building compound SQL statements
that handle automatic parameter creation, enabling multiple commands to be transmitted in a single database
call.
- Compound commands can include calls to stored procedures and parameterized dynamic SQL, and
they can include nested transactions, reducing the need to hold resources between calls to the database.
- Dynamic SQL and an in-memory cached database catalog add powerful capabilities for automatically
generating Select, Insert, Delete, Merge commands that work against different databases. B1Framework interfaces
make it easier to write high performance, multithreaded applications.
- The B1F Data Access layer includes a custom LINQ provider that uses .NET expression trees for
efficient processing of complex joins, with C# compile-time error checking.
- The Paging class is a highly scalable means of querying and scrolling though extremely large result
sets efficiently, without locking resources or resorting to full table scans and sorts. This class includes
an interface that works directly with Entity Framework objects.
Database Setup
- B1Framework has a database setup utility for executing scripts to set up a new database or alter an
existing one. It employs back-end specific command line tools that work with special DDL syntaxes
and allow all types of objects to be created.
- Includes examples showing how to use B1Framework to perform multi-threaded, concurrent
database operations across different back-end databases with a common code base.
Configuration
- The Configuration component has classes for accessing the application settings, as well as
supporting a concept of runtime replacement configuration parameters.
Application Logging
- Ability to log messages to multiple concurrent destinations
(such as Windows Event Log, database, memory file)
- Can be used with or without the configuration manager allowing
for both configurable and programmatic setup
- Support for the following targets:
- Windows Event Logger
- MSMQ Logger
- Memory File logger
- Standard file logging
- High performance Trace Logging (with a TraceViewer
windows application)
Security
- Hashing using MD5, SHA1, SHA256, SHA384, SHA512
- Symmetric encryption using DES, RC2, Rijndael, TripleDES
- Asymmetric encryption using RSA & DSA
- Digital envelope using asymmetric RSA for enveloping,
symmetric AES for encryption
- Digital signature using asymmetric RSA and DSA
- Signing XML class using RSA
- XML packaging using RSA for enveloping and signing, AES for
encypting and SHA1 for hashing
- Encrypted string with expiration timings
To learn more, download the B1Framework Help documentation:
click here (4.6 MB).
This file is in Microsoft .CHM (compiled help) format. To view: download and unzip it, and
in its Properties, press "Unblock" button if blocked.