BT

Facilitating the Spread of Knowledge and Innovation in Professional Software Development

Write for InfoQ

Topics

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

Bookmarks

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

Adoption
Style

Hello stranger!

You need to Register an InfoQ account or or login to post comments. But there's so much more behind being registered.

Get the most out of the InfoQ experience.

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Community comments

  • A list of redundant and possibly will fail things of them

    by monser corp,

    Your message is awaiting moderation. Thank you for participating in the discussion.

    Data Access: not much of ms's data accessing technologies survived long time.
    Logging: enough competitors are already there and much better than this one
    Unity: is really any one using it?

    to be honest, a lot of things from ms are just like prince/princess. they are used only because they are under the big name. take away the name and put them in the wild, few will survive.

  • Re: A list of redundant and possibly will fail things of them

    by Dan Tines,

    Your message is awaiting moderation. Thank you for participating in the discussion.

    Mediocrity technology can survive just fine - look at Java. Mediocre companies tend to die though - Sun.

  • Re: A list of redundant and possibly will fail things of them

    by Max Toro,

    Your message is awaiting moderation. Thank you for participating in the discussion.

    I use Unity, what's wrong with that?

    I feel sad for people like you who hate MS just because they create products where other competitors/alternatives have been around for a while, and eventually MS takes a bigger market share just because they have a large customer base.

  • Re: A list of redundant and possibly will fail things of them

    by Kevin McFarlane,

    Your message is awaiting moderation. Thank you for participating in the discussion.

    One reason why Microsoft adds frameworks/libraries that third party .NET vendors have already provided is that they have many customers who will not use such libraries unless they're provided by Microsoft. That's just the way it is.

  • Re: A list of redundant and possibly will fail things of them

    by Paulo Pinto,

    Your message is awaiting moderation. Thank you for participating in the discussion.

    Mediocrity technology can survive just fine - look at Java. Mediocre companies tend to die though - Sun.


    If Java is a mediocre technology, why did Microsoft cloned it to make .Net?

  • Re: A list of redundant and possibly will fail things of them

    by Daniel Pashkov,

    Your message is awaiting moderation. Thank you for participating in the discussion.

    I use configuration UI for our application. It is nice to get UI for your config files and save them to central SQL storage.

  • Re: A list of redundant and possibly will fail things of them

    by Rodi de Boer,

    Your message is awaiting moderation. Thank you for participating in the discussion.


    If Java is a mediocre technology, why did Microsoft cloned it to make .Net?


    To make it better! :)

  • Windows XP

    by Rob von Nesselrode,

    Your message is awaiting moderation. Thank you for participating in the discussion.

    I'm curious as to why a library, ostensibly running on the managed .NET base would give a hoot for which OS it was on as long as the supported .NET platforms run. In this case .NET 2 and .NET 4 by the look of it.

    Last time I checked, XP was still fairly popular. Nothing has come out since that makes extra money for me.

    As for whether the blocks are useful - that shouldn' be based on commercial alternatives, more on what you can learn from the library itself. After all it is designed to be extended and the price appears to be right

  • Re: Windows XP

    by Grigori Melnik,

    Your message is awaiting moderation. Thank you for participating in the discussion.

    Rob,

    The library doesn't. It's whether we can claim that it runs on XP without doing a test pass.

    Since the release, we've conducted an additional test pass on Windows XP SP3 and added it to the list of OSs.

    See
    blogs.msdn.com/agile/archive/2010/04/28/enterpr...

    - Grigori

  • Re: A list of redundant and possibly will fail things of them

    by David Louis,

    Your message is awaiting moderation. Thank you for participating in the discussion.

    It not that Java is mediocre, it just can't keep up with Microsoft. Well, I take that back the first few releases of java where incomplete. So I guess it did suck. The only reason it did well is because of marketing. Their ads should be if you hate MS then use our product. It is old and not a very productive tool set. You need a lot of third party stuff to do things with it. Suns never spent the money they needed to to keep it current. Even book store now have their java books in the back, on sale, lower shelf while the MS books are out in front. Oracle might save Java but Oracle likes money, so expect to start paying big time at some point.

  • Re: A list of redundant and possibly will fail things of them

    by Timur Bobrus,

    Your message is awaiting moderation. Thank you for participating in the discussion.

    Warmonger. Holywar has begun :)

  • Silverlight

    by Grigori Melnik,

    Your message is awaiting moderation. Thank you for participating in the discussion.

    A quick update. We are working on a Silverlight Integration Pack for Enterprise Library 5.0.

    You are invited to preview the backlog and vote on the features.

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

BT