Click Here to Install Silverlight*
IndiaChange|All Microsoft Sites
MSDN
|Developer Centers|Library|Downloads|How To Buy|Subscribers|My MSDN
 
Chat Transcript
 
Choosing Communication Options in .NET - XML Web Services OR .NET Remoting
Host
: Janakiram M.S.V. – Technical Specialist, Microsoft India
June 13, 2002
 
KunalS_MS: Good Afternoon all of you

KunalS_MS: Welcome to another session of MSDN India Online Developer Forums - Expert Chat Session.

KunalS_MS: Today's topic of chat is Choosing Communication Options in .NET - XML Web Services OR .NET Remoting

KunalS_MS: and our expert host of the day is - Janakiram M.S.V. - Technical Specialist, Microsoft India

Jani_MS: Hi Everyone

Moderator: (Saurabh) They say its better to use .NET Remoting over XML Web Services, where performance is the key consideration, can you highlight the performance difference between Remoting using SOAP formatter and Web Services?

Jani_MS: Actually, There is no performance difference between Web Services and Remoting with SOAP formatter except type fidelity

Jani_MS: You will get performance gain in case of TCP channel and Binary formatter

Moderator: (vijay) What is the basic difference between using XML Web services and using .NET Remoting?

Jani_MS: XML Web services is basically for Interop and to work across fire walls; Remoting gracefully replaces DCOM and RPC like technologies

Moderator: (Saurabh) Whenever SOAP is needed as the messaging format in the application, will it be better to build Web Services since then you have a future option of interoperating with other systems also?

Jani_MS: But, Incase your looking at multiple methods on a stateful object, Web Services will not help

Moderator: (Kumar) The documentation talks about .NET Remoting being the infrastructure used to design XML Webservices. Thus, XML Webservices are an application of .NET remoting. Which scores over the other and when?

Jani_MS: True. .NET internally uses Remoting as the core infrastructure. But Web Service is more standards based and session less

Jani_MS: thus, it is a better choice over the internet

Moderator: (Kumar) So, Jani, what you are saying is that webservices are better platform for stateless components. Is that right?

Jani_MS: Absoultely.. Remember only stateless components scale on the web

Moderator: (Kumar) So, how do we get to scale them better? MTS did a decent job of the scaling stateless COMponents. Who does that for webservices?

Jani_MS: MTS was always behind the firewall.. Web Services will be the primary interface for calling components over the Internet

Jani_MS: As far as scaling goes.. We can implements NLBS on IIS for web services

Moderator: (Kumar) I agree. But my query is about who has the responsibility of scaling webservices? Now, isn't that talking basic network infrastructure? Any programmatic entity, like MTS, that comes into play?

Jani_MS: Typically, Web Services are just wrappers to stateless components running in COM+

Jani_MS: Web Services shouldn't actually contain any business logic.. They should delegate the call to a component method

Moderator: (vijay) If I have my server machine inside an DMZ it will be difficult to use Remoting. Is this assumption right?

Jani_MS: No.. Remoting can cross firewalls as long as the port is 80 and format is SOAP

Jani_MS: Ok.. What I actually mean by COM+ is Serviced components in .NET

Moderator: (Kumar) Remoting replaces DCOM. Good enough. But MS had also put in CIS. How is remoting better over DCOM+CIS?

Jani_MS: DCOM + CIS was tunneling over HTTP and has some known issues.. Remoting is performance oriented and works within DMZ and across firewalls

Moderator: (Kumar) MTS did a decent job of the scaling stateless COMponents. Who does that for webservices? So, how do we get to scale them better?

Jani_MS: Since Web Services are stateless, We can go for traditional ways of load balancing via NLBS or any other architecture

Moderator: (michael) What are the various ways to manage the transactions in .NET remoting?

Jani_MS: They need to be Serviced Components utilizing the COM+ infrastructure.

Moderator: (Anand) Can I have callbacks implemented in serviced components?

Jani_MS: Yes. using the COM+ Loosely Coupled Events or using delegates and events in Remoting

Jani_MS: Remeber Delegates/Events can work over remoting making remote call backs

Moderator: (Anand) But I was having a problem doing so, infact i was not able to do events if the component is a serviced component. [Suggest]

Jani_MS: Take a look at LCE. That should help you

Jani_MS: Loosely Coupled Events in COM+

Moderator: (michael) Is there any way to manage the transactions in .NET remoting it without using COM+ because I want to avoid COM interop?

Jani_MS: At this point, .NET relies on COM+ for transactional infastructure. You need to make your component a Serviced Component to enjoy transactions

Moderator: (Kumar) Like MTS which used object pools and interception for scaling, is there any analog entity in .NET for that?

Jani_MS: COM+ and Serviced Components.. Understand that .NET doesn't completely replace COM+. Any feature of COM+ can be realized via a Serviced Component in .NET.

Moderator: (Kumar) Does MS plan to have any .NET component management environment in the future?

Jani_MS: No plans yet. But atleast for the near future, I feel COM+ will be the underlying platform for core component services.

Moderator: (Anand) what about COM+ 1.5?

Jani_MS: .NET integrates well this COM+ 1.5. It supports concurrency and other new features via the attributes

Moderator: (Anand) Will there be COM Interop when using a serviced component using COM+ 1.5?

Jani_MS: No. System.EnterpriseServices will have an efficient access to COM+ and it is much better than classic COM interop

Moderator: (Kumar) But there is interoperability, right ?

Jani_MS: I can't call it as Interop.. COM+ is an inherent part of .NET..

Moderator: (Kumar) .NET remoting is about, in a part, having a TCP listener. How is this different that a standard TCP port listener that understands SOAP?

Jani_MS: .NET Remoting is all about pluggable channels and formatters. At any point of time, the channel/formatter can switched with out any impact at the server and the client.

Jani_MS: But technically it is the same as writing a custom socket based program

Moderator: (Kumar) Can you explain, at what level and point does COM+ (i.e. native code), become an inherent part of .NET (managed code)?

Jani_MS: Since, This is beyond the scope of current session, I will try to post a whitepaper to the forum on this topic.

Jani_MS: I want to share an article with you that points out the key differences of Remoting and Web Services

Jani_MS: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnadvnet/html/vbnet10232001.asp

KunalS_MS: We shall close the expert chat session here today

KunalS_MS: Thank you Jani for taking time out to answer our questions

KunalS_MS: and shedding light on our queries

Jani_MS: Thank you all and it was a pleasure

KunalS_MS: Above All, thank you all for joining in

KunalS_MS: If you have any more queries, please do post them at the MSDN India Online Developer Forums - www.microsoft.com/india/onlineforums

KunalS_MS: If you have any suggestions/feedback please do share it with us at - www.microsoft.com/india/communitysatsurvey

KunalS_MS: Goodbye
     

©2009 Microsoft Corporation. All rights reserved. Contact Us |Terms of Use |Trademarks |Privacy Statement
Microsoft