Enterprise Library is used when building applications that are typically to be deployed widely and to interoperate with other applications and systems. In addition, they generally have strict security, reliability, and performance requirements.
The goals of Enterprise Library are the following:
- Consistency. All Enterprise Library application blocks feature consistent design patterns and implementation approaches.
- Extensibility. All application blocks include defined extensibility points that allow developers to customize the behavior of the application blocks by adding their own code.
- Ease of use. Enterprise Library offers numerous usability improvements, including a graphical configuration tool, a simpler installation procedure, and clearer and more complete documentation and samples.
- Integration. Enterprise Library application blocks are designed to work well together or individually.
Community
The Enterprise Library has a thriving online community.
On this community site, you can post questions, provide feedback, or connect with other users for sharing ideas. Community members can also help Microsoft plan future releases of the Enterprise Library and/or related guidance, and download additional content such as extensions and training material.
Benefits
- Improved Productivity: Each of the Application Blocks provides several interfaces meant to satisfy common application concerns.
- Configuration Driven Design: Many technical decisions about the application behaviour can be delayed until configuration time of the application. For instance, if an application does not properly handle an exception, instead of adding another exception handler to the code, an administrator can configure an additional exception handling policy.
- Improved Testability: Many application areas can be reconfigured to improve testing of the application in isolation.
Application Blocks
The Application Blocks in Enterprise Library are designed to be as agnostic as possible to the application architecture, for example the Logging Application Block may be used equally in a web, smart client or service-oriented application. The patterns and practices team also produces more specialized Application Blocks that are not included in Enterprise Library, such as the User Interface Process Application Block, Aggregator Application Block, Updater Application Block and the Composite UI Application Block.
The patterns and practices team produces a number of other deliverables that leverage Enterprise Library Application Blocks. These include the Web Service Software Factory and Smart Client Software Factory.
Utilities
In addition to the Application Blocks, the standard Microsoft distribution of the Enterprise library includes:
- Configuration Console: to visually add an Application Block to an application's configuration.
- Security Database Console: to add roles, profiles and authorization rules to support the Security Application Block.
History
There have been several versions of the Microsoft Enterprise Library:
- Enterprise Library 1.0 (January 2005) - Deprecated
- Enterprise Library 1.1 (June 2005) - Deprecated
- Enterprise Library 2.0 (January 2006) - Active/Retired
- Enterprise Library 3.0 (April 2007) - Deprecated \
- Enterprise Library 3.1 (May 2007) - Active
- Enterprise Library 4.0 (May 2008) - Active
- Enterprise Library 4.1 (October 2008) - Current Enterprise Library 5.0 (early 2010) - Next in Development
Version 1.1
Two releases of Enterprise Library were released for .NET Framework 1.1. The first was released in January 2005, followed by a minor maintenance release in June 2005. The .NET 1.1 releases of Enterprise Library contained the following Application Blocks:
- Caching
- Configuration
- Cryptography
- Data Access
- Exception Handling
- Logging and Instrumentation Security
Version 2.0
In January 2006, a new version of Enterprise Library was released that targeted .NET Framework 2.0. The most significant change in this release was that the Configuration Application Block was removed, and the blocks were updated to use .NET's improved System.Configuration capabilities. This release also included significant improvements to the Logging Application Block, and much of the Security Application Block was removed due to similar capabilities provided in .NET Framework 2.0. The .NET 2.0 release of Enterprise Library contained the following Application Blocks:
- Caching
- Data Access
- Cryptography
- Exception Handling
- Logging Security
Version 3.0
In April 2007, Enterprise Library 3.0 was released. It contains new Application Blocks, a new Application Block Software factory designed to simplify the development of new Application Blocks and extensions, and new features providing better integration with .NET Framework 3.0. The 3.0 release of Enterprise Library contains the following Application Blocks:
- Caching
- Data Access
- Cryptography
- Exception Handling
- Logging
- Policy Injection
- Security
- Validation
Version 3.1
In May 2007, Enterprise Library 3.1 was released with minor enhancements to the Validation and Policy Injection Application Blocks.
Version 4.0
This release of Enterprise Library includes the following:
- Integration with the Unity Application Block
- 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
Version 4.1
This release of Enterprise Library is a service release that includes the following:
- Unity interception mechanism and integration of the Policy Injection Application Block with the Unity Application Block
- Added support for generics in the Unity Application Block
- Added support for arrays in the Unity Application Block
- Performance improvements
- Usability improvements to the configuration tool
- Visual Studio 2008 Service Pack 1 support
- Bug fixes
Note: Existing public APIs (v3.1) are still supported.
The Application Block Software Factory and the Strong Naming Guidance Package are not included in this release but are available as a separate download. Thus, there is no longer a dependency on Guidance Automation Extensions (GAX).
For the detailed list of all changes, see About This Release of Enterprise Library.
Version 5.0
This is the next release that the patterns & practices team is planning now. See tentative backlog posted by Grigori Melnik, EntLib Product Owner.
Download:
You can download the libraries from the below link
http://msdn.microsoft.com/en-us/library/cc467894.aspx
Hi Rameswara,
ReplyDeleteThank you for this very informative post. I hope Team Entlib will provide us a better faster and optimized solution in their next release. I came across some problems when I used Caching Application Block. Due to its in-proc and standalone nature it is very difficult to scale out. here is a good read about the limitations of using Entlib’s CAB; I hope this proves useful for developer before jumping into this block.
Cheers.