简体   繁体   中英

.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?

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.

SOA远不是远程处理,而是企业规模的扩展-在SOA中,您可能具有许多支持服务发现,工作负载和方法调用管理以及资源管理的组件。

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.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM