Monday, January 29, 2007

* Enterprise Library : An Introduction

What is Enterprise Library ?

-> A collection of several general purpose application blocks which are reusable and extensible.

-> They are set of helper classes which solve common problems and can be used in any architectural style.

-> Released by Microsoft, freely available with source code for redistribution.

-> Two major releases already out 1.0 and 2.0 while 3.0 is targeted for March 2007.

-> Jan 2007 CTP available for download from here and required .NET framework 2.0/3.0

-> Some of the blocks are Caching, Cryptography, Data Access, Exception Handling, Logging & Instrumentation, Validation, Application Block Software Factory etc.

The blocks which form the core of enterprise library are :

1. Configuration :  As all application blocks are configurable and there functionality depends on configuration. This block with a config tool helps in configuring all blocks.

2. Instrumentation : All application blocks have sufficient instrumentation built in to support development, testing and operations. This block is used to provide instrumentation capabilities like event logs, performance counters etc.

3. Object Builder : Used for building objects using the config files by invoking relevant factory.

Lets look at each Application Block one by one :

Exception Handling Application Block

The main objectives of this block are :

-> Consistent exception handling behavior across the application

-> Configurable 'Exception Policies' where type of exception can be linked to action.

-> Configurable Logging options

-> Wrapping and replacing one exception with another.

Logging Application Block

The main objectives of this block are :

-> Tracing

-> Auditing

-> Configurable when and where to log options.

Data Access Application Block

The main objectives of this block are :

-> Abstracting data access code from type of database.

-> Configurable database connection settings

-> Managing database connections

Caching Application Block

The main objectives of this block are :

-> Caching mechanism that can be used across all layers of application

-> Option of persisting cache in database or isolated storage

-> Configurable and Thread safe

Cryptography Application Block

The main objectives of this block are :

-> Encryption/ Decryption

-> Hashing

-> Configurable management of Algorithms and keys

Security Application Block

The main objectives of this block are :

-> Authorization mechanism

-> Caching Authentication & Authorization mechanism

Other Posts

No comments:

Post a Comment