The new version of very popular and useful Enterprise Library has been released.
What's New in Version 4 ?
- Integration with the Unity Application Block
- The Unity Application Block (Unity) is a lightweight, extensible dependency injection container with support for constructor, property, and method call injection.
- Windows Management Instrumentation (WMI) 2.0 support and improved instrumentation
- Performance improvements (particularly, in the Logging Application Block)
- Pluggable Cache Managers
- Visual Studio 2008 support
- Bug fixes
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.
-> Some of other 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.
Exception Handling Application Block
-> 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
-> Tracing
-> Auditing
-> Configurable when and where to log options.
Data Access Application Block
-> Abstracting data access code from type of database.
-> Configurable database connection settings
-> Managing database connections
Caching Application Block
-> 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
-> Encryption/ Decryption
-> Hashing
-> Configurable management of Algorithms and keys
Security Application Block
-> Authorization mechanism
-> Caching Authentication & Authorization mechanism
There is no doubt that Enterprise Library is wonderful tool for the developers to complete their tasks. But before going a head with it, one should also consider its limitations as well. For example if we talk about the issues like Scalability and Reliability, EntLib has some limitations. ASP.NET apps frequently run in web farms for scalability reasons. A stand-alone cache is unaware of multiple servers and cache instances and is not synchronized. I have found some good read about Entlib and its limitation on internet. One of them is Drawbacks of using Regular Caching Application Block.
ReplyDelete