Posted By: footballism | May 8th, 2007 @ 7:40 PM
page 1 of 2
Comments: 25 | Views: 8491
footballism
footballism
Another Paradigm Shift!
   Recently, I am tied up learning the nuts and bolts of WCF, and when coming cross the channel model in WCF, I am a bit getting stunned by the complexity and over-architecturing of it, the following diagram shows what I am talking about:


For the original picture, you can refer to:
http://msdn2.microsoft.com/en-us/library/ms729840.aspx
     So is WCF overarchitectured? from a pure developer's perspective, I just cannot get into the architecutural decision those guys make.
   Comment?

Sheva
Yggdrasil
Yggdrasil
Pour me a cab, 'cause I can't drink no more.
I felt the same way originally. Things that made no sense, overuse of generics and all sorts of "Why didn't they just slap an interface and get it over with!" moments.

Then I started reading Dr. Nick.

Nicholas Allen is a PM on the WCF team, and is blog is the bible for WCF internals. He's written over two hundred  posts in the last couple of years explaining the whys and there wheres, giving a glimpse into the internals, focusing on security, or the binding model, or whatnot. He even responds to questions - both those sent directly to his blog, and as a reply to my own blog when I raised some issues I had with the way things are built.

In short, Nicholas Allen's blog is a must read for any WCF developer, especially if you want to get down and dirty. Heartily, heartily recomended:

http://blogs.msdn.com/drnick/
Yggdrasil
Yggdrasil
Pour me a cab, 'cause I can't drink no more.
footballism wrote:
   Thanks, Yggdrasil, but the problem is that the company which I work doesn't allow us to read blogs and wikis, so do you have any other non-blog resources?


Is there a difference between Nicholas Allen's blog and, say, an article on MSDN Magazine written by Nicholas Allen? Even if it's just a re-edit of a blog post?

And what if his entire blog was dumped into a PDF, would that constitute an e-book?
That's pretty draconian. Is this because you're based in China or is your employer just that big of a stickler for not "wasting" time?
harumscarum
harumscarum
out of memory
    I was in a training class a couple weeks ago and they spent a day on WCF. To be honest I was overwhelmed. I think it is going to take a while to pick this up.
That diagram is NOT complicated.  Half of what's there is interfaces.  I mean heck, look at List<T>'s class diagram and you'll have 10 boxes, and I certainly hope you don't consider that to be complicated.

I'm not saying WCF is a cake walk.  It's a complex system.  But I don't consider it over-architected just because it's complex, and I certainly can't see any complexity in the diagram you posted.
Yggdrasil
Yggdrasil
Pour me a cab, 'cause I can't drink no more.
footballism wrote:
   Well, they just simply forbid us from posting anything related to coporate secracy to the web, but Channel9 is an exception


Well, reading blogs is, by default, a pretty one-sided thing. You read, you don't have to post anything. It's just a set of articles.

The reason I asked about the MSDN article was to understand the limitation, not because he had a specific article published. Though he should. And plenty.
Basically, I think he should take his collected writing, edit it for consistency and publish it as "WCF Internals".

To get back to the question, Yes, it's overarchitected.  Remember the beautify of marshalling data with simple web services?  I guess that's gone.

stevo_
stevo_
Human after all
Not at all, I find theres confusion with thinking a product is bad because you're not yet able to understand it.. WCF is a big product, but thankfully, most of that is there to let you do little.. and I think writing services in WCF is pretty self explanatory..

That diagram doesn't seem that bad actually.  Just take your time learning WCF, and you'll be fine.

blowdart
blowdart
Peek-a-boo
Well most of my day to day work is with WCF. And there are times I hate it; parts of it are really silly (implementing IDisposable on channels when it won't work if the channel is faulted; throwing exceptions from custom authenticators to indicate an authentication failure), the complexity for custom behaviours; the 1.3Mb config files (ok that's an exaggeration).

I think what scares people about WCF is there is usually 3 different ways to do things and no-where does anyone say "This is the one true way, for reason X, Y & Z"
BlackTiger
BlackTiger
If you stumbled and fell down, it doesn't mean yet, that you're going in the wrong direction.

I just cannot get into the architecutural decision those guys make.

 
I cannot get into WCF at all... It extremely and unnecessary complicated and too far from developers in terms of "programming".
 
PS:
Interesting, how anybody can restrict to READ?!
What will happen? Something like:
- Where did you read it?
- Err, some blog...
- FORGET IT! IT'S LIE! YOU'RE FIRED!

Big Smile Big Smile Big Smile Eah, China, China...
BlackTiger
BlackTiger
If you stumbled and fell down, it doesn't mean yet, that you're going in the wrong direction.
I think your post about "they don't allow us to read..." just increases amount of lie about China... You're still getting your employer's policy wrong. They don't allow to post "commercial secrets". Nobody bans your to post, to ask questions and read answers, nobody bans you from learning from other persons.
Sabot
Sabot
My name is Dave Oliver. I'm a Technical Architect.
... in a word ... NO!

I got into WCF when it was Indigo (still love the name, should have kept it) ... WCF is about ...

1) Very high levels of abstract
2) Really does mean that you literally don't write hundreds of lines less of comms code

But many developers don't like handing over control, it's a mindset thing, take deep breaths and work on through for a few months, then go and write a WS* Security or WS* Transaction routine using WSE again, trust me, you will be running back to WCF. Higher levels of abstraction in computing is evolution, unless you want to go back to machine code ---get over it and yourselves!

I think you get WCF if you did a lot of nuts and bots COM+ coding, some parts of it show very similar thinking. The killer reason for me to continue using WCF is compatibility, I can get at Java servers much easier with WCF than I ever did with WSE.

And the last flame-bait statement ... I think you'll get WCF better if you did VB6 and weren't a control freak! Ooooo, I'm ready to burn in hell :o)


Yggdrasil
Yggdrasil
Pour me a cab, 'cause I can't drink no more.
I'm with you here, both on the WCF angle and on the more general I-must-control-every-CPU-cycle-in-my-code mentality.
Yes, there are bugs and unoptimized implentations, in WCF and in .NET in general. But these cases are few and far between compared to the literally millions of man-hours saved in wheel reinvention.
BlackTiger
BlackTiger
If you stumbled and fell down, it doesn't mean yet, that you're going in the wrong direction.
I will not argue with you. As I said before, I can't get into WCF.
Perhaps I need a good "WCF guru" to teach me, open my eyes and show the way and "The Powers of WCF". Smiley
WCF-related books/articles don't work for me at all, I don't know why. I can read  them, but loosing meaning, just a set of words.
I've tried several times.
vesuvius
vesuvius
Das Glasperlenspiel
Are you focussed on Web or Client development? I believe it is so easy to use, I could teach my grandmother WCF. Let me know and I may create a screen-cast or tow for littleguru's competition.

Only problem is the myriad of settings, and un-cohesiveness, but if you know .NET well and the base class library, it's more an extension than something new (like WWF). That is like Greek to me.
Sabot
Sabot
My name is Dave Oliver. I'm a Technical Architect.
Here you go BlackTiger ... Arron Skonnard outstanding article on the ABC's of WCF

... it's not comprehensive enough for some but it gets you started and you head around the main points. Worth through the example re-write them for your own context and suddenly it all comes clear. The learning curve is alot more than other technologies but get over it, it's not pretty like Windows Forms or dubF.

The satisfaction comes when you realise how much code you could have  written whilst you're in the pub and not at your keyboard and the work is done. Yes the driver to master WCF is you can drink more beer!
harumscarum
harumscarum
out of memory
Yes the driver to master WCF is you can drink more beer!

Sold!
Sabot
Sabot
My name is Dave Oliver. I'm a Technical Architect.

Yep the Mantra of the VB6 Dev ...

We would rather be in the pub than coding after 5:30
We would rather get a semi over some good looking yummy, than good looking code.
Code to Live != Live to Code

Funny thing is that I think that VB6 successor finally appeared in VB.Net 3.5 and VS2008.

DCMonkey
DCMonkey
Monkey see, monkey do, monkey will destroy you!
"We would rather get a semi over some good looking yummy"

I'm going to assume that phrase isn't as dirty as I read it.

Nevermind. Apparently it was. Thank you Urban Dicionary Smiley
page 1 of 2
Comments: 25 | Views: 8491
Microsoft Communities