Brendan Tompkins

Sponsors

The Lounge

Wicked Cool Jobs

News

Advertisement

Images in this post missing? We recently lost them in a site migration. We're working to restore these as you read this. Should you need an image in an emergency, please contact us at imagehelp@codebetter.com
Web Services vs. Remoting : Sorry to bring it up again, but...
OBSOLETE CONTENT
The author of this post has determined that this content is obsolete. Use at your own risk! Blog posts are a point-in-time snapshot of the blogger's thinking and should not be assumed to represent this blogger's current opinions. This post was left up for historical purposes.

There's lots to read out there on this topic, but recently I've been confused about the discussions about the support for Remoting in Indigo, so I thought I'd ask for some help here..

So, we've developed a base framework here at the port that's getting a good deal of re-use.  We've got solid, stateless single-call business objects, all being reused from a slew of endpoint applications. The problem is that each time we deploy one of the endpoints, we're re-deploying the business tier, and all of its dependent .dlls, configuration, etc.  Needless to say, we're getting to the point where we need to consolidate our services, so that we can simplify their management and deployment, and scale them up, when needed.

I've seen this day coming (hence the stateless single-call business model) but now that it approaches, I've run into some confusion about which model of inter-process communication to use: Remoting or Web Services.  From everything I've read (1, 2, 3), it looks like the general gist of things has been the following: If your client endpoints are .NET and performance is a concern, use Remoting, otherwise, use Web Services.

But, then I ran across the following article about the future changes to Remoting that will accompany Indigo.  As to when to use what, this is what they say:

  • Use .NET Remoting for calling between components hosted in different app-domains inside the same process
  • Use .NET Remoting for handling custom wire protocols and formats.

It goes on to say:However, we recommend minimizing your use of .NET Remoting to these niche areas, and suggest that you utilize ... ASMX/WSE for exposing your services at your boundaries.“

 

So, I'm kinda confused.  I want to use Remoting.  It seems like it will be simpler, faster and easier to code.  We've had some good success with Web Services, but from what I can tell, managing changes to web services over time is going to involve more work, will create more network traffic and will be slower overall.  So, other than the “Use Web Services because it'll work better with Indigo” (which isn't very compelling, btw) what compelling reasons do I have for using Web Services internally for inter-process communication accessing my buisness objects? 

 

Is anyone out there doing this one way or the other successfully?  Can you offer any advice?

 

Thanks in advance,

 

Brendan


Posted Tue, Jun 22 2004 12:01 PM by Brendan Tompkins

[Advertisement]

Comments

kpako@yahoo.com (Dare Obasanjo) wrote RE: Web Services vs. Remoting : Sorry to bring it up again, but...
on Tue, Jun 22 2004 9:48 AM
>what compelling reasons do I have for using Web Services internally for inter-process communication?

Why are you confused? None of the links you point to mention using remoting for inter process communication.
Brendan Tompkins wrote re: Web Services vs. Remoting : Sorry to bring it up again, but...
on Tue, Jun 22 2004 10:02 AM
Dare,

I think I've mis-used some terminology here (forget the term inter-process communication). I guess my big question is simpler:

Why should I use internal Web Services, if my
clients are going to be developed in .NET?

I guess I'm just not sure what the big payoff will be.
Dave Donaldson wrote re: Web Services vs. Remoting : Sorry to bring it up again, but...
on Tue, Jun 22 2004 10:06 AM
I think a lot of it depends on how your app is architected with respect to functionality you're exposing at the boundaries. Maybe put together a system context diagram with all your interfaces and see what the landscape looks like. It will also probably help to think of the apps in terms of consumers/providers.

IMO, Web Services is best used when you need to expose large-grained functionality. But that doesn't mean you still couldn't use .NET Remoting for some of your interfaces (and certainly within the boundaries of your app - and don't forget Enterprise Services). I've also found that .NET Remoting more tightly-couples clients to your app, which you might or might not be OK with.

Also, what if you have a client that converts to J2EE? .NET Remoting doesn't work in that situation, but Web Services certainly does. The big payoff is Web Services provides another abstraction layer and promotes loose-coupling.

Hope that helps.
Clemens Vasters wrote re: Web Services vs. Remoting : Sorry to bring it up again, but...
on Tue, Jun 22 2004 10:55 AM
Remoting is a data formatting framework for getting stuff across a socket with no process model worth talking about to back it up and with no security. If that's good enough for you, go use it. I foyu need more, look as ASMX or ES.
Brendan Tompkins wrote re: Web Services vs. Remoting : Sorry to bring it up again, but...
on Wed, Jun 23 2004 2:54 AM
Dave, Clemens: Thanks for your help. I've used ES on another project, but I'm not sure I need it for what I'm doing currently. I've definitely got some more research to do here.
Grant wrote re: Web Services vs. Remoting : Sorry to bring it up again, but...
on Wed, Jun 23 2004 4:26 AM
Remoting IS a lot faster, but if you don't have a chatty interface (which it sounds like you don't) is the speed increase worth it (i.e. will a customers perceive it negatively)? WS offers more hooks to build on down the road, if you need to one day do authentication or leverage any of the other WSE stuff. Yes, you can always roll your own with Remoting, but why bother?
Dave Donaldson wrote re: Web Services vs. Remoting : Sorry to bring it up again, but...
on Thu, Jun 24 2004 4:44 PM
Sorry to keep adding to this, but Rocky just posted a blog entry that talks about .NET Remoting vs. Enterprise Services. It's another interesting read, and not too long. Check it out here - http://www.lhotka.net/WeBlog/PermaLink.aspx?guid=0830a0e4-18bb-4182-99a7-a0c727fb913a.
Michael Swanson's Blog wrote Book Review: Expert C# Business Objects
on Tue, Nov 23 2004 10:19 AM
TrackBack wrote re: Appropriate uses of web services
on Tue, Feb 1 2005 6:09 AM
Ozxnegic wrote re: Web Services vs. Remoting : Sorry to bring it up again, but...
on Tue, Jul 14 2009 2:33 PM

L3sYwm

Add a Comment

(required)  
(optional)
(required)  
Remember Me?
Devlicio.us