Enterprise Library and the Future of Service Locator
Enterprise Library for .NET 2.0 has finally been released! This new release contains a lot of breaking changes from the former version; there are many good reasons for this, such as new features of .NET 2.0 which supercede some of the features of Enterprise Library for .NET 1.1, but this also impacts my Service Locator Enterprise Library Application Block. The current version (1.1) obviously also runs on the .NET 2.0 Framework, but since it integrates with Enterprise Library for .NET 1.1, it's not compatible with Enterprise Library for .NET 2.0.
As I still think there's a real need for the Service Locator Application Block (I know I need it!), I'm currently working on a new version. Just like Enterprise Library for .NET 2.0, it's an entirely new code base - the new version of Enterprise Library has a new internal model for creating objects (called Object Builder), and I saw some advantages of leveraging this framework instead of modfying the old version of Service Locator. The new version will support the same scenarios, plus a few new ones, but the API will be a bit different: For once, it now (obviously) uses generics.
Currently, I have a pretty decent beta version on my laptop. What remains to be done before it can be released?
- There are some API changes I want to implement before development finishes. This mostly concerns how Service Locator is configured, and the changes all aim to simplify how this is done. It turns out that I had made the configuration model overly complex, so now I'm making it simple again. Ease of use is a major goal for me.
- Instrumentation. I haven't completely thought this through yet, but I imagine that it might be useful if Service Locator provides performance counters and events whenever it creates an instance of a service.
- QuickStarts. This version of Service Locator addresses two different modes of use, and I plan to provide a QuickStart for each.
- Documentation. Although I'm going to be blogging about Service Locator, the documentation must be good enough to allow the Application Block to stand alone.
As you can see, there's a lot more to creating a full-fledged Application Block than just writing the code. Since this is a semi-hobby project of mine (although something I take quite seriously), I can't guarantee when I'll be able to release the new version, but I hope it will be within the next couple of months.
Comments
- Anonymous
May 21, 2006
Any news for the new release of Service Locator for EntLib V2? - Anonymous
May 22, 2006
It's code complete, but I'm currently working on creating the documentation, sample code, etc. Unfortunately, other (paid) work keeps interfering, but I hope to be able to release Service Locator 2 within a few months. - Anonymous
July 12, 2006
As the "Service Locator 2" is code complete with API documentation, it is possible have a preview version without the QuickStart and the MSI package?
I'm a user of the "Service Locator 1" and I wanted to start the migration to "Enterprise Library 2" and therefore "Service Locator 2". - Anonymous
July 12, 2006
The comment has been removed - Anonymous
July 24, 2006
I'm sure I'm not the only one itching for this application block. Any possible date for the final drop? - Anonymous
July 31, 2006
Hi D-Man
Sorry about the late reply, but I was on vacation and just came home this Sunday.
The Service Locator Code Gallery at http://codegallery.gotdotnet.com/servicelocator is a good place to go for news and updates about Service Locator 2. Particularly, this post: http://www.gotdotnet.com/codegallery/news/newsitem.aspx?id=ff00b1a1-64cd-4552-989d-7a6e82617303&newsId=6530d725-4aaa-4422-9484-5f02c27c044b should give you an idea about any possible release date.
Additionally, this post: http://www.gotdotnet.com/codegallery/news/newsitem.aspx?id=ff00b1a1-64cd-4552-989d-7a6e82617303&newsId=dc08b1dc-1108-4ddc-9be9-09a0fade1409 describes how you can get a tecnology preview.
I hope this answers your question - obviously, you seem to have hoped for "Tomorrow", so I'm sorry to disappoint you there.