Enterprise Library Should Be Optional in WCSF v2.0

Topics: Web Client Software Factory
Jun 6, 2007 at 6:04 PM
I mentioned this the other day in a blog post:

Enterprise Library Should Be An Option in Web Client Software Factory v2.0

Although I am a fan of Enterprise Library, it is not always appropriate for every application and there is a large subset of .NET developers who choose not to use it in their web applications. Although the Composite Web Application Block and Page Flow Application Block do not have a dependency on EntLib, the guidance packages, recipes, and configuration files do have a dependency, making it difficult to separate out Enterprise Library from the application.

I, personally, think it would be more appropriate to give the developer the option of Enterprise Library Integration. This would have several wonderful benefits:

1) Attract a larger number of developers.
2) Create better separation of responsibilities within the the WCSF.
3) Breathe more like into the WCSFContrib Project to alternative EntLib solutions.
4) Clean up perceptions about P&P Solutions being heavy and complicated.

This isn't to say that you don't take advantage of EntLib 3.1 in the new features of v2.0. This is a big demand. It is just that you provide a path for people who do not need or haven't been convinced of Enterprise Library's benefits.

Even developers who only use Enterprise Library will see a huge benefit from this feature as you will see more community support, development activity around contributions, more wide spread adoption, and opportunities to see and explore other solutions and ways of thinking.

This would be a huge win for P&P and this development community.

You can vote on this:

http://www.codeplex.com/websf/WorkItem/View.aspx?WorkItemId=10815

Regards,

Dave

________________________________

David Hayden
Microsoft MVP C#
Jun 6, 2007 at 8:55 PM
I don't know if i agree with you on this, David.

If you make a provider/adapter-model to integrate Entlib into the WCSF, i believe the solution will be more complex.

I have already the trouble of convincing my coworkers to start using this complex dinosaur of an "simpel" framework. They dont think that this factory will simplefy the development of complex webpages with lots of controls in it. WCSF hasnt the edge to be a enterprice-tool in the eyes of my coworkers with leading roles in the development of one of our applications.

But I will vote for your suggestion.

My favourite wish is a module for changing the configuration in a page instead of using the Entlib Tool. And having the configuration reside in a database instead of the web.config.

Regards

Benny
Jun 6, 2007 at 11:01 PM
We do not want a provider model for EntLib integration into the WCSF.

I theoretically want to replace the first screen when creating a solution from Where are the Enterprise Library Assemblies? to Do you want Enterprise Library Integration?

If you say yes, then it takes you down one path and, if no, another path.

If you choose Enterprise Library integration, it essentially doesn't give us anything different than what we have today and additional EntLib features to come in v2.0. If you don't want Enterprise Library integration, the initial guidance packages, recipes, and configuration file do not have any thoughts of Enterprise Library.

This is important because the WCSF has a larger target audience than Enterprise Library. Many people will dismiss WCSF just because it ships with EntLib, and EntLib is not appropriate for all applications.

There are many, many developers that might use WCSF with say log4net and Subsonic. EntLib is overkill, but WCSF is not. If we pidgeon-hole them into an Enterprise Library solution we have lost them forever and we all lose.

Regards,

Dave

_______________________________

David Hayden
Microsoft MVP C#
Jun 7, 2007 at 7:22 AM
Now I'm on track. And geting your point.

Regards

Benny

BTW:
I would like to see a providermodell for logging to encapslute the use of Entlib logging or log4net logging.
Jun 13, 2007 at 6:50 PM
Yes configuration in web page with database as store instead of web.cofig will have my vote too.