aherlambang
aherlambang

Reputation: 14418

.NET remoting vs SOA

I am trying to understand concepts (similarities and differences) between the .NET remoting (and similar technology) compared to SOA. Can someone please explain the details?

Upvotes: 2

Views: 718

Answers (3)

Don Demsak
Don Demsak

Reputation: 221

In simplest terms, Remoting has tightly coupled components, and SOA has loosely coupled components.

In Remoting, it is just an extension of the procedure call style of development typically found in .Net or Java (or C++, etc.), extended to allow for remote procedure calls. Both sides (the client and the server) are typically built on the same platform, and the calls are not designed to interoperate with other platforms.

In SOA, services are built with the intent that the clients calling them may not be built on the same platform. Typically, a SOA solution is built around the idea that the call between a client and a server is treated as a message, and that the message itself is just as important as the operation.

The benefit of treating the call from client to server as a message is that other services can be used to interact with the message as it is routed from client to server, making it much easier to inject new functionality, without having to rewrite either the client or the server. You can do some of this with Remoting, but it isn't as easy as SOA, because both the clientside and server side were probably not built with that extenibility in mind. That being said, SOA does add complexity to the architecture. Complexity that is not may not be worth the extra investment. A good architect will help you determine the pros and cons for each development style for your project, helping to determine when to use each style.

Upvotes: 0

Albin Sunnanbo
Albin Sunnanbo

Reputation: 47058

They are not comparable.

.NET remoting is an (obsolete, use WCF) technique for calling remote services. You can use .NET remoting in a SOA environment as well as in a pure client-server communication (more likely in client-server communication). .NET remoting does not talk about why they talk to each other, just how.

SOA is a concept (or enterprise architecture) about how several different services cooperate with each other. It does not talk very much about what technique to use, rather about the structure how to connect different services with unified business objects and unified interfaces. SOA is a process of how to model and extract those common interfaces and common business objects.

Upvotes: 5

Tim Barrass
Tim Barrass

Reputation: 4939

SOA is rather more enterprise scale than remoting -- in SOA you might have a number of components that enable service discovery, workload and method invocation management, and resource management, among other things.

Upvotes: 0

Related Questions