Well, since I've started my new company , I've went from knowing squat about Remoting to being able to hold my own with it. We have some extremely kick a33 people there and a lot of what I've worked with is part of existing framewors, but screw it, if I'm using it I'm going to understand what I'm doing and Remoting was pretty much the weak spot for me. That was four weeks ago. Now, while i won't profess to be the man by any means, I'm not the least bit intimidated of it and actually find myself increasingly starting to really like it. It's really an amazing technology. So I picked up Ingo Rammer's Advanced .NET Remoting in VB .NET book and it's beyond words. That dude is just one seriously impressive individual. I was pretty comfortable w/ Remoting when I bought the book but figured it'd be a necessary reference. BS! If you are doing any sort of enterprise development - it's a must have. I have more than a few enterprise books but since this is dedicated to Remoting, Advanced Remoting, well, I have yet to come across something that comes close to it. Anyway, the one thing that I just don't get is Client Activated Objects. Totally don't get them. And no, it's not because I'm lazy and don't want to manage my leases - I just really don't get them.
If you've done much with Remoting, please chime in on this because they have to be good for something, I just sure as hell don't see it. Now, as far as Ingo's book goes, it had a really cool angle. He didn't cater to just the 'hands on' guys or the 'theory' guys, he actually broke the book up into two parts, one for each. I like this because if you don't understand why you're doing something, it's EXTREMELY Likely (see 'just about 100%') that you'll write crap that you'll rewrite later and wish you could destroy every trace of. If you get only into theory you will be really obnoxious, people won't like you and you'll probably have a lot of really stupid ideas - why? Well, because if you just sit around all day and preach about how your approach is the most object oriented thing on planet earth but don't code much, well the flaws of your designing skills probably won't become readily evident to you. (I guess this is a sore spot with me b/c not too long ago, I had someone get really haugty with me over a collection I wrote. Before this point, this person used only non - strongly typed collections. So I had one that implemented IEnumerable. So now all of a sudden this person became collection superarchitect and implemented one with CollectionBase and pointed out how 'flawed' my collection was simply because it didn't use Inheritance ergo it was “Less Object Oriented”) - but I digress.
So anyway, I'm convinced that for performance and security, not to even touch keeping it real, Remoting is where it's at for a lot of places. Actually, I can't really believe I lived without it for this long (although WS can do a buttload of stuff for you).
Then there's my other new favorite thing, MSMQ. Well, MSMQ has been one of my favorites for a while but I didn't really get to use it. Currently, I'm working on a piece of the project w/ Biztalk, Remoting, MSMQ and WSE 2.0 - it's sooo kick ass I can hardly describe it. I was at work until 7:00 on Friday just totally oblivious to the fact that it was 7:00 and I was supposed to be home already. I'll be writing a hell of a lot more about each inthe next few days b/c I'm just totally digging them, and if you are interested in Remoting, I promise you, get Ingo's book. The low level details that he provides, coupled with the examples will make the whole process A LOT Easier.