Remoting versus Web Services

Microsoft .NET Framework provides two common ways to write distributed applications -  .NET Remoting and Web Services.

 

The following table summarizes the advantages and disadvantages of both of these technologies.

 

 

.NET Remoting

Web Services

Protocol Support

TCP, HTTP

HTTP Only

Data Format

Binary, SOAP

SOAP, Binary with some extra work

Data Types

Rich data types

 

Limited to data types defined in DSD type system

Platform Interoperability

Platform dependent. .NET applications only

Platform independent

Reliability

Requires plumbing if not hosted on IIS.

Highly reliable. Hosted on IIS.

State Management

Stateful, Stateless

Stateless

Development

Complex.

Very easy

Ease of use

Complex

Very easy

Audiences

Limited. Registered network only.

Unlimited. World Wide Web.

Data Transfer

Faster

Slower

Manageability

Complex

Easy

Deployment

Complex.

Need to deploy assemblies, configuration files, and object registrations on the client and add reference to get the meta data of the assembly.

Any change in the code need to redeploy these files on the clients.

Easy.

Just add Web reference to the project using URL.

No deployment required unless there are major architectural changes.

Security

More secure. Available through specified port only.

Less secure if precautions are not being taken.

Scalability

Less scalable. Only through SingleCall method but it may get costly if too many clients are calling the object. A new object will be created for each new client request.

Highly scalable.

Host Application

Windows Forms, Console application, Windows Services, and ASP.NET application hosted by IIS and ASP.NET.

Web service only. Hosted by IIS and ASP.NET.