Advanced .NET Remoting 171
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
- Introduction to Remoting
- .NET Remoting Basics
- Remoting in Action
- Configuration and Deployment
- Securing .NET Remoting
- In-Depth .NET Remoting
- Inside the Framework
- Creation of Sinks
- Extending .NET Remoting
- Developing a Transport Channel
- 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.
Especially in the fog of marketese that is .NET... (Score:5, Funny)
Jeez.
Re:Especially in the fog of marketese that is .NET (Score:2, Funny)
Re:Especially in the fog of marketese that is .NET (Score:1, Informative)
Re:Especially in the fog of marketese that is .NET (Score:5, Informative)
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.
Re:Especially in the fog of marketese that is .NET (Score:2, Informative)
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
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 b
Re:Especially in the fog of marketese that is .NET (Score:1)
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
Re:Especially in the fog of marketese that is .NET (Score:2, Insightful)
Re:Especially in the fog of marketese that is .NET (Score:2, Funny)
Re:Especially in the fog of marketese that is .NET (Score:5, Informative)
-A.M.
Re:Especially in the fog of marketese that is .NET (Score:1)
One application or part of an application requests a remotable object from another application
Re:Especially in the fog of marketese that is .NET (Score:1, Funny)
It's another lousy product pushed onto the world by a monopolistic software company. Happy?
Re:Especially in the fog of marketese that is .NET (Score:2, Informative)
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,
In thi
Re:Especially in the fog of marketese that is .NET (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..."
Re:Especially in the fog of marketese that is .NET (Score:2)
Re:Especially in the fog of marketese that is .NET (Score:2)
Basically it is RPC related to the
Re:Especially in the fog of marketese that is .NET (Score:2, Insightful)
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
Re:Especially in the fog of marketese that is .NET (Score:2)
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 a
Re:Especially in the fog of marketese that is .NET (Score:2)
Re:I'll tell you what he suggests... (Score:3, Informative)
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...
Pr
Re:Especially in the fog of marketese that is .NET (Score:2)
.NET remoting? (Score:5, Funny)
Re:.NET remoting? (Score:2, Insightful)
Zealots suck...
Equivalent in Java? (Score:1, Informative)
Re:Equivalent in Java? (Score:1)
Which itself is the same as C RPC?
Re:Equivalent in Java? (Score:1)
.NET? book review?! on /.?! (Score:3, Funny)
Re:.NET? book review?! on /.?! (Score:5, Funny)
Re:.NET? book review?! on /.?! (Score:2)
Re:.NET? book review?! on /.?! (Score:1)
Re:.NET? book review?! on /.?! (Score:1)
Re:.NET? book review?! on /.?! (Score:1)
This is a sleazy Advert (Score:1, Informative)
dimes
Re:This is a sleazy Advert (Score:3, Interesting)
Re:This is a sleazy Advert (Score:1)
Did you stop to think that maybe it was a 'good' book review? (by slashdot standards)
Good Review? (Score:1)
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!
Re:Good Review? (Score:2)
You've got to be trolling.
ANY positive book review is advertising for the book being reviewed! Duh!
Re:This is a sleazy Advert (Score:5, Interesting)
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.
Re:This is a sleazy Advert (Score:1)
Re:This is a sleazy Advert (Score:1)
Dimes
Re:This is a sleazy Advert (Score:1)
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
slashvertizing (Score:2)
Re:This is a sleazy Advert (Score:2)
Why is "skepticism" called "skepticism"?
Hmm. (Score:5, Funny)
Re:Hmm. (Score:3, Funny)
Pretty good
In fact, I have a sneaking suspicion I've just answered your qestion as to what
KFG
NewsFlash (Score:5, Funny)
This just in: software works better when used correctly. In related news, analysts say it is appropriate to use the tool known as
-theGreater CheekTonguer.
Re:Hmm. (Score:2)
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 [google.com].
Undocumented? (Score:4, Funny)
I can't believe it!
Say it isn't so!
No, he means ... (Score:2)
Sheesh people, save your thunder for when M$ really does something bad.
But where are the applications? (Score:5, Funny)
Re:But where are the applications? (Score:1)
Just wait, they are behind schedule. Give 'em about another month or two. They most likely hoping for a Christmas release.
Re:But where are the applications? (Score:2)
Advanced .NET rooting (Score:3, Funny)
What IS it? (Score:1)
Also why it's so important that a book was written about it.
Remoting? (Score:1)
Is NetRemoting anything like BackOriface?
Just another name (Score:4, Informative)
Re:Just another name (Score:2)
Secret Protocol (Score:2)
Re:Secret Protocol (Score:1)
".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.
Re:Secret Protocol On 135 definition (Score:2)
Re:Secret Protocol (Score:2)
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.
Re:Secret Protocol (Score:2)
Re:Secret Protocol (Score:1)
Re:Secret Protocol (Score:2)
So where's the ./ editor? (Score:2)
What .NET Remoting is (Score:5, Informative)
Remoting is the
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
A comparison of
Re:What .NET Remoting is (Score:2)
Re:What .NET Remoting is (Score:2)
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.
Re:What .NET Remoting is (Score:2)
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?
Re:What .NET Remoting is (Score:2)
2. It can be DCOM, but it doesnt have to be.
Re:What .NET Remoting is (Score:2)
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
Re:What .NET Remoting is (Score:1)
Re:What .NET Remoting is (Score:2)
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 t
Re:What .NET Remoting is (Score:2)
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
Pardon my scepticism, but.. (Score:3, Insightful)
Re:Pardon my scepticism, but.. (Score:1)
Sure, how about Linus (Torvald). Besides, how many people do you know named Ingo?
Poor guy... (Score:1, Funny)
.NET remoting? (Score:2)
Ingo Rammer (Score:2)
Next: .NET Remoting VS. Java's RMI (Score:1)
Re:Next: .NET Remoting VS. Java's RMI (Score:2)
Repeat after me: there is no silver bullet.
Re:Next: .NET Remoting VS. Java's RMI (Score:2)
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
Ingo Rammer is God (Score:1)
Anyway, yeah. Ingo rules.
Wouldn't it be easier... (Score:1)
Any chance... (Score:1)
Another review (Score:1)
http://www.vbrad.com/pf.asp?p=Reviews/books/brA
Re:Another review (Score:1)
"http://www.vbrad.com/pf.asp?p=Reviews/books/brAd
Careful with the word "fact"! (Score:2)
Not an issue. (Score:2)
Re:Not an issue. (Score:2)
Re:Not an issue. (Score:2)
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
Re:Not an issue. (Score:2)
If I wanted to waste a bunch of time developing my own infrastructure, I wouldn't use either .Net or web services.
Re:Not an issue. (Score:2)
The problem is that webservices don't offer the performance some applications require.
Re:Not an issue. (Score:2)
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.
Re:Not an issue. (Score:2)
Java is not an open standard -- you're locked into a technology controlled by Sun in much the same way that when you write
Someone pointed out the existence of Mono, an independen
Re:Careful with the word "fact"! (Score:2)
Re:Careful with the word "fact"! (Score:2)
Yo, Marketdroids! (Score:2)
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 da
Lousy review for a great book (Score:2)
-jerdenn
I have this book (Score:2)
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
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
Re:$5 cheaper and free shipping (Score:1)