InfoQ

InfoQ

News

My Bookmarks

Login or Register to enable bookmarks for unlimited time.

The content has been bookmarked!

There was an error bookmarking this content! Please retry.

Microsoft Has Released Enterprise Library 5.0

Posted by Abel Avram on Apr 23, 2010

Sections
Architecture & Design,
Development,
Enterprise Architecture
Topics
Design Pattern ,
Enterprise Application Blocks ,
.NET
Tags
Enterprise Library ,
Microsoft ,
Patterns and Practices

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.

12 comments

Watch Thread Reply

A list of redundant and possibly will fail things of them by monser corp Posted
Re: A list of redundant and possibly will fail things of them by Dan Tines Posted
Re: A list of redundant and possibly will fail things of them by Paulo Pinto Posted
Re: A list of redundant and possibly will fail things of them by Rodi de Boer Posted
Re: A list of redundant and possibly will fail things of them by David Louis Posted
Re: A list of redundant and possibly will fail things of them by Timur Bobrus Posted
Re: A list of redundant and possibly will fail things of them by Max Toro Posted
Re: A list of redundant and possibly will fail things of them by Kevin McFarlane Posted
Re: A list of redundant and possibly will fail things of them by Daniel Pashkov Posted
Windows XP by Rob von Nesselrode Posted
Re: Windows XP by Grigori Melnik Posted
Silverlight by Grigori Melnik Posted
  1. Back to top

    A list of redundant and possibly will fail things of them

    by monser corp

    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.

  2. Back to top

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

    by Dan Tines

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

  3. Back to top

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

    by Max Toro

    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.

  4. Back to top

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

    by Kevin McFarlane

    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.

  5. Back to top

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

    by Paulo Pinto

    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?

  6. Back to top

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

    by Daniel Pashkov

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

  7. Back to top

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

    by Rodi de Boer


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


    To make it better! :)

  8. Back to top

    Windows XP

    by Rob von Nesselrode

    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

  9. Back to top

    Re: Windows XP

    by Grigori Melnik

    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

  10. Back to top

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

    by David Louis

    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.

  11. Back to top

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

    by Timur Bobrus

    Warmonger. Holywar has begun :)

  12. Back to top

    Silverlight

    by Grigori Melnik

    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.

Educational Content

New-age Transactional Systems - Not Your Grandpa's OLTP

John Hugg discusses high volume transaction processing applications with high and low frequency profiles, and how VoltDB can be used for that purpose.

Cool Code

Kevlin Henney examines code samples to see what can be learned from them starting from the premise that one won’t write great code unless he knows how to read it.

Collaboration: At the Extremities of Extreme

Jason Ayers share the observations he made watching a team of developers collaborating in real time on the same code base, pushing XP, pair programming and continuous integration to their extremes.

Yesod Web Framework

Michael Snoyman presents Yesod, a web framework written in Haskell and containing a web server, templating, ORM, libraries (templating, gravatar, etc.).

Transactions without Transactions

Richard Kreuter and Kyle Banker on how to avoid classical RDBMS transactional systems by using compensation mechanisms, transactional messaging or transactional procedures.

Attila Szegedi on JVM and GC Performance Tuning at Twitter

Attila Szegedi talks about performance tuning Java and Scala programs at Twitter: how to approach GC problems, the importance of asynchronous I/O, when to use MySQL/Cassandra/Redis, and much more.

10 tips on how to prevent business value risk

One category of risk that project teams need to ensure they address is business value failure – delivering a product that fails to provide value for the business investor.

Interview: Software Systems Architecture: Working With Stakeholders Using Viewpoints and Perspectives

InfoQ spoke to the authors of Software Systems Architecture on a couple of new topics, the System Context viewpoint and Agile, which have been added to the second edition.