Facilitating the Spread of Knowledge and Innovation in Professional Software Development

Write for InfoQ


Choose your language

InfoQ Homepage News Microsoft Has Released Enterprise Library 5.0

Microsoft Has Released Enterprise Library 5.0

Leia em Português

This item in japanese

Microsoft pattern&practices has released Enterprise Library 5.0, a set of application blocks that can be used as building blocks for enterprise applications, representing Microsoft’s guidance on how to write good applications. The library contains a number of improvements, includes Unity 2.0, and supports .NET 4.0.

Microsoft Enterprise Library 5.0 contains source code that could be used as building blocks for enterprise applications. The code can be used as provided or it can be changed or extended as needed. The main purpose of the library is to provide guidance for developers on how to write good software. The library was built using design patterns like Plug-in and Dependency Injection, the common functionality was encapsulated into the Enterprise Library Core, it uses uniform conventions for naming and versioning, all application blocks are instrumented and unit tests have been included from the initial design phase.

The Enterprise Library contains the following application blocks:

  • Caching – provides local caching through in-memory or database storage
  • Cryptography – provides support for encryption with multiple providers
  • Data Access – provides support for the most used ADO.NET features like stored procedures, inline SQL statements, managing connections, caching parameters
  • Exception Handling – offers a number of handlers to deal with most common exceptions: wrap, replace, logging, fault contract (WCF)
  • Logging – helps with log message formatting and provides a variety of destinations: event, email, database, message queue, text file, WMI, custom
  • Policy Injection – helps altering the behavior of objects based on cross-cutting concerns. It is built on Unity, a DI container.
  • Security – helps developers deal with authorization and authentication issues
  • Validation – provides support for validating input coming from other users or systems
  • Unity Dependency Injection and Interception – it is a dependency injection container which was initially released independently (1.0) but it was enhanced and it is now included in this library

Some of the improvements of this version of the library over the previous one are:

  • it was architecturally refactored for better testability and maintainability
  • it contains Unity, a DI container which can be replaced with another that the user chooses
  • supports programmatic configuration
  • has asynchronous data access
  • incorporates WPF validation mechanisms
  • better logging performance
  • supports .NET 4.0

The library can be used both on 32 and 64 bit machines but it has not been tested on Windows XP, XP not being mentioned in the list of supported operating systems. Nonetheless, Grigori Melnik does not see a reason why the library cannot be used on XP with .NET 3.5 or .NET 4.0.

Melnik also mentions that the pattern&practices team has tried to preserve compatibility with previous versions but there are some breaking changes.

Rate this Article