asp.net - N层和SOA架构有什么区别

标签 asp.net wcf soa

根据我对 N 层和 SOA 架构的理解。
N层
N-Tier 意味着将应用程序划分为多个层,例如我在 asp.net 中开发应用程序,我将整个 DB 层推送到 WCF,然后它被称为 N 层。 [紧密耦合]
SOA[松散耦合]
根据我对 SOA 的理解,它是一个非常通用的术语,以及我们将架构松散耦合的程度,然后将其称为 SOA。 SOA 服务的最佳示例 - 股票提要/天气提要。
我的结论:
即使我们使用 WCF 开发应用程序,如果它与单个客户端/或 .net 应用程序紧密耦合,并不意味着它的 SOA 只能理解服务。
你能帮助我理解 SOA VS N-Tier。

最佳答案

这两个不能比较,因为每个描述不同的东西。另外,请注意 Tier 与 Layer 不同。
层 - 流程边界。当您构建 3 层应用程序时,您知道 UI、BL 和 DB 将位于 3 个不同的进程中,这些进程可以位于三台不同的机器上。
层 - 逻辑边界。单个层可以包含多个层。这只是您构建应用程序以遵循 OO 原则的方式。
SOA - SOA 应用程序可以是多层的,但通常不是必须的。 SOA 是一种架构应用程序的方法,其含义是可重用的自主互操作远程称为组件。 SOA服务必须遵循four tenets .
为了展示 N 层和 SOA 之间的简单区别,让我们假设您正在使用某些数据库的业务逻辑之上构建一个服务层。看起来您正在构建 N 层 SOA 应用程序,不是吗?不幸的是,并非所有公开服务的应用程序都遵循这些原则。在这种情况下,最关键的可能是“显式服务边界”和“服务是自治的”。如果您的服务在数据库中共享某些业务逻辑功能或数据,则它们没有明确的边界并且它们不是自治的 => 应用程序不是作为 SOA 设计的。
小型 SOA 和大型 SOA 之间也存在差异。提到的应用程序是一个小型 SOA - 每个服务都必须遵循原则。大型 SOA 用于企业集成,您可以将应用程序及其所有服务视为一个必须遵循原则的单元。

关于asp.net - N层和SOA架构有什么区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3488395/

相关文章:

asp.net - 一个aspx页面可以有多个aspx.cs类来继承吗?

c# - WCF 执行时进度更新

java - Spring Roo - 未找到命令 'service'

c# - 异步加载小部件的最佳方式是什么?

c# - 在 html 属性中输入不同颜色的文本

javascript - 动态文本框的标签索引

.NET WCF 错误生成不正确的 SOAP 1.1 错误代码值

oop - 设计WCF服务接口(interface)。过程式设计与面向对象设计

message-queue - 将数据插入队列与工作人员拉取数据

web-services - SOA/Web 服务分页