OSGalaxy

published by scottdensmore on 2008-01-31 16:14:17 in the "Enterprise Library" category
Scott Densmore

At the p&p Summit in November here in Redmond I gave a talk called "EntLib Refactored". This talk was started by my work done on the EntLib contrib project under the same name. What I wanted to do was make Enterprise Library smaller, simpler and easier to consume. My first attempt was to rewrite the blocks to not depend on Configuration. This was a great first stab, yet I found that what I really wanted was to reduce the size of things (which factoring out config did not do). What I wanted to do was get rid of the factories and use a Dependency Injection Container to wire up the objects. Brad Wilson and myself had been working on Object Builder 2 and Containers on top of them to test it out. What we needed for Enterprise Library was a DI Container.

After working on previous versions of Enterprise Library, we have learned that we needed Dependency Injection (DI) without knowing it and did it at the most basic level. We created factories: which is a form of simple DI. The problem this created is that each individual block was responsible for it's own configuration and configuration was buried at the bottom of the stack. We need to change around the model a bit to make the responsibility of configuration built into the DI Container and remove all that extra code from each block.

Here is a picture of the old way: [BTW Enterprise Library Factory is buried at the bottom in the Core assembly that no one sees.]

Old Way

Here is the new way:

New Way

This looks better. Configuration is about the container. WAHOOOOOO! This means that building a block, using a block adding your extensions and having the configuration all comes through the container. This will make it easier for you to use Enterprise Library with Unity or your current DI container and allow us to deliver more cool things to you, the customer. Look for more on this later.

That all sounds good, yet there is one lagging thing that needed to be addressed: the devil. Backwards compatibility is the work of the devil, and just like the devil, necessary. This is fueled by the fact that Enterprise Library has reached over a million downloads and not having a story would cause a lot of people to swing large baseball bats at us. So the old way will still work working with factories so you can upgrade and migrate slowly.

Unity is a lightweight container built on top of the work of Object Builder 2, with heavy tweeks by Chris Tavaras. You can read more from Grigori and Chris on Unity.

The funny story about Unity is the name. Grigori and I were trying to come up with a name for this DI block and mentioned it to Peter Provost when we settled on Unity (which is better than the Doohicky Application Block that was up on the board). Peter never thought we would get it pass legal... neener neener is what we said when we got it. He said "Enterprise Library 4: Now with more Peace love and Rock n' Roll".

Doesn't Remind Me from the album "Out Of Exile" by Audioslave

Technorati Tags: , ,



> Read More... | Digg This!

published by scottdensmore on 2008-01-30 05:40:00 in the "Enterprise Library" category
Scott Densmore

I am back on the team (and no I am not writing configuration again).

Entlib4.0 Team

Borrowed pic from Grigori's original post.

Technorati Tags: , ,



> Read More... | Digg This!

published by scottdensmore on 2006-01-17 18:31:04 in the "Enterprise Library" category
Scott Densmore

I have been really busy working on my new team, but I just noticed 3 new things that I found very cool that I thought I would pass along :

All that being said, I have to say I am cheering on my Steelers to go all the way.

Now playing: Toad The Wet Sprocket - Walk On The Ocean



> Read More... | Digg This!

published by scottdensmore on 2005-12-07 22:19:46 in the "Enterprise LibraryPersonal" category
Scott Densmore

Now that I have finally finished working on the Design Time Tool (for the last time) and Enterprise Library 2.0 is near the finish line. I can let the cat out of the bag.

What a long strange trip it has been.  It is hard to believe that almost 3 years ago (January 6th), I started back at Microsoft and this small little group I had never heard of called patterns & practices.  3 years ago J.D. Meier e-mailed me and asked me to come do an interview.  Believe it or not, I was the second developer they hired as a full time employee (FTE) (most development was done with MCS).  It has been amazing to see the growth of this business and it’s following.  Alas, it is time to move on.

When I first got here, I started working on small projects like the first Logging Block, Authorization and Profile, and a *research* project that would help integrate our deliverables into the developer environment (now known as GAT).  That first year went by fast and led me straight in the middle of this small little project known as Enterprise Library.  For the past 2 years, I have really enjoyed seeing the uptake by the community and helping everyone out.  I am passing on the torch of dev lead to Brian Button.  He will take very good care of you.  And lets not forget Tom and Ed

Where am I going?  Well if I tell you I would have to kill you, but it is going to be really cool.  I will still post random thoughts about technology etc and preach p&p.  I just want to thank Gary for giving me the chance.

Along the way I have met and worked with some amazing people.  For those who I forget, I apologize up front. (I feel like I am at some awards ceremony and like an awards ceremony, the comments will not make sense to most).
Jim Newkirk – the players coach
Brian Button – never gets angry or forgets his robe and sandles
Peter Provost – my little prodigy
Brad Wilson – we are to much alike music man
Tom Hollander – community bulldog
Jason Hogg – who needs a car in New York (that is why you ran out of gas)
J.D. Meier – dragon whip tail
Edjez – boy I wish I knew some spanish / polish
Darrell Snow – yes I am a prima donna
The rest of the team


tshak – the kid
olaf – the other kid

Kzu – system.componentmodel can solve everything
fds – DI guy
All those guys at Clarius – automate your life

And last but not least, the management team at patterns & practices.

Now playing: Queens Of The Stone Age - Song For The Deaf



> Read More... | Digg This!

published by scottdensmore on 2005-12-06 13:17:04 in the "Enterprise Library" category
Scott Densmore

For all of those who wanted the tool because they hate figuring out the schema for the xml, here is a pretty solid preview.  We have really been hard at work to finish this off.  Don’t blame Olaf, most of it is my fault.  I wanted to make things a bit easier to add your own design time nodes.  Go and download it here.

Now playing: Adam & The Ants - Stand And Deliver



> Read More... | Digg This!

published by scottdensmore on 2005-12-06 13:13:32 in the "Enterprise Library" category
Scott Densmore

As Tom and Ed have pointed out, there are some major changes to the core architecture of Enterprise Library 2.0.  Join Tom and I to talk about our integration of object builder, Configuration Sources, and the new (kinda) design time for all the blocks.  This will be the last time you get to here my annoying voice (more on that later). Sign up here.

Now playing: Alien Ant Farm - Quite



> Read More... | Digg This!

published by scottdensmore on 2005-11-08 19:13:10 in the "Enterprise Library" category
Scott Densmore

We have done it again.  Another drop another configuration change.  You can read the marketing mojo from Tom. Read the MSDN announcement and download it here.  All feedback welcome. 

Now playing: Joe Satriani - Surfing With The Alien



> Read More... | Digg This!

published by scottdensmore on 2005-10-25 19:07:54 in the "Enterprise Library" category
Scott Densmore

Ever wanted to work with some of the greatest minds on some great software?  Well throw your hat in the ring and give it a try.  We are hiring.  The full job description is here.

Now playing: Green Day - American Idiot



> Read More... | Digg This!

published by scottdensmore on 2005-10-10 11:34:21 in the "Enterprise Librarypatterns & practices" category
Scott Densmore

The team has been driving hard to get this to you.  I would definetly download it and start playing with it.  We (Enterprise Library) are going to be using the cool DI code in our project (yes everything you learned for the August CTP is useless now ).  Take a look at the Object Builder code from Brad and Peter.

Read both Brad’s and Peter’s blog for great info.

Get the life changer at http://codegallery.gotdotnet.com/cab.



> Read More... | Digg This!

published by scottdensmore on 2005-09-09 14:16:37 in the "Enterprise Library" category
Scott Densmore

I was debugging a app from our product support team where a customer’s ASP.Net app was hanging.  The way we solved their problem was by putting the application name in their web.conifg. This is a little known feature (aka undocumented) that can cause you some pain.  If you are seeing this problem you will need to add a key in your appSettings of your config file named Microsoft.Practices.EnterpriseLibrary.Configuration.ConfigurationManager.ApplicationName and you should be good.  You can put any name you want and when you get messages in the Event Log you will get that name as the name of the application.  The offending code can be found in the file PerformanceCounterInstances.cs in the project Common at line 81.

No interestingly enough , someone just posted the same thing plus a little more on the GDN site here.  This is a good read and I congratulate them for being so thorough.

Now playing: Garbage - Wicked Ways



> Read More... | Digg This!

published by scottdensmore on 2005-08-31 12:53:21 in the "Enterprise LibraryTechnology" category
Scott Densmore

The patterns & practices Architecture Testing Guide is designed to help project stakeholders, software designers, developers, and testers understand the process of testing software architecture before the code is implemented. The paper describes an approach and methodology for testing the design of a system, and describes the user-specific viewpoints that you must consider during the testing process. The Architecture Testing Guide walks through the process of testing a system from each viewpoint, and provides instructions, examples, and best practices along the way. A draft version of the paper is for download here.

You can download it from GDN.



> Read More... | Digg This!

published by scottdensmore on 2005-08-27 02:53:26 in the "Enterprise Library" category
Scott Densmore

I am sure I am a little late to the party, but we have worked hard and here it is.  We really want your feedback, so go get it.

A big thanks to the whole team for getting this out!  Have fun while giving it a spin.



> Read More... | Digg This!

published by scottdensmore on 2005-08-16 11:01:58 in the "Enterprise Library" category
Scott Densmore

You knew it was coming. Configuration again.  This time around it was fun because I got to work with Fernando.  I have been bugging him about getting a blog and now that he has one, I thought I would let him write the first post on the new Configuration and Dependency Injection overview in Enterprise Library 2.0.  Then he and I will start drilling down on the topics in the overview.  Think of it as on-line hands on labs .   I will try to focus on how you can upgrade / relate this to V1.x, because it is very similar.  We wanted to get some information out there for the August CTP.

One of the best things about working at Microsoft is working with smart people, especially those people out in the world that are our customers.  There are a lot of them at Clarius

I am completely stoked about the new version!  Get ready for a lot more. Be nice to Fernando he is new.

Update : If you can’t get to Fernando’s site the post is here now.

Now playing: Iron Maiden - Bring Your Daughter...To the Slaughter



> Read More... | Digg This!

published by scottdensmore on 2005-08-14 22:43:29 in the "Enterprise Library" category
Scott Densmore

Via TSHAK : two new cool posts.  One is going to be a series on 1.x.

Now playing: Dokken - It's Not Love



> Read More... | Digg This!

published by scottdensmore on 2005-08-14 00:10:08 in the "Enterprise Library" category
Scott Densmore

I am sure everyone is getting anxious, and I am definitely getting excited.  Tom covers what you will see in the soon to be released preview of Enterprise Library 2.0.  We have been rolling right along and making progress to get aligned with the new platform.  Check it out here.

Thanks Tom!

Now playing: Rusted Root - Ecstasy



> Read More... | Digg This!