Fervent Coder

Coding Towards Utopia...by Rob Reynolds
posts - 278 , comments - 431 , trackbacks - 0

My Links

News


Rob Reynolds

Subscribe to Fervent Coder RSS
Subscribe to Fervent Coder by Email

About Me

I manage several open source projects. Need...
   ...package management for Windows?
   ...automated builds?
   ...database change management (migrations)?
   ...your application to check email?
   ...a monitoring utility?

I also write for



Like what you are reading? Want to buy me a cup of coffee?
PayPal - The safer, easier way to pay online!

Article Categories

Archives

Post Categories

Sites

DevConnections - SOA - Michele Leroux Bustamante

My first session is a pre-conference workshop with Michele Leroux Bustamante.   She is one of the first people that was presenting on WCF back when it was beta, maybe before.  She has been talking about it for a long time and has even written a book on WCF.  Her session was really good and I highly recommend her to anyone because she is a great presenter and really knows her stuff (not to mention will dig into it).  Plus she is personable and you can ask her questions about items through email.

 

Little SOA - This is the idea of everything SOA except that you access across databases at the lowest level instead of having the service talk to another service.  I didn't like the idea of this, although for performance (for reports), this might have some relevancy.  Call me a purist, but I don't like when other applications have their hands into databases where they shouldn't.  I like being able to swap out my persistence layer without having to worry if I broke anything else than my application (which I can easily fix).  Other people's code should not have their hand in my cookie jar (data layer). :D

 

Use WCF Faults - This one has been biting us a bit.  Basically when you have a CLR Exception, you want to catch that and instead throw a FaultException.  CLR exceptions are considered critical and will fault the communications channel, which means you will need to create a new one.  When you throw a fault exception, it doesn't corrupt the communications channel.  So that is nice to know that you can pass back exceptions.

 

WCF communication - Michele recommends to cache the factory, but create a new channel every time.  Also for scalability not to throw everything into the same channel.  That means since we pipe most of our stuff through port 80 (wouldn't you know?), the recommendation is to get out of that model once you start getting a bunch of WCF services.

 

MTOM (Message Transmission Optimization Mechanism) - MessageEncoding in the binding.  The default is Text and it gets encoded in base64. So MTOM Definitely cool when you are passing binary data.  It gets rid of the base64 bloat.

 

There was plenty more that I didn't get to talk about here.  Mostly because it was just so much information in an all day session that my brain filled up, and part of it is that I want you to check out some of Michele's articles.

 

A quote that I really liked from Michele for when you are not allowing reentrancy into your code during a call: "Done. Like dinner."

Print | posted on Tuesday, November 6, 2007 1:15 AM | Filed Under [ WCF ]

Feedback

Comments are closed.
Comments have been closed on this topic.

Powered by: