Any comments on .NET Remotinv vs. Web Services? Which would you choose?
Thanks.
Depends what I needed to do: if I needed to talk to a web-service, I'd
choose a web-service! (etc)
OK, being a bit more serious: remoting can be a pain; it demands incestuous
knowledge between the client and server (even if it is only an interface in
a shared assembly) - however, since it is generally used with binary
transports, it is quicker, and allows convenient use of e.g. marshal-by-ref
instances, proper tree serialization (instead of the light-weight xml
structure etc), and a few other things.
I would also recommend reading up on the proposed WCF details (part of WinFX
and formerly known as Indigo) - this provides an alternative to remoting for
talking between apps (e.g. services) in a schema-based way (similar to WSDL
for web-services).
Marc
RichieRich - 28 Feb 2006 16:29 GMT
Thanks for the thoughts, I think? I have a showdown meeting to attend and I
actually prefer web-services.
> Depends what I needed to do: if I needed to talk to a web-service, I'd
> choose a web-service! (etc)
[quoted text clipped - 12 lines]
>
> Marc
Marc Gravell - 28 Feb 2006 17:14 GMT
Really, you need to write down *what it must do*; it doesn't matter if one
technology is really cute at doing "x", "y" and "z" if it can't do "a"
(where your project needs "a"). Also note that the two are not necessarily
mutually exclusive, although you would be introducing complexity by using
both in tandem.
Example comparitors:
* Must it support non-.Net clients?
* Must it support 1.1 clients?
* Do we expect it to manage all security (authentication / encryption / etc)
for us?
* Do we need to be able to talk to different servers *at the same time*
* What performance profile do we need? (paired with data throughput)
* Do we need marshal-by-ref instances? (proxies held at the client that
forward invoked methods to the server silently)
* How complex is the data we are transporting - is it simple data, or
complex object-graphs?
* Must it work through firewalls?
* Must it work via intermediaries?
The list goes on...
Marc
RichieRich - 28 Feb 2006 18:11 GMT
It's actually pretty simple. The "component" needs to authenticate users to
active directory. However, a proposal was made to separate authentication
components on an application server (which I opose that too). So basically
there is an LDAP component on an application server that receives calls from
a remoting object on another application server that is called by the web
server in the DMZ. I think it's a bit too much. So now they are making the
argument that every application from this point must reference the remoting
object to authenticate users instead of a web service on the server closest
to the active directory server.
Hope you understand what was just described, cause I'm not certain I
understand it.
Thanks.
> Really, you need to write down *what it must do*; it doesn't matter if one
> technology is really cute at doing "x", "y" and "z" if it can't do "a"
[quoted text clipped - 19 lines]
>
> Marc
Josh Twist - 28 Feb 2006 19:04 GMT
Here are some great articles on choosing a distributed computing
technology (namely: Web Services vs Enterprise Services vs Remoting).
http://msdn.microsoft.com/webservices/choosing/default.aspx
http://msdn.microsoft.com/webservices/choosing/default.aspx?pull=/library/en-us/
dnwebsrv/html/dsgprescriptiveguidance.asp
Most advice these days states that you really shouldn't be writing new
stuff in remoting unless you want to cross appdomains within the same
process (pretty unusual).
If your new component isn't going to be released for a little while the
best answer is WCF (Windows Communication Foundation, formerly
codenamed Indigo)... read this guide to get started with WCF - it is
the future of distributed computing on the Windows platform.
http://msdn.microsoft.com/msdnmag/issues/06/02/WindowsCommunicationFoundation/de
fault.aspx
Good luck!
Josh
http://www.thejoyofcode.com/
RichieRich - 28 Feb 2006 20:12 GMT
Thanks!
> Here are some great articles on choosing a distributed computing
> technology (namely: Web Services vs Enterprise Services vs Remoting).
[quoted text clipped - 17 lines]
> Josh
> http://www.thejoyofcode.com/