Microsoft   |   patterns & practices   |   Developer Network   |   Enterprise Library   |   Acceptance Testing Guide   |   Personal Site

Enterprise Library 5.0 Beta1 and Unity 2.0 Beta1 are released
08 February 10 06:51 PM

Greetings!

I am very happy to announce the BETA1 releases of Microsoft Enterprise Library 5.0 and Microsoft Unity 2.0. They are available for evaluation now.

Those who followed the progress of our team through the regular iteration-end code drops are aware what a massive undertaking this has been! With exception of the integration with the Visual Studio, this release is feature complete. Enterprise Library users who are looking at this release for the first time, please review the Change Log.

We are very excited about the improvements we’ve made to the overall Enterprise Library architecture and configuration experience, both of Enterprise Library and Unity (with new configuration tools, fluent interface and IntelliSense support with new schemas). We also focused on making Enterprise Library easier to extend. Our Enterprise Library Contrib community has been active releasing additional providers and new blocks. We expect many more contributions to be added there, thus enriching the developer’s toolbox of available components, and helping us realize the vision of Enterprise Library – to speed up software development!

If you are new to Enterprise Library, consider reading the new Developer Guide (an updated version with all chapters will be posted soon).

Please be aware that the team has put a lot of effort into thorough testing of this release. However, this is work in progress; more platform, performance, and accessibility testing as well as end-to-end scenario testing is underway. In particular, the Unity configuration tool is the latest feature that we have added to the Beta1 release. OK, it does have some quirks, but we will beat them out of it for the final release.

In the near future, you will see a migration guide that will help you to migrate from previous versions of Enterprise Library to version 5.0. The approach we are undertaking is to actually migrate several real-world applications and to capture the steps and lessons learnt into this guide.

In addition, shortly after the final release, you will see the updated set of our hugely popular hands-on labs and additional resource to help you get to grips with the latest and greatest release of Enterprise Library.

And lastly, I’d like to you to help us. Here’s your call to action. Download this Beta1 release. It will quite happily run side-by-side with earlier versions, so you can easily evaluate it without disrupting your development environment. Try the new features. Attempt a migration of an existing application. Tell us about your experiences.  At the end of the day, the existing success of EntLib is due to your support and participation, and we look forward to this continuing!

- Grigori
pp Enterprise Library team

Postedby gmelnik | 0 Comments    
Announcing Enterprise Library 5.0 and Unity 2.0 Roadmap
20 January 10 09:09 AM

When will Enterprise Library 5 and Unity 2.0 ship? In short, on April 14, 2010.

In the meantime, we plan to release two public betas. Here’s our tentative timeline:

 

RevisedRoadMapv5

Please note:

1) We do not plan a 5.1 service release. 5.0 will target both Visual Studio 2010 and Visual Studio 2008. Customers have given us the feedback that this is what they prefer.

2) We will ship BETA 1 on Feb 8, 2010 which will include an msi. BETA 1 will not have all Dev10 integration features included. The new config tool will only be available to run standalone. Also, some documentation will be incomplete.

3) After the Visual Studio 2010 public Release Candidate is published, we’ll gather further input from our customers, and perform extensive integration and system testing against the RC. This will result in BETA 2 (on Mar 15, 2010) which will be feature and code complete.

4) Final Release to Web (RTW) will include a system test pass against the final Visual Studio 2010 RTM bits.

Hopefully, this information will help you plan your migration effort to the new version of Enterprise Library and Unity.

In the meantime, our most recent code drop is available at: http://entlib.codeplex.com.

We look forward to your feedback, your stories of migrating to Enterprise Library 5 from previous versions or using it for the first time. Since the main theme for the release is simplicity and usability, we particularly seek comments from new users. How easy was it to get going with EntLib? What can be done to make your learning experience better?

The team has put a lot of effort into this release and we look forward to enriching your development experience with the improved reusable components, new fresh set of guides, and updated QuickStarts and code samples.

Postedby gmelnik | 0 Comments    
Just released: EntLib Contrib – January 2010
19 January 10 07:29 PM

Enterprise Library Contrib community just published a new release. Congratulations!

Check it out! Not only it upgrades all existing contributions to target the Enterprise Library 4.1, it also includes new features:

  • 5 new or rewritten DAAB data providers for IBM DB2, MySql, Oracle ODP.NET, PostgreSql, and SQLite
  • Query Application Block
  • Resource Application Block integrated with Unity

If you benefit from these extensions, please make sure to let contributors know and post your feedback through the codeplex forum. Also, if you build your own extensions that you don’t mind others to leverage too, consider joining EntLibContrib and sharing.

Enterprise Library 5.0 preview video posted
07 December 09 08:46 PM

The talk Bob and I gave at the p&p Redmond summit in October is now available for online viewing. In it we discuss and demo (use time breakpoints  to fast forward to a specific topic):

  • the overall theme of the release – simplicity & improved user experience (00:00)
  • data accessors (06:25)
  • higher performing logging (18:00)
  • fluent configuration interface (20:32)
  • config tool facelift and making it easier to plug in custom extensions to the config tool (30:18) –
  • honouring validation attributes between VAB and System.ComponentModel.DataAnnotations (41:08)
  • tackling external and internal complexity with architectural refactoring and resulting testability improvements  (42:16)
  • container independence (43:34)

Enjoy! If you like what you see and want to play with EntLib5.0, download the most recent bits from entlib.codeplex.com and provide your feedback.


Enterprise Library v5 preview at the p&p Summit 2009

Related videos: Unity, Prism 2

Powered by EntLib
13 November 09 05:30 AM

When speaking about or demoing EntLib, I often get asked which Microsoft products Enterprise Library is used in. There are several dozen internal Microsoft projects (that we know of) that take advantage of Enterprise Library. However, many people are particularly interested in commercial products that use it. Today I am able to speak about some of them.

This Monday the Microsoft Exchange team announced the public launch of Exchange Server 2010. There are many innovations in it, which you can read about on the Microsoft Exchange Teamblog. The reason I mention it here, however, is not only to congratulate the Exchange team, but also to proudly share the news that Enterprise Library and Unity container are used by Exchange Server 2010.

In addition, the Enterprise Service Bus (ESB) Toolkit 2.0, which is now part of Microsoft BizTalk Server 2009 also uses Enterprise Library 4.1 and Unity 1.2

Through the course of my interactions with many customers, I’ve compiled an extensive list of companies that use Enterprise Library (including 50 Fortune 500 companies). Unfortunately, I do not have permission to share many of their names. However, you can find some of the case studies published here. In addition, you can explore Microsoft Solution Finder and search for projects with “Enterprise Library” as a keyword.

These endorsements are a clear indication of the value that Enterprise Library provides to Microsoft product groups, our customers and partners.

I would also like to use this opportunity to invite customers who would like to share their story, and be profiled on our patterns & practices development center page, to contact me.

Postedby gmelnik | 0 Comments    
Dependency Injection pattern in APIs
12 November 09 05:44 PM

My colleague and friend Chris Tavares, who is the Dev Lead on Enterprise Library and Unity, published an insightful article in MSDN magazine on the usage of DI in APIs, which I highly recommend. It is based on our recent experience of doing architectural refactoring of the Enterprise Library. It outlines our design  objectives and the approach taken to meet them. It concludes with lessons learnt and key considerations when designing your own API or framework.

Read Chris’s article here.

Zen and the Art of Managing Crosscutting Concerns – EntLib Dev Guide Preview
12 November 09 05:44 PM

DevGuide_PDC_Preview_CSharp_Edition_small

A new public preview release is now available on Codeplex. It now includes the following chapters, revised and updated for V5.0:

  • Chapter 1 – Intro. Meet the Librarian
  • Chapter 2 – Much ADO about Data Access
  • Chapter 3 – Error Management Made Exceptionally Easy

Your comments are invited.

Stay tuned for more.

Postedby gmelnik | 0 Comments    
Grigori at PDC
11 November 09 06:54 AM

I’ll be at PDC2009 in LA next week. I’ll be happy to meet with EntLib and Unity users as well as critics, to discuss new features of EntLib 5.0, preview the new config experience and also solicit suggestions for post v5 work.

If you’d like to discuss acceptance testing and test automation strategies, I’d be interested in that too.

Look for me at the p&p booth Mon-Thu or ping me to set specific time to meet.

See you there.

p&p Summit 2009: What’s coming in Enterprise Library 5.0
16 October 09 07:51 AM

Yesterday Bob Brumfield and I gave a talk on EntLib5.0 at p&p summit in Redmond . We’ve discussed the underlying architectural refactoring and previewed the following improvements:

  1. Data accessors that will help you easily consume sproc results when using Data Access Application Block – instead of a data reader you get an IEnumerable back and can do all LINQ magic on it.
  2. Logging Block performance improvements due to optimizations using predefined timestamp patterns mapped to high-speed formatting implementations and new “local” tokens for context info (e.g. localMachine, localAppDomain) that we cache.
  3. Improved config experience epic which included:
    • programmatic config support via fluent interface
    • face lift of the config tool to make it more intuitive (especially when displaying relationships), simpler (by removing a lot of design time dlls) and better extensible (by simplifying the way config for custom handlers/blocks) can be plugged into the config tool)
  4. Honouring validation attributes in System.ComponentModel.DataAnnotations
  5. Getting EntLib objects in various ways :
    • via a single point of entry EnterpriseLibraryContainer.Current
    • or injected by the container

We also demoed container independency story which allows to switch the underlying container. Out of the box, you get EntLib shipped with Unity, but if you prefer to use another DI container, now you can easily switch over.

We are planning several webcasts to share these demos.

In the meantime, feel free to check out our recent bits here and provide feedback.

Postedby gmelnik | 0 Comments    
Removing WMI support from Enterprise Library
13 October 09 02:00 PM

In our quest to simplify EntLib’s codebase, we are considering removing WMI2 support in v5. This is based on recommendation by our Advisory board, as well as lack of usage and interest from the user community and the high development complexity to maintain WMI2 integration (the code itself as well as non-trivial environmental setup on dev and test machines).

If this is something you care deeply about, please scream now. We are waiting for any scenarios that could convince us to keep WMI2 support of EntLib objects till the end of October.

Note: as part of our instrumentation story, we will continue to maintain EventLog and perf counter updates.

Postedby gmelnik | 2 Comments    
Enterprise Library reaches 2 million downloads!
08 September 09 05:49 PM

Enterprise Library has a broad reach and adoption. No wonder, since it embodies many of the proven .NET development practices and ships with the code, tests and hands-on labs – lots to reuse and lots to learn from. The EntLib community has welcomed more than 2 million downloads worldwide! At least 10% of Fortune 500 companies use Enterprise Library (that’s who we know of). In addition, I’ve noticed that employers now list specifically EntLib skills in their developer job ads on monster and workopolis.

To celebrate the 2M milestone, our p&p colleagues surprised us with a cake. A slice goes to everyone who has ever worked on application blocks or the library itself (one day I’ll be able to do a better job and acknowledge each and everyone of you!) as well as to all community members who have used EntLib, commented on it, reported bugs, suggested improvements, written extensions. It’s been five years since this effort began and the tremendous success of EntLib today is largely due to all of you! Thank you! We look forward to continuing collaboration with you.

Don’t forget to check out our Codeplex development site where you can see what’s coming next (in v5) and download most recent code drops.

EntLib_2M_celebration

Postedby gmelnik | 0 Comments    
EntLib/Unity Trainers
14 August 09 04:50 PM

If you are offering industrial or academic courses or workshops that use Enterprise Library or Unity, I hope you are already taking advantage of our updated Hands-On Labs. I would like to know what else we could do to better support you and the learners.

Please reply to this post or ping me directly. You may also want to send me your syllabus and we’ll consider profiling you under the Learning section of our Codeplex site.

- Grigori

Showcasing patterns & practices’ goodness
13 August 09 10:54 PM

These are some of the events I’ll be presenting at in the next couple of months:

Whether you are using Enterprise Library or any other p&p asset, I’d be happy to chat with you about your experience. Look forward to it!

pnp summit Redmond

Postedby gmelnik | 0 Comments    
Filed under: ,
Unity 2.0 container update
16 July 09 12:18 PM

Our latest work on Unity 2.0 is available on Codeplex (see change set 28516). This is the first work we’ve done on Unity as part of the EntLib5.0 effort.

Major changes in this drop include:

  • ObjectBuilder2 DLL is now gone. The code is now completely contained in the Unity assembly, and you won't need to reference OB2 anymore in your projects using Unity. Over time the ObjectBuilder stuff is going to lose a lot of it's generality and be just the underpinnings for the container.
  • We're taking a first cut at fixing our exception messages. All the extra BuildFailedException’s that ended up in the inner exception tree are now GONE. Instead, you get a top level ResolutionFailedException, and the InnerException is the actual exception that caused resolution to fail. And the exception message has been reformatted significantly to hopefully get a better description of what the container was doing, and how it ended up where it did, when the error occurred. This is in response to user feedback to provide better error messaging in Unity. We consider this to be a significant improvement, but still need your feedback. In particular, we look forward to specific suggestions about how we could change the messages to be even more descriptive and intuitive. Please reply to this post or via Codeplex discussion thread.
  • Silverlight projects are now updated to Silverlight 3.
Acceptance Test Engineering Guide, volume 1 BETA2 release
30 June 09 06:30 PM

image Today I am pleased to announce the release of the beta2 of the first volume of our Acceptance Test Engineering Guide. We are getting closer to “done”.

As it became apparent that the primary reader personas for each part in the original guide (that was released as beta1) were different  and the size of the guide was approaching 800 pages, we decided to split it into 3 volumes. It allows us to ship Volume I sooner while finishing Volume II and III. Incremental delivery for the win!

Based on the first round of reviews, Volume I has undergone some serious rewriting (especially, the Gating model, which is now called the Acceptance Process Model) and the entire new chapters were added (Part II – Perspectives on Acceptance).

Here’s the current structure of the guide:

Volume I provides an overview of the acceptance process and how acceptance testing and other key practices fit into the process. This volume is intended to be read from beginning to end. It is subdivided into three main parts:

    • Part I – Thinking about Acceptance explains six mental models that are useful when thinking about the acceptance process.
      • Chapter 1 The Acceptance Process
      • Chapter 2 Decision-Making Model
      • Chapter 3 Project Context Model
      • Chapter 4 System Requirements Model
      • Chapter 5 Risk Model
      • Chapter 6 Doneness Model
    • Part II – Perspectives on Acceptance describes the acceptance process from the perspectives of key stakeholders in two different kinds of organizations: the Information Technology Department in a business and the Product Development Company. Most readers involved in the acceptance process should find some commonality with at least one of the roles describes.
      • Chapter 7 Business Lead’s Perspective
      • Chapter 8 Product Manager’s Perspective
      • Chapter 9 Test Manager’s Perspective
      • Chapter 10 Development Manager’s Perspective
      • Chapter 11 User Experience Specialist’s Perspective
      • Chapter 12 Operations Manager’s Perspective
      • Chapter 13 Solution Architect’s Perspective
      • Chapter 14 Enterprise Architect’s Perspective
      • Chapter 15 Legal Perspective
    • Part III – Accepting Software introduces the practices that are necessary for planning the acceptance process, for performing acceptance testing and for improving the acceptance process.
      • Chapter 16 Planning for Acceptance
      • Chapter 17 Assessing Software
      • Chapter 18 Managing the Acceptance Process
      • Chapter 19 Streamlining the Acceptance Process

Volume II is a collection of what we call thumbnails that describe the practices introduced in Volume I in more detail. A thumbnail is a short overview of a practice that explains what it is, when you may want to use it, the risks that it mitigates, and an overview of how to perform the practice. Thumbnails also include a list of references to papers, books, and other resources that provide more complete descriptions of the practices in question. The main purpose of a thumbnail is to describe a topic well enough to provide an overview, serve as a mental reminder for someone who has used the practice on how to do it, and give someone unfamiliar with the practice enough information about the practice and its applicability to determine if they want to learn more about it. Some of these topics and practices have entire books written about them that describe the concepts in greater detail and depth than this guide could possibly do. Volume II is intended to be used as a reference; most readers will not read it from beginning to end.

Volume III. This volume is a collection of sample artifacts generated by applying different practices in a fictional but realistic situation for the fictional company Global Bank. These artifacts are embedded in a series of case studies of what the Global Bank team may have produced while building the application. The case studies provide some context to the individual artifacts. They also provide cross-references to the practices described in Volume II. The artifacts are intended to be used as way to learn more about how to perform a practice; they can also be used as templates for your own artifacts.

As always, we look forward to your feedback! Feel free to submit it through the Codeplex site (Issue Tracker or Discussion Forum) or simply email it to me.

More Posts Next page »

This Blog

Syndication

Page view tracker