Tuesday, July 19, 2005

Author(s): Ingo Rammer and Mario Szpuszta
Publisher: APress
Publisher Link: www.apress.com
Published: February 2005
Categories: .NET, Remoting, Distributed computing, C#
ISBN: 1-59059-417-7
Online Order Links: Amazon.com, BN.com,

  
Review Date: June 2005
Reviewers Name: Trent Whiteley

Summary:

Although the title of this book, Advanced .NET Remoting, obviously indicates that the designated audience for this book is the “advanced” programmer, the initial three chapters deal with the basics of remoting.  Those already familiar with remoting will, more than likely, be bored with this introduction and will be better off starting off in chapters 4 and following.  The authors present the latest distributed application development technologies available as well as weakness in each technology leading up to the presentation of .NET remoting and justifying its existence.  While not presenting .NET remoting as the Holy Grail of distributed computing, they do provide grounds for using it in most situations over the current distributed technologies.  By chapter three the reader has already learned how to write a basic remoting application and is presented with the basic concepts of .NET remoting.  These concepts are clearly explained with great supporting examples.

After the introductory chapters, the authors delve into a number of disjoint topics covering chapters four through ten.  Some of these topics include security, configuration and deployment, object lifetimes, versioning, best practices, and debugging/troubleshooting.  By isolating these topics in their own chapters, the reader can treat this book as a quick reference when questions arise in dealing with one of these areas.  Again the authors provide excellent examples to support their topics, thus aiding in grasping some of the more difficult aspects of remoting.  The authors also present, from their vast experience, a number of different ways of achieving the same results, after which they reveal the advantages of one method over the others or motivations and scenarios where each method can be used to better advantage.  At times, while reading, it appears that there is no one sure way to write remoting apps properly.  This is exactly what the authors are trying to impart.  There are numerous ways to use remoting, but each one has drawbacks or weaknesses and the authors try to give you a broad range of knowledge to deal with them.  There is no silver bullet to writing remoting apps and this sometimes leads to information overload while reading this book.  The reader will likely find himself returning to this book to gain clarity in resolving design issues.

Finally, in the remaining five chapters, the authors get into the nitty gritty of .NET remoting.  Beginning with the underlying structure of remoting, the authors give the reader a baptism by fire in proxies, dispatchers, sinks, channels and messages.  If none of the previous terms are familiar to you, then you may find this chapter a bit of a challenge.  However, it is an extremely well-written section on exactly how remoting works and reading it is time well invested.  Mastering this chapter provides the basis for proceeding through the remainder of the book with your sanity intact as the proceeding chapters deal primarily with extending and customizing .NET remoting.  The chapters on sinks and developing custom sinks provide the reader with some of the best knowledge for creating custom remoting apps as they are the conduits through which all communication passes between client and server.  Understanding channels allows the reader to customize the transport mechanism through which all communication passes.  After successfully navigating through this book, the reader should be well-equipped to handle a vast array of remoting projects.  This book is in no way for the timid and is a challenging read for all but experienced remoting programmers.  Having persevered through its reading, though, the reader will not regret the time invested and the knowledge gained.

This book is most useful to:

This book will be most useful to those developing multi-tier, distributed applications, webservice developers and C# developers in general.

Recommendation:

Reviewer's Overall Cow Rating: 5 out of 5 Cows

I would highly recommend this book to anyone of moderate to advanced experience in .NET and C# with any degree of distributed application development experience.  While the authors present the foundation of remoting early on to provide a basis for understanding to those new to remoting, the remaining sections of the book deal with far more advanced topics (even dealing with the underlying structure of remoting) which will appeal to the more advanced developers.

7/19/2005 11:12:42 AM (Eastern Standard Time, UTC-05:00)  #    Trackback
Tracked by:
"buy cheap diet pill online" (buy cheap diet pill online) [Trackback]
"free online holdem poker" (free online holdem poker) [Trackback]