Enterprise Library

Posts   
 
    
Devildog74
User
Posts: 719
Joined: 04-Feb-2004
# Posted on: 15-Feb-2005 21:38:56   

Has anyone looked at the enterprise library tool yet and implemented any application blocks? Some of the stuff looks pretty cool and it should make custom application configuration more manageable for enterprise level projects.

Here is the link: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnpag2/html/entlib.asp

Otis avatar
Otis
LLBLGen Pro Team
Posts: 39801
Joined: 17-Aug-2003
# Posted on: 15-Feb-2005 22:38:33   

I looked at the data access block.

Well, what can I say... the code required to get access to the database looked teh same as the VB6 DAL code I wrote for years to access procs. As a fellow MVP said: "It has the same overhead as ADO.NET, only with different statements".

I haven't looked further into the other blocks, though I did try out the config tool. Which felt and acted like an application which was written by a first-year consultant who learned programming a week before the assignment. So poorly written, I can't describe it.

The data access block is so incredibly stupid, a big layer of overhead code and you end up defining parameters and procs anyway. I.e.: you win nothing.

Horrible software, no other words for it.

(edit). I'd like to add that this 'enterprise' library is really a big joke. MS should come up with a solid framework with a solid standarized api which can offer the functionality JBoss and friends can offer TODAY.

Instead, MS hires one of the biggest overpaid consultants on the planet to re-write one of the largest over-hyped crap code ever created (MS' application blocks) and it's not good.

Sorry if I offend anybody with this, but I have to say it. Anyone who ever looked at the configuration block or the exception block? It's so utterly complex and silly, you almost have to read a thick book to understand something which takes 50 lines of code in most applications. Sorry, but then you really don't get what 'patterns' are.

Frans Bouma | Lead developer LLBLGen Pro
cmartinbot
User
Posts: 147
Joined: 08-Jan-2004
# Posted on: 15-Feb-2005 23:12:44   

I couldn't agree more Otie.

This is prime example of why the rest of the software world snickers at MS developers. MS is so new at this modern "OOP" stuff and they get it all wrong. I can just picture the manager on that team. "We need so and so <insert buzzword of the day here /> in our projects."

Well, they got three things right; C#, the CLR, and the .NET framework. One was from Mr. Delphi himself Anders Hejlsberg, the CLR is based on the OmniVM, and the framework is the MS version of Java (not the language).

I really like the .NET environment. I'll stop now wink

jeffreygg
User
Posts: 805
Joined: 26-Oct-2003
# Posted on: 16-Feb-2005 01:06:41   

I actually use the Exception Management Block. While I can't comment on the instrinsic beauty of this particular block, it does accomplish it's purpose and I have no complaint. One line publishing of your exceptions is a good thing as in "ExceptionManager.Publish(ex)". The pluggable architecture is nice as well, and I use it to do remote exception logging across the internet using web services, as well as the included event log functionality.

<Edit> Oops, I should mention that we implemented the Exception Management Block before they rewrote it and incorporated it into the Enterprise thingy they have today. Not sure if anything changed, but just figured I should mention it.

Jeff...

JimFoye avatar
JimFoye
User
Posts: 656
Joined: 22-Jun-2004
# Posted on: 16-Feb-2005 04:36:22   

These guys in Argentina who did some of the work on MBI (Microsoft Business Integrator) talked about application blocks, I remember very clearly that "configuration block" was one of the things I heard. I am trying to make some kind of comparison between this MBI and the CSLA framework so as to decide what I want them to use on my new project . Now according to them and also a guy at Microsoft Argentina that I exchanged emails with this MBI will become part of "Shadowfax", here are his words:

The evolution of MBI is going to be around shadowfax or EDRA as it is know nowadays. Strictly speaking, EDRA is a major rewrite done by PAG groups with support from [name deleted by me] and other companies. I really don’t know how it is going to be respect the future.

As far as I use MBI, it is a framework that enables to do business applications based in past best practices

I doubt this helps anyone because it didn't really help me.

Otis avatar
Otis
LLBLGen Pro Team
Posts: 39801
Joined: 17-Aug-2003
# Posted on: 16-Feb-2005 09:15:51   

jeffreygg wrote:

I actually use the Exception Management Block. While I can't comment on the instrinsic beauty of this particular block, it does accomplish it's purpose and I have no complaint. One line publishing of your exceptions is a good thing as in "ExceptionManager.Publish(ex)". The pluggable architecture is nice as well, and I use it to do remote exception logging across the internet using web services, as well as the included event log functionality.

<Edit> Oops, I should mention that we implemented the Exception Management Block before they rewrote it and incorporated it into the Enterprise thingy they have today. Not sure if anything changed, but just figured I should mention it. Jeff...

Well, the exception block wasn't the worst of the available blocks (but also not that necessary). The configuration block was however.. if you ever want a good laugh about how to overengineer something so simple, have a look wink

Frans Bouma | Lead developer LLBLGen Pro
Otis avatar
Otis
LLBLGen Pro Team
Posts: 39801
Joined: 17-Aug-2003
# Posted on: 16-Feb-2005 09:17:47   

JimFoye wrote:

These guys in Argentina who did some of the work on MBI (Microsoft Business Integrator) talked about application blocks, I remember very clearly that "configuration block" was one of the things I heard. I am trying to make some kind of comparison between this MBI and the CSLA framework so as to decide what I want them to use on my new project . Now according to them and also a guy at Microsoft Argentina that I exchanged emails with this MBI will become part of "Shadowfax", here are his words:

The evolution of MBI is going to be around shadowfax or EDRA as it is know nowadays. Strictly speaking, EDRA is a major rewrite done by PAG groups with support from [name deleted by me] and other companies. I really don’t know how it is going to be respect the future.

As far as I use MBI, it is a framework that enables to do business applications based in past best practices

I doubt this helps anyone because it didn't really help me.

I always wonder what these 'best practises' are. If I look at the enterprise library, it has to be full of these best practises but I can't find them or what's worse: the explanation why they are best practises.

I really wonder what MBI will be, with MBF on the horizon as well (ok, that's a bit delayed now) I did hear about shadowfax but what it really is I can't remember...

Frans Bouma | Lead developer LLBLGen Pro
JimFoye avatar
JimFoye
User
Posts: 656
Joined: 22-Jun-2004
# Posted on: 16-Feb-2005 14:30:06   

OK, here we go. Shadowfax was just the code name for this stuff, apparently.

http://support.microsoft.com/default.aspx?scid=kb;en-us;872836

It's interesting that this also talks about a "The Global Bank Reference Implementation (GBRI)" because MBI was used for several bank applications. Maybe this was lifted from one of them.

JimFoye avatar
JimFoye
User
Posts: 656
Joined: 22-Jun-2004
# Posted on: 16-Feb-2005 14:43:25   

Ha ha....now read this very carefully (italics are mine) (from gotdotnet link

EDRA helps standardize the internal architecture of a distributed application. The particular challenges it addresses are relevant on today’s platform, however may not be as relevant in future technologies. Therefore, _EDRA 1.1 is the final release of the Global Bank Reference built on top of the .NET Framework 1.1. _The source code will remain available for the community to use; however, there will be no additional releases from this code base. Stay tuned for more information early next year as the PAG team begins a project to take on the latest distributed design challenges using Microsoft’s BizTalk and "Indigo" technologies.

frowning

So if, like me, you didn't have time to learn EDRA, don't worry, it's time to move on anyway? You need to learn Indigo (whatever that is) and get a copy of Biztalk server?

This is what I love about our business. If you don't want to learn the latest hot thing, just sit it out, because it will become obsolete anyway.

Devildog74
User
Posts: 719
Joined: 04-Feb-2004
# Posted on: 16-Feb-2005 18:40:42   

I agree with Frans on the data access block, I cant stand it and dont reccomend it unless you like a very tight coupling your business services and data services interfaces.

In regards to the configuration block, once you do learn it, it is very valuable (IMO). IMO, the biggest value to the configuration block is using xml to create object that drive the way my applications work. The configuration tool, is a bit complex, but it is very flexible and extensibile, once again my opinion. The biggest asset to the configurtaion tool, is that once you write an application block, you can simply extend what you have written to create other blocks, and now developers and administrators can simply use the tool to configure apps and services.

I looked at the Exception & Logging block before it was re-written in the Enterprise Library. I opted not to use either of them and went with the EIF, which IMO does much more for tracing and logging especially with respect to tracing events and methods across process boundaries.

I think the reason that they can get away with calling it an Enterprise Library is simply due to the fact that most of the application blocks can be accessed and leveraged from any of the services tiers in an application, i.e. the Presentation Layer, Business Services Layer, and Data Services layer can all use a "standardized" framework, i.e. Enterprise Library.

In regards to some of the basic design/architecture patterns that you will find in the source code of the application blocks are support for localization, custom attribute useage, abstract factory patters, provider patterns, a way to implement runtime plugins using reflection, interfaces, and custom attributes, etc. etc. etc. So there really is alot of the basic every day patterns being used together as well.

But back to the point Frans was making, the internal code written is a bit OTT (which is expected from Microsoft) and is not simple, but flexibility doesnt always = simple code or less code.

Otis avatar
Otis
LLBLGen Pro Team
Posts: 39801
Joined: 17-Aug-2003
# Posted on: 16-Feb-2005 19:12:57   

Jim: whoaaa... frowning

I also wonder what drives MS to make all these fragmented frameworks, as if they're try-outs for their own tools to see if they work...

Devildog: I see your point, however what I tried to say (in a harsh way wink ) is that when you want to supply a framework to developers, the framework should be simpler to use than the goods it replaces, so if you need configuration in your own application, you have a couple of options, one is the configuration block, another is writing your own. IMHO it is often the case that the developer is better of with own code, as it is probably less code, and because he wrote it, understandable, and much less complex.

I like some of the ideas behind it, what I don't understand is the way they implemented it. (and again, a missed chance for a great solid framework which offers JBoss quality functionality).

Frans Bouma | Lead developer LLBLGen Pro
Posts: 497
Joined: 08-Apr-2004
# Posted on: 20-Feb-2005 18:32:57   

We use the exception handling block, and I must say in its defense that it does the job for us, and wasn't a pain to setup. That was midle of last year - looking at the website it doesn't look like they've changed anything, just bundled all the application blocks together into the "enterprise library". The configuration block was the opposite, it seemed way OTT for a simple configuration setup.

You're bang on otis about them missing the point. They could have done something really special here that sets a standard for enterprise applications, and provides real best practices in code and implementation. Instead they over-complicate, over-enginner, and confuse everyone with buzzword waffle on the web site. Why can't MS straight-talk about their technologies. What they need is someone like Joel Spolsky (www.joelonsoftware.com) to write the developer documentation for things like patterns and practices and sort it out!

JimFoye avatar
JimFoye
User
Posts: 656
Joined: 22-Jun-2004
# Posted on: 20-Feb-2005 18:49:21   

They're just too bloody big. I thank God (but not really, because I'm an athiest), that they seem to have mostly gotten .NET right. I really like C#. But I curse them every day for so much other bull****.

The recent incarnation of the clipboard is my favorite Microsoft abortion. I am writing a message to post to a forum somewhere. It's in HTML (Frans - I don't have this problem with your forum software, so good job!!). I need to paste in a code sample from Visual Studio. Yuck! It comes in looking totally bizarre, in some tiny font. What happened? So I paste it first to a scrap document in Codewright, then copy from there and paste. How ridiculous. Isn't the point of the clipboard to save time?

Yesterday I wanted to paste in a screenshot. Oops....I installed Office 2003 and there's no Photo Editor! Remember "Paste as new image"? But now they have a free download, PhotoStory. OK, I'll download that. Oh, I need my Windows product key. Where is it? On the side of my monster workstation on the floor. Can't read it...get flashlight, write it down...install new ActiveX control (oh good!) and then enter the friggin 25 character key. I'm validated! Download free software...oops, it's not a replacement for Photo Editor at all! It's for creating photo albums!

So, I copy my screenshot into Word. Wait...what am I doing? I need some kind of photo software, so I will just break down and buy something. I buy Paint Shop Pro. Oohhh....it even has that "Paste as new image" option! I love it! Go back to Word and select my screenshot, copy it to Clipboard. Then close Word. I then receive what has to be the stupidest message yet ever from a Microsoft application:

"Do you want to keep the information you copied into the clipboard for use by other applications?"

WTF???????????? Why the hell would I have copied into the clipboard if not?? What is the purpose of the clipboard anyway?????? What moron did they hire to write this crap???? rage

cmartinbot
User
Posts: 147
Joined: 08-Jan-2004
# Posted on: 21-Feb-2005 03:00:23   

LOL smile

Otis avatar
Otis
LLBLGen Pro Team
Posts: 39801
Joined: 17-Aug-2003
# Posted on: 21-Feb-2005 10:48:25   

Jim, this might ruin your day, but you could have used 'paint' as well wink . Simply open paint, paste into it, and save as jpg for example. WinXP also comes with some lame imaging toolkit which can save images if I'm not mistaken.

Though I agree completely about the clipboard crap. They also introduced multi-copy clipboard stuff in office, and I never find it useful or any situation in which it can be useful, having 10 tmp copies of some data, what to paste and how?

I always wonder who they ask for testing office. Every day I run outlook for example I run into silly things every beta-tester should have reported ages ago. For example there is no search/replace in the email editor. Even notepad can do that. (and I need it, as the lovely .NET mailer component replaces double quotes with " ... ). Having more than 1 mailbox. Apparently I'm the only person in the world having that, as in outlook there is just 1 mailbox. You can open more, but you just have 1 main mailbox. Outlook today can only view data of that one mailbox. (don't get me started on the dashboard 'development' stuff). Flagging items in a mailbox is also a nice thing: if you sort on flags (and why shouldn't you), and you flag completed items with 'complete', new items appear BELOW this list. Why can't I specify the sort order? Is that so hard to program? Apparently it is. I truly think that the beta-testers (which are large groups according to microsoft) of office are people who already find it magic that when they move that thingy with the funny clicky things on it from left to right some nice arrow also moves from left to right on that TV screen, or was it monitor, can't remember... As if it's magic, how did that arrow know it has to move in sync with the clicky thingy movement? Amazing.

Frans Bouma | Lead developer LLBLGen Pro
JimFoye avatar
JimFoye
User
Posts: 656
Joined: 22-Jun-2004
# Posted on: 21-Feb-2005 16:04:34   

Yeah, but pasting the image into Paint doesn't work exactly like Photo Editor. With the latter, it would create a new image of exactly the right dimensions. Paint creates a larger image and leaves you to figure how to crop it exactly right.

Ah, the multi-item clipboard. I didn't even get to that! Don't you love when you copy something to the clipboard and then the clipboard toolbar appears? I did a search on Google and found the registry entry that turns that off. But that was with Office 2000. Now I have a new installation of Office 2003, on a new machine, but I haven't seen the clipboard appear, so maybe they killed this "feature'?

Otis avatar
Otis
LLBLGen Pro Team
Posts: 39801
Joined: 17-Aug-2003
# Posted on: 21-Feb-2005 21:06:02   

JimFoye wrote:

Yeah, but pasting the image into Paint doesn't work exactly like Photo Editor. With the latter, it would create a new image of exactly the right dimensions. Paint creates a larger image and leaves you to figure how to crop it exactly right.

Ah ok, that's indeed a nightmare....

Ah, the multi-item clipboard. I didn't even get to that! Don't you love when you copy something to the clipboard and then the clipboard toolbar appears? I did a search on Google and found the registry entry that turns that off. But that was with Office 2000. Now I have a new installation of Office 2003, on a new machine, but I haven't seen the clipboard appear, so maybe they killed this "feature'?

Funny you mention it, I never see it anymore either! simple_smile . (not that I use office a lot, besides outlook, I use open office) But I'm sure it's not cut, I think they just made some quirky checkbox on those full option pages and disabled it by default wink

Frans Bouma | Lead developer LLBLGen Pro
Answer
User
Posts: 363
Joined: 28-Jun-2004
# Posted on: 24-Feb-2005 18:41:22   

You should try out Paint.NET, its free and its pretty good. I like it ALOT.

http://www.eecs.wsu.edu/paint.net/

Fred avatar
Fred
User
Posts: 21
Joined: 04-Mar-2005
# Posted on: 09-Mar-2005 20:24:54   

Jim, I love PSP too - my favorite image editor. For a truly useful, well-designed multiple clip utility, check out ClipCache. I've been using it for years and would hate to have to do without it - I use it many times daily.

http://www.xrayz.co.uk/clipcache/?page=default

JimFoye avatar
JimFoye
User
Posts: 656
Joined: 22-Jun-2004
# Posted on: 09-Mar-2005 21:23:20   

I'll check it out, thanks.

Cadmium avatar
Cadmium
User
Posts: 153
Joined: 19-Sep-2003
# Posted on: 09-Mar-2005 23:26:32   

I am going to use the new Logging Block in my current application. I was able to hack my own custom db sink from their db sink. It's basically the same except I capture the extended properties in a separate table so I can use it as 'metadata' to parse out for reports. Kinda ugy, but it works and wasn't to hard to develop.

I tried doing what I wanted with log4net, but it has it's own kind of ugliness, and the only thing it has over the entlib logging block is speed, which doesn't matter as much since my project is a web app simple_smile