.NET远程处理与SOA

时间:2010-12-07 20:59:18

标签: .net web-services remoting soa

我试图理解.NET远程处理(和类似技术)与SOA相比的概念(相似点和不同点)。有人可以解释一下细节吗?

3 个答案:

答案 0 :(得分:5)

它们无法比较。

.NET远程处理是一种(过时的,使用WCF)技术,用于调用远程服务。您可以在SOA环境中以及纯客户端 - 服务器通信中使用.NET远程处理(更可能在客户端 - 服务器通信中)。 .NET远程处理并没有谈及为什么他们彼此交谈,只是如何。

SOA是概念(或企业架构),关于几个不同服务如何相互协作。它没有谈论使用什么技术,而是谈论如何使用统一业务对象和统一接口连接不同服务的结构。 SOA是一个如何建模和提取这些公共接口和公共业务对象的过程。

答案 1 :(得分:0)

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

答案 2 :(得分:0)

简单来说,Remoting具有紧密耦合的组件,而SOA具有松散耦合的组件。

在Remoting中,它只是通常在.Net或Java(或C ++等)中发现的过程调用样式的扩展,扩展为允许远程过程调用。双方(客户端和服务器)通常构建在同一平台上,并且调用不是为与其他平台互操作而设计的。

在SOA中,构建服务的目的是调用它们的客户端可能不会构建在同一平台上。通常,SOA解决方案是围绕客户端和服务器之间的调用被视为消息的想法构建的,并且消息本身与操作同样重要。

将客户端到服务器的调用视为一条消息的好处是,当消息从客户端路由到服务器时,可以使用其他服务与消息进行交互,从而更容易注入新功能,而无需重写客户端或服务器。您可以使用远程处理来完成其中一些工作,但它并不像SOA那么容易,因为客户端和服务器端可能都没有考虑到这种可扩展性。话虽如此,SOA确实增加了架构的复杂性。复杂性不是可能不值得的额外投资。一个好的架构师将帮助您确定项目的每种开发风格的优缺点,帮助确定何时使用每种风格。