Slashdot Mirror


Advanced .NET Remoting

TechGuy949 writes ".NET Remoting is a technology that is often overlooked due to Microsoft's intense focus on promoting XML Web Services technology. In actual fact, .NET remoting is often a more appropriate solution than Web Services, and it certainly performs better and scales better when used properly. Ingo Rammer has written a technically sound, very informative book on .NET remoting technology, which is a good thing, given that there are still far too few titles available on this important technology." Read on for the rest of TechGuy949's review of Advanced .NET Remoting. Update: 10/23 17:28 GMT by T : Please note: the reviewer writes for Apress (publisher of this book); book reviewers are encouraged to read the book review guidelines linked below, and to disclose any such relationship. I regret not knowing this before the review ran. Advanced .NET Remoting author Ingo Rammer pages 404 publisher APress rating 8 reviewer TechGuy949 ISBN 1590590252 summary A two-part overview of .NET Remoting, from intro to advanced material.

My Overview and Summary Advanced .NET Remoting breaks out into a two-part book. The first four chapters are at the introductory level, while later chapters are considerably more advanced. The book begins with an informative conceptual discussion on what .NET remoting technology is, but then quickly moves on to more specifics, entirely focused on generous code examples (which actually work, barring one or two stray lines here and there, which I found easy to correct).

I picked up this title needing to get a solid introduction to .NET remoting, and the first part of this book does not disappoint. If you stop reading after the first four chapters (after spending time working on each and every code example). you will feel like you have a solid grasp of the basics of .NET remoting. However, you need to delve into the second part of the book to realize that .NET remoting is a deep and complex topic that is going to require considerable effort on your part to understand.

The second part of the book is not for the faint-hearted. The complexity level ratchets up several notches, and holds nothing back. It delves into advanced topics such as .NET remoting internals, including message sinks, channel sinks, formatters, and transport protocols, and shows you how to customize each part. Ingo's goal is for you to really understand how the .NET Framework implements remoting. The discussion here often borders on the theoretical, but it always stays grounded in relevant code examples.

Intermediate to advanced developers will greatly appreciate this book if they are looking for an in-depth, no holds barred discussion of .NET remoting.

What's in the Book Chapters 1-4 are an introduction to .NET remoting and configuration. Ingo starts with a conceptual discussion to help you understand how .NET remoting fits into the larger picture. He then presents a remoting example that provides an excellent introduction to the core aspects of remoting, including different types of remoting objects; marshalling objects by reference; serializing objects; and using interfaces to share type information. Chapter 4, on configuration, shows you how to use configuration files to simplify your remoting code, and to make it easier to port across different deployment environments.

Chapter 5 is about securing .NET remoting. This chapter was disappointingly short and did not provide enough depth. Also, some security implementation features have changed in v1.1 of the framework, so this section is not the most relevant one in the book. To his credit, Ingo has published a 1.1 update on his website that specifically addresses relevant changes to security implementation in the .NET framework.

Chapter 6 is where things start to get advanced. This chapter discusses object lifetime issues, and shows you how to control the lifetime of remotable objects, through "leasing" and "sponsorship." It also shows you how to implement asynchronous remoting calls using delegates and events. Chapter 6 is a must-read.

Chapter 7-10 is where things get really advanced. These chapters shows you how the .NET framework implements remoting, and it studies the 5 elements of remoting in great depth (Proxies, Messages, Message Sinks, Formatters and Transport Channels). This chapter is packed, and is a must-read for understanding advanced .NET remoting issues, especially when you need to heavily customize the implementation. Intermediate developers will have a harder time with these chapters, and may not find all of the material relevant to a basic .NET remoting implementation.

Chapter 11 closes out the book with an interesting look at how to implement .NET remoting techniques in a client application in order to manage the objects more effectively. Again, intermediate developers will have difficulty with this chapter, which is the most theoretical in the book. Advanced developers will appreciate it however, especially with Ingo's lead-in warning that 100% of the material in the chapter is undocumented by Microsoft!

Table of Contents

  1. Introduction to Remoting
  2. .NET Remoting Basics
  3. Remoting in Action
  4. Configuration and Deployment
  5. Securing .NET Remoting
  6. In-Depth .NET Remoting
  7. Inside the Framework
  8. Creation of Sinks
  9. Extending .NET Remoting
  10. Developing a Transport Channel
  11. Context Matters

You can purchase Advanced .Net Remoting from bn.com. Slashdot welcomes readers' book reviews -- to see your own review here, read the book review guidelines, then visit the submission page.

118 of 171 comments (clear)

  1. Especially in the fog of marketese that is .NET... by Jim+Morash · · Score: 5, Funny

    ... would it have killed ya to explain what ".NET remoting" is, exactly?

    Jeez.

  2. .NET remoting? by Anonymous Coward · · Score: 5, Funny

    There are plenty of ways to "remotely access" a .NET system...too bad Microsoft keeps patching them away.

    1. Re:.NET remoting? by Assmasher · · Score: 2, Insightful

      Why am I not shocked that the *nix bent of this website (sadly) marked this as funny whereas if it was a joke about *nix it would have been marked 'troll' or 'irrelevant.' (As this post will surely be.)

      Zealots suck...

      --
      Loading...
  3. Equivalent in Java? by Anonymous Coward · · Score: 1, Informative

    Isn't this the same as Java RMI?

    1. Re:Equivalent in Java? by amightywind · · Score: 1
      Isn't this the same as Java RMI?

      Which itself is the same as C RPC?

      --
      an ill wind that blows no good
    2. Re:Equivalent in Java? by ProtonMotiveForce · · Score: 1

      Yes, it is very similar. .NET remoting is more advanced in a few areas. The big one is inter-language support. I can write, in about 10 minutes, a C++ client that can connect to a C# object and call methods on it over the network.

    3. Re:Equivalent in Java? by ProtonMotiveForce · · Score: 1

      Uhh, yeah... .NET is far easier to develop with than either. And I was referring to RMI. .NET remoting will get more features as time goes by, but right now it's very useable.

    4. Re:Equivalent in Java? by Trejkaz · · Score: 1

      Sort of. .NET's remoting works more like Java's AltRMI from what I've seen of it, i.e. less focus on specifying every method as throwing RemoteException and more focus on writing code which works..

      --
      Karma: It's all a bunch of tree-huggin' hippy crap!
  4. Re:Especially in the fog of marketese that is .NET by simonecaldana · · Score: 2, Funny

    The way Microsoft will control your TV set.

  5. .NET? book review?! on /.?! by GillBates0 · · Score: 3, Funny
    did hell just freeze over?

    --
    An Indian-American Hindu committed to non-violent thought/speech/action alarmed by the global explosion of radical Islam
    1. Re:.NET? book review?! on /.?! by kgarcia · · Score: 5, Funny

      Yes. It did several Days Ago. Did you not download iTunes for windows?

    2. Re:.NET? book review?! on /.?! by Vaginal+Discharge · · Score: 1

      Hey get over yourself. .NET is serious technology and it pays for you to understand it. Just because it has Microsoft behind it doesn't mean it's worthless. As a matter of fact, I think out of the fierce competition that is to come between .NET and J2EE, the person that knows both will come out on top.

      --
      "Glory is fleeting but obscurity is forever" - Napoleon Bonapart.
    3. Re:.NET? book review?! on /.?! by cjustus · · Score: 1
      I was going to say the same thing... I figure this must be a very early April Fools joke... Just look at the author's name... "Ingo Rammer"... Please... Way to go /. ... Look's like you've fooled a bunch of people...

      :)

    4. Re:.NET? book review?! on /.?! by midav · · Score: 1
      Yes, I wish they had a toilet paper edition. There several reasons I would have bought it.
      First, it automatically allocates space and time to perform comparative analysis. Second, you always know which page you stopped reading on last time. And the last, but not least you do not have this feeling that your money go down the drain for nothing.
    5. Re:.NET? book review?! on /.?! by AtrN · · Score: 1

      And Amazon made money. These are the end days my friend, the end days.

  6. Re:Especially in the fog of marketese that is .NET by Anonymous Coward · · Score: 1, Informative
  7. This is a sleazy Advert by Dimes · · Score: 1, Informative

    I already emailed the editors about it, techguy hasnt posted from what I can tell ever before, and his user id link leads to a web page selling a book. I dont know how this made it up as a post, but its obvioously an infomercial. I realize that /. is a much bigger beast than when I first started reading it 6 years ago, but I never thought I would see shiate like this

    dimes

    1. Re:This is a sleazy Advert by xyzzy · · Score: 2, Interesting

      Well, he's not selling the book he's reviewing!!! I'm not sure I see the problem here. Authors of books in a particular field can't post a review of anything similar?

    2. Re:This is a sleazy Advert by Politburo · · Score: 1

      I dont know how this made it up as a post

      Did you stop to think that maybe it was a 'good' book review? (by slashdot standards)

    3. Re:This is a sleazy Advert by nehril · · Score: 4, Interesting

      eh?? it's a decent review of the book in question (save for the fact that he never actually says wtf .NET Remoting is, or why anyone would be interested in knowing more about it.).

      he doesn't mention the book he's selling in his user id link AT ALL. don't click on the user id links if you don't want to know what he has to say about himself (I sure as hell didn't.) by that standard your "fallenbit.com" link is a "sleazy infomercial advert"... only with no interest to anyone anywhere.

      unbunch thy panties, please.

    4. Re:This is a sleazy Advert by bitflip · · Score: 1

      If it's really an ad (I don't see it that way), then I hope its paid for.

      If so, then great! It's an innovative way to earn income, with only marginal (IMO) impact on the quality of the site.

      It's not like /. all of a sudden sucks.

    5. Re:This is a sleazy Advert by scotch · · Score: 1
      This is a sleazy advert; where fore are thou skepticism?[sic]

      Why is "skepticism" called "skepticism"?

      --
      XML causes global warming.
    6. Re:This is a sleazy Advert by Dimes · · Score: 1

      When I click on your id(nehril) or on mine(dimes) I get /. comment/journal page for that user. Gives me a sense of whether or not the person has any histroy at all with slashdot. Whether its one post or 1000 posts, it lets me know that they are a real person(at least to some vague degree(heck even by your id# I know you have been arround for 3 to 4 years now). When you click on this submitters user id(TechGuy949), I get a page pushing a book. Not even their own personal website or what not, a page pushing a book. the review this person wrote and submitted is not by any means a Review. It is a summary, a sales page, a flyer, it looks to be straight out of an advertisement, but a review as its been noted several times now, its not. So that is my problem. I do not feel it was particulary on purpose by the /. staff, but I think it is a faux review meant to be an advertizement, designed to intentionally take advantage of the shear size of /.'s readership. That is sleazy, lame, and cheap. I wish teh crew at /. had caught it.

      dimes

    7. Re:This is a sleazy Advert by Dimes · · Score: 1

      Actually I take that back, I missed a digit on you id #, so I don't have any idea of how long you have been arround. Though considering that /. id's appear to be well past the 700k mark, I would still guess you to be from arround 2001 or so. Blind guess and all.

      Dimes

    8. Re:This is a sleazy Advert by ahdeoz · · Score: 1

      I'm not sure what my id is, but I've been around since 1997. I normally post anonymous, but on this machine I registered recently for some reason. I have an account with a 5 digit id (I think) but I didn't treasure it enough to remember the password.

    9. Re:This is a sleazy Advert by Code_Princess · · Score: 1

      True, the guy should not be linking to his own book. But, at least the review isn't written by apress advertising department like some publishers do. Now THATS dirty!

  8. Re:Especially in the fog of marketese that is .NET by mikera · · Score: 4, Informative

    Broadly speaking, it's the ability to call methods on remote objects (e.g. a separate machine over the network). Think of it as something like Java RMI. The framework takes care of things like serializing the parameters and return values.

    I think it's a decent technology for the right kind of applications, e.g. a cluster of servers that need to share data. However, if you want to expose services to other systems in a more general way, web services are probably a much better way to go.

  9. Hmm. by Minwee · · Score: 5, Funny

    The phrase ".NET remoting" appears twenty-two .NET remoting times in this review of .NET remoting while the simple, one or two sentence, .NET remoting-compliant explanation of what .NET remoting is, what .NET remoting does and why the .NET remoting I would want to know about .NET remoting and how .NET remoting would meet my .NET remoting needs (which include .NET remoting for customers who require .NET remoting, as well as .NET remoting) appears to be missing.

    1. Re:Hmm. by kfg · · Score: 3, Funny

      You can acquire that information by .NET remoting money from your wallet to bn.com who will .NET remote you the book.

      Pretty good .NET remoting marketing scam, eh?

      In fact, I have a sneaking suspicion I've just answered your qestion as to what .NET remoting actually is.

      KFG

    2. Re:Hmm. by zapp · · Score: 1

      I had the same impression, and I figure this is either just tricky marketting as others have suggested, or since the book actually explains what it is, the author was reluctant to give out the contents of the book for free.

      Similarly, how many book reviews say "Java is a programming language intended for cross platform compatibility"
      or
      "Apache is a webserver"
      or

      See my point? If you wanna know what it is, google it.

      --
      no comment
  10. Re:Especially in the fog of marketese that is .NET by AlabamaMike · · Score: 5, Informative

    .NET Remoting is one of Microsoft's solutions for the problem of inter-process (or application) communication. The writer of this review paid cursory attention to this fact when he made analogy to the promotion of XML Web Services (a technology that solves the same problem.) Think of .NET remoting as MS's RMI. The book that is reviewed here actually comes in two flavors, a VB.NET flavor and a C# flavor. Although the underlying framework (the .NET class library) supports both languages, the structure of the resulting code is different enough to call for such as thing. As for Ingo's book, this was the seminal tome for those looking into implementing programs that leveraged the Remoting technology. Ingo spent a good deal of his own time research the book, even digging to the level of examining the MSIL for the Remoting namespace. Support efforts such as this. This book is not a retelling of the MSDN documentation ... it's a product of a great undertaking.
    -A.M.

    --
    Pimpin' all the Karma Hoes!
  11. Re:Especially in the fog of marketese that is .NET by PainKilleR-CE · · Score: 1

    .Net remoting is basically a method of sharing objects between applications and/or processes that is independant of the transport. In other words, you would use it to build an application in which various portions of the application could reside on different computers, on an internal or external network (though it should be noted that it could all reside on one computer as well, and the application wouldn't care).

    One application or part of an application requests a remotable object from another application (or part of the application) and that application 'remotes' the object, sending it to the other application either on the same computer or over the network.

    --
    -PainKilleR-[CE]
  12. Re:Especially in the fog of marketese that is .NET by Anonymous Coward · · Score: 1, Funny

    ... would it have killed ya to explain what ".NET remoting" is, exactly?

    It's another lousy product pushed onto the world by a monopolistic software company. Happy?

  13. Re:Especially in the fog of marketese that is .NET by the+quick+brown+fox · · Score: 2, Informative
    It's basically a framework for remote procedure calls, over either TCP sockets or on top of HTTP. You can use it in a way similar to Java's RMI, or like SOAP (web services), or you can provide your own protocol.

    If that's still too jargony for you, then think of it as a way for objects in different processes or machines to interact with each other (almost) as if they lived in the same process. For example,

    StockQuotes stockQuotes = new StockQuotes();
    double ibmPrice = stockQuotes.GetLatest("IBM");

    In this example, the StockQuotes object could actually be running on a different machine. In .NET, all you have to do is make the StockQuotes class extend a special system-provided class, and then add a configuration file to the server .exe and the client .exe. The rest is "magic"--you can even use ordinary constructors.

    Note that unlike Java RMI, you don't have to declare an extra interface, run an extra compilation step, etc. It all just sorta happens behind the scenes...

  14. Undocumented? by Linux_ho · · Score: 3, Funny
    Advanced developers will appreciate it however, especially with Ingo's lead-in warning that 100% of the material in the chapter is undocumented by Microsoft!
    Whaaaaaa? A Microsoft API with incomplete documentation?

    I can't believe it!

    Say it isn't so!
    --
    include $sig;
    1;
  15. But where are the applications? by wfberg · · Score: 4, Funny

    So far I've not seen even one windows worm that uses ".NET Remoting" to spread.. Is it being used at all??

    --
    SCO employee? Check out the bounty
    1. Re:But where are the applications? by kabocox · · Score: 1

      So far I've not seen even one windows worm that uses ".NET Remoting" to spread.. Is it being used at all??

      Just wait, they are behind schedule. Give 'em about another month or two. They most likely hoping for a Christmas release.

    2. Re:But where are the applications? by chochos · · Score: 1

      Well, after this book, we may start seeing plenty of .net worms that use remoting...

    3. Re:But where are the applications? by thx2001r · · Score: 1

      Your sig made my day :)

      --

      -Joe
      If we're all god's children, what's so special about Jesus? - Jimmy Carr

  16. Advanced .NET rooting by CyberGarp · · Score: 3, Funny

    My eyes went cross for a minute and I read, "Advanced .NET rooting". I thought, "great, another round of critical patches to install this week".

    --

    I used to wonder what was so holy about a silent night, now I have a child.
  17. NewsFlash by theGreater · · Score: 4, Funny

    ".NET remoting is often a more appropriate solution than Web Services, and it certainly performs better and scales better when used properly."

    This just in: software works better when used correctly. In related news, analysts say it is appropriate to use the tool known as .NET remoting in those situations for which it was designed. Back to you, Timothy.

    -theGreater CheekTonguer.

  18. What IS it? by gamartin · · Score: 1

    Sure would be nice if the review happened to mention what .NET remoting is.
    Also why it's so important that a book was written about it.

  19. Remoting? by grub · · Score: 1


    Is NetRemoting anything like BackOriface?

    --
    Trolling is a art,
  20. Just another name by tobybuk · · Score: 4, Informative

    Please people, don't get too excited. This technology has been around for many years in different forms. RPC, DCOM, etc. It's nothing new really, just the same ideas dressed slightly differently.

    1. Re:Just another name by ahdeoz · · Score: 1

      Something is seriously wrong when technology directed towards the enterprise can only be understood by "the advanced developer". True words. I'm a poseur with no coding or design abilities whatsoever, but my skills shine like a beacon in the enterprise environment I work in.

    2. Re:Just another name by zero_offset · · Score: 1

      What's new is the highly "pluggable" nature of remoting in .NET. Just because the concept isn't new doesn't mean there isn't value in explaining or investigating a particular implementation. Hell, how many OpenGL books are there? For that matter, how many on Java Remoting? It's a complicated subject which you aren't just going to automagically know everything about simply because you are familiar with DCOM or some other type of remoting.

      --

      Slashdot quality declines as the number of hot grits posts decreases. - Provolt's Law, Apr-09-2005

  21. Secret Protocol by hey · · Score: 1

    OK this .NET remoting doesn't use XML but what does it use? Some secret MSFT protocol?

    1. Re:Secret Protocol by fitten · · Score: 1

      No.

      ".NET Remoting" is fairly broad. It covers everything from Web Services down to old fashioned RPC. The protocols you can select from for your purposes include (but is not limited to) SOAP/XML down to a binary protocol for higher performance.

    2. Re:Secret Protocol by mentin · · Score: 1
      OK this .NET remoting doesn't use XML but what does it use?

      I believe it does use XML/SOAP as one of the options.

      It also has an option to use binary protocol for efficiency if XML is too slow for you. Not sure whether it is secret or not, but this one is proprietary.

      --
      MSDOS: 20+ years without remote hole in the default install
    3. Re:Secret Protocol by borgboy · · Score: 1

      The data serialization format is pluggable. Out of the box, you may use the binary serializer, the xml serializer, or the soap xml serializer. Or you may write your own.

      --
      meh.
    4. Re:Secret Protocol by balbeir · · Score: 1

      Hmm, I wonder if one could write a plugin that understands java's RMI serialization. That would be a nice way to do an rmi call into a windows box without having to install java on that system (with some RMI socketfactory mucking of course)

    5. Re:Secret Protocol by borgboy · · Score: 1

      I wouldn't be too suprised if Ja.Net did something just like that.

      --
      meh.
  22. Re:Especially in the fog of marketese that is .NET by Master+Bait · · Score: 1
    .NET remoting is Microsoft's latest exploit goldmine.

    --
    "Only in their dreams can men truly be free 'twas always thus, and always thus will be."
    --Tom Schulman
  23. So where's the ./ editor? by blogboy · · Score: 2

    Published in July 2002...now this is news? I guess we have to suffer with these infomercials instead of popups...or are those next too?

  24. What .NET Remoting is by damieng · · Score: 5, Informative

    In a nutshull;

    Remoting is the .NET equivalent of a Java's RMI.

    This means you work on an object in your local address space but the object you are working with is in fact sending off your method calls to the real object elsewhere (another machine, another address space, whatever) that performs the necessary operations.

    In .NET this interaction between the two objects can either use a binary protocol or SOAP.

    A comparison of .NET Remoting vs Web Services can be found at http://www.developer.com/net/net/article.php/22017 01

    --
    [)amien
    1. Re:What .NET Remoting is by Finni · · Score: 1

      How is .NET Remoting any different from DCOM, is my question.

    2. Re:What .NET Remoting is by damieng · · Score: 1

      .NET Remoting is obviously a lot newer and fits in with Microsoft's .NET strategy but it's a lot less mature than DCOM.

      There is no support for transactions, load balancing or object pooling in remoting - all were all present in DCOM.

      At least remoting has the SOAP option - anyone who's ever tried to get DCOM working through a firewall will give that a thumbs up.

      No doubt it will gain DCOM's missing features in time.

      --
      [)amien
    3. Re:What .NET Remoting is by borgboy · · Score: 1

      1. The wire protocol and the data serialization format are decoupled from the remoting mechanism - ie you can do remoting using the xml formatter over msmq, or the soap formatter over http, or you can use the binary formatter over tcp, or you can use [your custom formatter] over [your custom channel].

      2. It can be DCOM, but it doesnt have to be.

      --
      meh.
    4. Re:What .NET Remoting is by borgboy · · Score: 1

      1. True, but remoting learns a lot from DCOM's mistakes.
      2. Not entirely true, if you consider System.EnterpriseServices.ServicedComponent (aka COM+) or the BYOT option.
      3. There is an http transport for DCOM.
      4. If you stipulate #2, what missing features remain to be gained?

      --
      meh.
    5. Re:What .NET Remoting is by trybywrench · · Score: 1

      I've read about .NET remoting and maybe I just don't know the subtleties enough but it seems to me to just be a wrapper for SOAP and a different transport protocol option ( the binary one ). I've used SOAP in the past and even found it a little over the top. Most of time when I have RPC type stuff to do I just use XML-RPC. It's so simple and small.

      I use XML-RPC to bridge programs like getting a C and Java program to communicate across the network and even on the localhost and soon i'll be using it with C# and Java then Java and a Cobol legacy app( i hope anyway.. does Cobol even have TCP socket support?).

      --
      I came to the datacenter drunk with a fake ID, don't you want to be just like me?
    6. Re:What .NET Remoting is by anomalous+cohort · · Score: 1

      .NET is equivalent in functionality to RMI but, IMHO, it seems to be more complex to use than RMI. Perhaps that makes it more flexible but having to register a service type (instead of using a common interface) and having to register a channel (instead of doing a lookup into an RMIRegistry) makes using .NET especially onerous after using RMI.

    7. Re:What .NET Remoting is by ajs · · Score: 1

      More to the point, .Net remoting is much like RMI which is much like Corba RPCs which is much like NIDL (Network Interface Definition Language) RPCs from Domain/OS circa 1985. In fact, Corba was directly based on Apollo's work on NIDL which was bought by HP. .Net and RMI may have developed independantly, I'm not sure, but the ground work for all of this was mid-80s technology.

      Domain/OS was so far ahead of its time, that even today most UNIX-like systems cannot profide some of Domain/OSes features (e.g. a truly seemless remote filesystem like AFS, but more integrated into everything the OS does; a central LDAP-like registry of users, permissions etc. much like Windows Active Directory, but which worked out of the box on a network of arbitrary size (and, again was much more tightly integrated with the OS); a light-weight windowing toolkit powerful enough to embed X, and yet light-weight enough to be far faster). The funny thing was, they did all this in Pascal (with some assembly in the kernel, of course). I'm not sure, but I think it was the only commercial OS written in Pascal, and oddly, it was the most responsive I've used relative to the hardware it was running on (Motorola 680x0s and later, their own proprietary precursor to the HP RISC platform).

      Back in the 80s there were a handful of companies doing really amazing, cutting-edge stuff. It's sad that companies like Sequent, Apollo, Stellar and those of their ilk were all bought up by larger, less interesting companies who failed to preserve their technical legacy of excellence....

      Ahem... sorry, that... that was a tangent. You may now return to your .Netisms ;-)

    8. Re:What .NET Remoting is by Otis_INF · · Score: 1

      This means you work on an object in your local address space but the object you are working with is in fact sending off your method calls to the real object elsewhere (another machine, another address space, whatever) that performs the necessary operations.
      Not completely true, you can also use remoting and work with the objects by value. This means that the object is created on teh server, marshalled by value to the client, there it is for example filled with data and then marshalled back to the server by a call to a method. This is the way DataSets are used in a remoting scenario.

      This scenario is much more efficient, because not every property set/get is transported over the wire.

      --
      Never underestimate the relief of true separation of Religion and State.
    9. Re:What .NET Remoting is by Mikkeles · · Score: 1
      ... they did all this in Pascal (with some assembly in the kernel, of course). I'm not sure, but I think it [Domain/OS] was the only commercial OS written in Pascal,...

      The original Mac OS was written in pascal.

      The firmware (ROM) was optimised assembly generated from parts of the Lisa OS which was written in pascal (later updates were, I believe, done directly in assembly). The Finder, etc., were always in pascal (I think) until the advent of the PPC.

      --
      Great minds think alike; fools seldom differ.
    10. Re:What .NET Remoting is by cpeterso · · Score: 1


      DCOM.NET?

  25. Re:Especially in the fog of marketese that is .NET by matchlight · · Score: 2, Informative

    I agree with your RMI analogy to Remoting, that's pretty much what it is.
    But as I disagree with the author that Remoting is usually best, I disagree that Web Services are much better way to go.
    No offense, it's just that each part of the MS distributed programming elements of .NET are each good for different reasons.
    Remoting: state and stateless, local and remote object calls for security
    Web Services: stateless, designed for heterogeneous environment
    COM+: pooling, jit activation
    MSMQ: not a runtime but a message service built into .NET, queuing designed for asynchronous calls
    ADO.NET: data access driven, built in SQL support, can be modified for other purposes.

    These are just a few things to show the differences. These differences tend to define what problem they are best suited to solve.

  26. Pardon my scepticism, but.. by daisycutter · · Score: 3, Insightful

    I have a couple of questions. "...... then quickly moves on to more specifics, entirely focused on generous code examples (which actually work....." Is that a feature of the book? -This is obligatory for Tech-Literature (if it wants to be taken seriously). "Ingo's goal is for you to really understand how the .NET Framework implements remoting." Does anyone here refer to authors (which they respect) by their first name? -It rather seems to me, that TechGuy949 is doing a friend a favor, promoting his book. "......an excellent introduction to the core aspects of remoting, including different types of remoting objects; marshalling objects by reference; serializing objects; and using interfaces to share type information." Im sorry, but if these are the key features of .Net remoting, i dont see anything new, or extraordinary about it. greets DaisyCutter.

    1. Re:Pardon my scepticism, but.. by omibus · · Score: 1
      Does anyone here refer to authors (which they respect) by their first name?


      Sure, how about Linus (Torvald). Besides, how many people do you know named Ingo?

      --
      Bad User. No biscuit!
  27. Re:Especially in the fog of marketese that is .NET by JAgostoni · · Score: 2, Funny

    ... except with new and unpatched security holes ...

  28. Re:Especially in the fog of marketese that is .NET by ADRA · · Score: 1

    FYI, .net remoting is the sucessor to DCOM.

    Basically it is RPC related to the .NET framework. Think RMI/Corba for java.

    --
    Bye!
  29. Poor guy... by Anonymous Coward · · Score: 1, Funny

    Buy his book already! He's had to live his life named "Ingo Rammer"! Where's the love?!

  30. .NET remoting? by IGnatius+T+Foobar · · Score: 1

    .NET remoting? Isn't that, like, patented or something?

    --
    Tired of FB/Google censorship? Visit UNCENSORED!
  31. Re:Especially in the fog of marketese that is .NET by ksheff · · Score: 1

    And if the stuff behind the scenes breaks, then you're up a creek and don't know why. I'm glad MS hasn't deviated from their design methodology. "I'm sure a reboot and/or re-install will fix it..."

    --
    the good ground has been paved over by suicidal maniacs
  32. Good Review? by supersmike · · Score: 1
    I dunno. On the surface this looks like a good review, but enough factors are there to suggest that this is, indeed, a somewhat underhanded advertising tactic. I used to work at an online shopping site that did this sort of guerilla marketing all the time.

    The guy is a bit obvious in the way he consistently uses the term ".NET remoting" everywhere. I also suspect he deliberately didn't tell us what remoting is so we'd go find out.

    FWIW, now I know, so I guess he succeeded in his efforts. That bastard!

    1. Re:Good Review? by Tokerat · · Score: 1


      You've got to be trolling.

      ANY positive book review is advertising for the book being reviewed! Duh!

      --
      CAn'T CompreHend SARcaSm?
  33. Re:Especially in the fog of marketese that is .NET by tedgyz · · Score: 1, Insightful

    I can take a guess...

    .NET remoting is the new name for DCOM. They changed the name to lure a bunch more unsuspecting saps into using their pointless technology.

    For roughly 10 years now I've seen the promotion of remote object technologies. The pain and suffering they inflict is almost always greater than the supposed benefits.

    In case you think I'm just .NET-bashing, I feel the same way about EJBs.

    --
    "No matter where you go, there you are." -- Buckaroo Banzai
  34. slashvertizing by Speare · · Score: 1

    Um, dude, the "editors" have long ago announced that they sell about one front-page story per day. Did you think the stories about ThinkGeek's latest gadgets or the newest silent-harddrive product were grassroots submissions?

    --
    [ .sig file not found ]
  35. Ingo Rammer by Bendebecker · · Score: 1

    Ingo Rammer? Come on, this one is just too easy...

    --
    There's a growing sense that even if The Future comes,
    most of us won't be able to afford it.
    -- Lemmy
  36. Next: .NET Remoting VS. Java's RMI by butane_bob2003 · · Score: 1

    Which has a better API? Higher performance? More reliable? Easy to develop/debug? Most developers will avoid using RMI directly if they can, lots of J2ee stuff uses it underneath the interfaces though.

    --


    TallGreen CMS hosting
    1. Re:Next: .NET Remoting VS. Java's RMI by borgboy · · Score: 1

      If performance on the one of the platforms .Net runs on is important to you, YOU would do well to properly test scenarios important to you on those platforms, in both Java and .Net. If portability to arbitrary platforms is important to you, then .Net is out of the picture. If you currently posses either .Net or Java expertise, you would likely be wise to leverage that expertise to craft more efficient designs than to rely on one rmi implementation vs another.

      Repeat after me: there is no silver bullet.

      --
      meh.
    2. Re:Next: .NET Remoting VS. Java's RMI by butane_bob2003 · · Score: 1

      But beyond all that, which is better designed from a programming point of view? Put the language and platform issues aside, which one is the most intuative, powerful, elegent, etc.. .NET Remoting does not appear to be a mirror image to RMI (which has been around for a relativly long time). Does it improve on the concepts or just attempt to provide the same/similar functionality like most of .NET?

      --


      TallGreen CMS hosting
    3. Re:Next: .NET Remoting VS. Java's RMI by borgboy · · Score: 1

      Take 50 engineers, and describe to them this scenario:
      A carpenter is in need of a device with which he may attach multiple layers of wood or other materials by driving a short, narrow shaft of stiff metal through them. The device should be simple, inexpensive, human powered, and capable of removing these shafts (lets call them nails).

      You are going to get 50 different designs, and a lot of them are gonna look a lot like a hammer.

      IMHO, its disengenuous to accuse .Net of being a copycat of J2EE. They both largely address the same problem space, and do so within the paradigm of OOP. I/O streams were around before Java(tm) was Oak. Does that negate the usefulness of Java(tm)? No. It enhances it, because it reuses a well-known, well-understood design pattern.

      So, which is better? That question is usually answered elsewhere...ie by the time you are addressing the RMI implementation of a system, you have already committed to a language/platform. I would guess that there isn't much appreciable difference between .Net remoting using binary serialization and the TCP channel and Java(tm) RMI via TCP.

      --
      meh.
  37. Re:Especially in the fog of marketese that is .NET by Anonymous Coward · · Score: 1

    Remoting is faster, because it is [can be] binary. Web services have a huge overhead, because all objects are sent in XML. So a simple object will be sent as

    For binary you can reduce, say FirstName down to 1 byte (rather than 9). XML required for web services will typically be at least twice as bulky.

    In addition, remoting is .NET-native, so you have more flexibility - you only get basic object features (polymorphism for instance doesn't work with .NET web services). Remoting lets you forget about the boundaries to a much greater extent.

    In fact, unless you have a good reason to use Web Services - that you will *definitely* be integrating the whole program with non-.NET legacy software - you shouldn't use it. Even if you need Web Services for a small part of the app, use Remoting for the rest of it.

  38. Ingo Rammer is God by evil+dave · · Score: 1

    You know, I had to do a project with .NET Remoting, and none of the documentation or samples in MSDN make absolutely any sense. I started searching newsgroups and whatnot for answers to my questions and Ingo had pretty much all of the answers. I got a copy of this book, and it was more of the same. His sample code was clean, understandable, and unlike most everything else out there it worked!

    Anyway, yeah. Ingo rules.

  39. Wouldn't it be easier... by biostatman · · Score: 1

    ...just to use all the remote (RPC and other) exploits?

    --
    For the love of $DEITY, loose != not win!!!!!
  40. Any chance... by gregarican · · Score: 1

    that Inga Rammer is kin to Dirk Diggler?

  41. Another review by rgelb1 · · Score: 1

    vbRad.com has another review of this book:

    http://www.vbrad.com/pf.asp?p=Reviews/books/brAd va ncedRemoting.htm

    1. Re:Another review by rgelb1 · · Score: 1

      The link is broke. Here is a better one.

      "http://www.vbrad.com/pf.asp?p=Reviews/books/brAdv ancedRemoting.htm"

  42. Re:Secret Protocol On 135 definition by ratfynk · · Score: 1
    "It covers everything from Web Services down to old fashioned RPC".

    /. inet Definition Reference Guide: .NET remoting on port 135 unpatched = Little BigHorn see also The Alamo

    --
    OH THE SHAME I fell off the wagon and use sigs again!
  43. Careful with the word "fact"! by Eric+Smith · · Score: 1
    In actual fact, .NET remoting is often a more appropriate solution than Web Services,
    I would dispute the characterization of this statement as a "fact". .NET remoting locks you into a single operating system vendor, which for many developers outweighs any technical advantages it may have.
    1. Re:Careful with the word "fact"! by Skeezix · · Score: 1

      Actually it is a fact. There are situations where web services make no sense but Remoting does exactly what you need. As for your statement about locking into a single OS vendor (which is completely orthogonal to the point), that is simply untrue. I've written several applications which use .NET Remoting and they all run great on my Linux box using Mono.

    2. Re:Careful with the word "fact"! by Trejkaz · · Score: 1

      Here's a point I'm curious on, since you've obviously done a bit of research on both sides.

      How is communication from a Windows .NET application to a Linux Mono application using Remoting? Does the combination work if the server is on one and the client is on the other? I presume Mono even has to take endian-ness into account with the remoting, when not on Linux-x86, an optimisation option which Microsoft get but nobody else gets.

      --
      Karma: It's all a bunch of tree-huggin' hippy crap!
    3. Re:Careful with the word "fact"! by Skeezix · · Score: 1

      It works. You can combine Mono/Linux client with Microsoft .NET Windows Server or vice versa.

  44. Re:Especially in the fog of marketese that is .NET by kevlar · · Score: 1
    .NET is shorthand for .NET Framework, which is essentially a Virtual Machine and standardized API like Java. MS tends to append ".NET" to anything thats deployed supporting any .NET Framework applications.

    .NET Remoting is the MS equivalent for Java RMI, except that instead of making function calls only binary, they allow serialization to XML and greater control over instantiation of objects. The XMl serialization is important because it allows third party applications running on non-MS OSes to inter-operate with a .NET Remoting application. In my opinnion, this .NET Remoting is very well thought out and takes RMI to a new level.

  45. Yo, Marketdroids! by Quixadhal · · Score: 1

    There is a new law which, when it passes congress, will require that you DEFINE WTF ("slang, What The Fsck") an SMS ("Stupid Marketing Speech (TM)") acronym or buzzword actually IS within the first 100 words of any document describing a technology.

    It's obvious that common courtesy doesn't work, nor did any of you pay attention when you were forced to take that technical writing class in college. Soooo, a law is required.

    ".NET remoting" means absolutely nothing to those of us who don't spend 25 hours a day in Marketroid Communion, and thus don't have every industry buzzword downloaded directly into our cerebral cortex with each new press release.

  46. Not an issue. by Otis_INF · · Score: 1

    It's not an issue. When using webservices, you are bound to use the XmlSerializer, or better: please the XmlSerializer. It will generate XML from your objects, and often fails to do so because it can't deal with interfaces for example. Also, serializing objects to the client via xml webservices is not the right thing to do: what if that client isn't a .NET application? It then can't deserialize your object anyway. So Webservices are GREAT when communicating DATA in a standarized format in XML. Not Objects. So remoting isn't an option for these situations anyway.

    However, a lot of people who want to write a distributed application with .NET (thus client and server are both written in .NET) are using webservices because they think it's best. For THESE people remoting is better, because both sides are .NET and thus can deserialize objects directly or work with marshalled objects remotely. Therefore, for these setups it's not an issue being locked into a single vendor's universe, because client and server are already of that vendor.

    --
    Never underestimate the relief of true separation of Religion and State.
    1. Re:Not an issue. by Eric+Smith · · Score: 1

      It is an issue, and you haven't contradicted what I wrote.

    2. Re:Not an issue. by Keeper · · Score: 1

      You wrote that it forces you into using .Net for both sides and that's a problem. The person who replied to you wrote that it doesn't really matter, because both ends were going to end up being written in .Net anway.

      Seems to me like he did a pretty good job of contradicting what you wrote.

      But if that isn't enough, I'll go one further. The .Net remoting mechanism is pluggable. You can write code to perform remoting via RMI, so the other end of your .Net code can actually be written in Java.

    3. Re:Not an issue. by Eric+Smith · · Score: 1
      If I have a choice between developing a system using .Net and .Net remoting, or a system using web services, I'm going to build the system that does not tie me to a single software vendor, and that will not be the .Net solution.

      The .Net remoting mechanism is pluggable. You can write code to perform remoting via RMI, so the other end of your .Net code can actually be written in Java.
      If I wanted to waste a bunch of time developing my own infrastructure, I wouldn't use either .Net or web services.
    4. Re:Not an issue. by Keeper · · Score: 1

      In other words you're saying that the question isn't using .Net and .Net remoting (using RMI locks you into Java using your logic). Your question is a decision between using a remoting solution vs a webservice solution.

      The problem is that webservices don't offer the performance some applications require.

    5. Re:Not an issue. by Eric+Smith · · Score: 1
      using RMI locks you into Java using your logic
      It does lock me into Java, but not into any particular vendor. There are perfectly good independent Java implementations from companies other than Sun.

      Someone pointed out the existence of Mono, an independent implementation of part of .Net, but it does not appear to me to be sufficiently complete to allow me to build complete systems without having to use some Microsoft components.

      The problem is that webservices don't offer the performance some applications require.
      That's true, but it's not necessarily the case the .Net remoting is a better solution, although it may be in some situations.
    6. Re:Not an issue. by Keeper · · Score: 1

      It does lock me into Java, but not into any particular vendor. There are perfectly good independent Java implementations from companies other than Sun.

      Java is not an open standard -- you're locked into a technology controlled by Sun in much the same way that when you write .Net code you're using technology controlled by Microsoft. The fact that there are non-Sun implemented versions of that standard doesn't mean jack -- Sun is still at the wheel.

      Someone pointed out the existence of Mono, an independent implementation of part of .Net, but it does not appear to me to be sufficiently complete to allow me to build complete systems without having to use some Microsoft components.

      That was the state of Java on Linux for an eon too. It'll get done, eventually.

      That's true, but it's not necessarily the case the .Net remoting is a better solution, although it may be in some situations.

      It is *a* solution. Believe it or not, it's not a bad one either. And if you're going to be writing code that runs on a Win32 platform, it is definately worth spending more than 5 minutes learning about what you can and can't do with it.

  47. Lots of reasons why I want .NET to fail by Anonymous Coward · · Score: 1, Insightful

    Lots of reasons why I want .NET to fail and fail badly

    It's benefits a criminal organization. Not one that's been found guilty of crimes once or maybe twice, but lots and lots of times. Those crimes are many and varied, but here's just a few of them: Stac Electronics v. Microsoft, DOJ v. Microsoft, Sun v. Microsoft.
    P.S. If you want to split hairs, Stac v. Microsoft isn't a criminal action, it's doesn't stem from a criminal abuse of their monopoly like the other two cases. Instead it was just a case of a small company being driven out of business by willful patent infringement, theft of trade secrets, etc.

    Microsoft isn't just one thing anymore. It's too damn big for that. I'm sure even Bill himself knows better than to think that he truly controls the whole ship because it's become big enough that he can't possibly know all the projects, people, etc. anymore. But even a really large company still has a kind of collective personality that it exudes and a large part of the personality both internal and external to Microsoft for many years now is that of a total control freak.
    If they don't own it, if they don't control it, if they didn't create it, if it doesn't have a broad stamp from Microsoft on it, then they don't want it. Sometimes it's sufficient for the thing to merely exist and they'll refuse to acknowledge it, other times they need to actively stamp it out because they can't control it.

    When was the last time you can remember Microsoft saying they supported a standard? That is, not something they invented and submitted a RFC for, an actual, take it off the shelf and re-implement it without renaming it or "improving" it so it doesn't work with anybody else standard. C++? Basic? HTML? A video or audio codec? Java? Anything?

    I'm sure there's something, somebody will point out their excellent support for TCP/IP or something and I'm sure that's true. But if you were to look at Microsoft as a person in your life, you'd wonder what was wrong with him or her such that so much had to be controlled by that person.

    When your business is selling the operating systems that 90+% of everybody uses, software development tools should not be a profit center.
    Why should I have to plunk down a couple of thousand dollars for a "universal subscription" in order to have access to compilers and basic development information? Sun doesn't have to do that? On this point I'll quote from the .NET "rebuttal" that I linked to above, "For non-profit use VS.NET can be had pretty cheaply, especially if you know anyone that is in college somewhere." Pretty cheaply? For a non-profit (that means charities, churches, universities, the hobbiest who is going to give away his work for FREE)... pretty cheaply? Wow. That is well and truly pathetic. To try and justify it, and say, oh well, you can try to scam an educational discount so it won't be so dear, is even more pathetic.

    Marketing. Have you been "lucky" enough to catch one of the .NET commercials with William H. Gacy telling you how great it is without really ever telling you anything about it? Microsoft doesn't trust .NET to stand on its own technical merits and it knows it may go like cod-liver oil down the gullets of a lot of people who have seen how the company works behind closed doors even if it were the tech shiznit.
    So they are going to pull a page out of Intel's bum-bum-buh-bum "Intel Inside" playbook and try to sell the brand like it's sneakers and cola. Trust us, you'll look cool if you use it, and we'll keep hammering the brand on TV so somebody who doesn't have much tech savvy in your organization will ask you if you are using it, or have plans to port to it, or whatever, even if he hasn't got a clue what "it" is in this case.

    They don't trust you. They don't like what they can't control and they can't control you. They can try and they always will keep trying but ultimately you are going to see them keep trying to do things and always keep a step

    1. Re:Lots of reasons why I want .NET to fail by ScorpiusFan · · Score: 1

      What does this rant have to do with Advanced .NET Remoting again?

  48. Is it 22 Oct 2002 ? by mark99 · · Score: 1

    This book has been out for ages, and though it was groundbreaking at the time, (and Ingo Rammer is now firmly established as a .NET Remoting Guru) time has moved on and there are more (and better and cheaper) books on the market.

    I.e. this post is not especially timely...

  49. Re:Especially in the fog of marketese that is .NET by matchlight · · Score: 2, Insightful

    The point that was missed was that the problem defines the solution. Argue all you want that Remoting should be used and I can give you an example when it shouldn't or can't. That's why there are so many distributed programming methods.

  50. Re:Especially in the fog of marketese that is .NET by agentk · · Score: 1

    What do you suggest we use instead?

    --

    VOS/Interreality project: www.interreality.org

  51. Further message to marketroids: by BitwizeGHC · · Score: 1

    "Remote" is an adjective (or sometimes a noun, if you're referring to the TV variety).

    It is not a verb.

    --
    N4st0r, trixx0r h0bb1tz0rz! Th3y st0l3 0ur pr3c10uzz!
  52. Re:I'll tell you what he suggests... by tedgyz · · Score: 2, Informative

    Ironically, I have witnessed something close to what you describe. I work for a company that has a HUGE India workforce - roughly 1/3 of the company. The company was founded by an Indian, so I can't bitch too much. :-|

    Anyway, India was initially used for data gathering, which involved taking large catalogs and entering the data manually. To speed this up they would scan the catalog pages and view them electronically.

    When PDFs starting entering the process, guess what they did. This is no joke...
    Print PDF -> Scan printed pages -> View scanned pages -> Enter data manually

    All of this India outsourcing is going to come full circle when the (rotten) fruits of their labor become apparent. As a Software Engineer in a 1/3 India-labor company, I am not afraid. Sure they can pay 4 of them for 1 of me, but the mythical man-month applies here. The sum of the parts does not equal the whole.

    --
    "No matter where you go, there you are." -- Buckaroo Banzai
  53. Re:Especially in the fog of marketese that is .NET by tedgyz · · Score: 1

    First you must tell me the problem. Problems using remove object technologies can often be solved in much simpler ways.

    For example, I had a need for a very simple remote procedure call in a past job. It was only one procedure with fairly simple inputs. I didn't want to suffer the pain of Corba. Instead, I wrote a simple socket interface and protocol to send the requests. The cost of coding that solution was less than the cost of learning and deploying Corba, as well as forcing users to deploy Corba as well.

    Why bring in a 10-ton coal-mine dumptruck to haul a shovel-full of sand?

    --
    "No matter where you go, there you are." -- Buckaroo Banzai
  54. The book is good, but needs to be updated. by ScorpiusFan · · Score: 1

    The book was a decent reference, for it's time.

    Note that if you are using the 1.1 .NET framework that some of the examples in the book will no longer work. Fortunately, Ingo has some comments about that on his website:

    http://www.ingorammer.com/remotingFAQ/changes2003. html

  55. Lousy review for a great book by jerdenn · · Score: 1

    This is a really sorry review for what is considered the .NET Remoting "Bible". Ingo Rammer is considered THE authority on remoting, and his book really describes the subject like no other text currently on the market. If you want to know anything about this topic, buy this book!

    -jerdenn

  56. I have this book by tjstork · · Score: 1


    This is actually a book that has been around for the while and the author is a bit of a celebrity. Anyone that is going to do anything serious with .NET probably already has or should have this book.

    The best stuff is in the back, how you can plug in your own protocols. IIRC he does a distributed object call using a SMTP as a protocol. Interesting stuff.

    The performance advantages of .NET remoting versus Web servers are not theoretical. You can get anywhere 5-10 times the performance. Because you can invent your own protocol, .NET remoting does -not- lock you into anything proprietary at all, except .NET.

    I'd say to the people used to doing sockets in C, well, you missing the boat.

    --
    This is my sig.
  57. Scaling Web Services by greenchilies · · Score: 1

    Web services can be scaled and Blue Titan Softare is doing it. Check out what bluetitan (http://www.bluetitan.com) is doing for managing web services, such as routing web service calls through the Blue Titan routers and switches and you can scale by simply adding new end points. You can deploy web sercvices to multiple endpoints, do provisioning, etc with this flexible framework. This is a much better solution to scaling web services than .Net approach, which is not scalable. Sony, UCSD Super Computing center, etc are using this stuf.

  58. Re:Especially in the fog of marketese that is .NET by JAgostoni · · Score: 1

    Troll. Ha! That's funny. You really think there aren't going to be any security holes with .Net remoting? Who are you kidding?

  59. Re:Especially in the fog of marketese that is .NET by hawkestein · · Score: 1

    The learning curve is a lot shallower for .NET remoting than for doing CORBA, especially if you just want to do relatively simple things. I think it might actually be quicker to develop simple requests with .NET remoting than sockets, and you get to avoid the error proneness of marshalling your own data.

    --
    -- Will quantum computers run imaginary-time operating systems?
  60. No, he means ... by Burb · · Score: 1
    .. that it's internal and NOT part of the API. If I describe the internals of Linux device driver, warn you that that internals may change in the next release, but that the user won't see the difference, there's nothing bad about that. Same thing.

    Sheesh people, save your thunder for when M$ really does something bad.

    --

  61. Good Book on Remoting by -=Zak=- · · Score: 1

    I read this book cover to cover over a year ago when I started a .NET Remoting project and it allowed me to gracefully solve some interesting problems in our implementation. I'd definitely recommend it to someone with past RPC development experience that is getting ready to take on .NET Remoting.

    There are probably other good books on the subject available now (like I said, I read this one over a year ago), but this one is definitely a winner.

    For the people asking what .NET Remoting is - it's very similar to Java RMI only the framework is more extensible (thanks to features like custom client and server sinks and stuff). Also, you have the option of hosting your Remoting components inside of IIS so you get SSL encryption and stuff for free (undoubtedly at the cost of having to deal with IIS security problems :) without changing any of your code - just a couple of configuration options.

    -Zak