首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >N-Tier和SOA架构之间的区别是什么

N-Tier和SOA架构之间的区别是什么
EN

Stack Overflow用户
提问于 2010-08-16 01:17:14
回答 4查看 24.2K关注 0票数 15

根据我对N-Tier和SOA架构的理解。

N层

N层意味着将应用程序划分为多个层,例如,我在asp.net中开发应用程序,并将整个DB层推送到WCF,然后将其称为N层。紧密耦合

SOALoosely耦合

根据我对SOA的理解,它是一个非常通用的术语,我们将如何松散地耦合我们的体系结构,然后将其称为SOA。SOA服务的最佳示例-股票提要/天气提要。

我的结论是:

即使我们使用工作流框架开发应用程序,也不意味着它的面向服务架构,如果它与单个客户端紧密耦合,或者.net应用程序只能理解服务。

您能帮助我理解SOA与N-Tier吗?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2010-08-16 06:48:13

这两者不能比较,因为它们各自描述的是不同的东西。另外,请注意Tier与Layer不同。

层-进程边界。当您构建三层应用程序时,您知道UI、BL和DB将位于三个不同的进程中,它们可能位于三个不同的机器上。

层-逻辑边界。单个层可以包含多个层。这就是你构建应用程序的方式来遵循面向对象的原则。

SOA - SOA应用程序可以是多层的,也可以是多层的,但通常不是必须的。SOA是一种架构应用程序的方法,其含义是可重用、自治、可互操作的远程调用组件。面向服务的体系结构服务必须遵循four tenets

为了说明N-Tier和SOA之间的简单区别,让我们假设您正在业务逻辑之上构建一个使用某些数据库的服务层。看起来您正在构建一个N-Tier SOA应用程序,不是吗?不幸的是,并不是每个公开服务的应用程序都遵循这些原则。在这种情况下,最关键的可能是“明确的服务边界”和“服务是自治的”。如果您的服务共享数据库中的某些业务逻辑功能或数据,则它们没有明确的边界,并且它们不是自治的=>。

小型SOA和大型SOA之间也有区别。上面提到的应用程序是一个小型SOA --每个服务都必须遵循原则。大型SOA是用于企业集成的,在企业集成中,您将应用程序及其所有服务视为一个单元,这必须遵循原则。

票数 41
EN

Stack Overflow用户

发布于 2010-08-19 13:18:28

Ladislav很有钱,您的假设是正确的,仅使用WCF并不能保证构建SOA。

下面是一些如何使用WCF构建SOA的实际示例。

我建议您阅读Thomas Erl和Roger Sessions的文章,这将使您对SOA的全部内容有一个明确的把握。

SOA Design Pattern

Achieving integrity in a SOA

Why your SOA should be like a VW Beetle

SOA explained for your boss

票数 2
EN

Stack Overflow用户

发布于 2010-08-16 02:03:15

我认为SOA (与标准N-Tier体系结构相比)的要点是底层服务的可重用性。这就是创建web服务作为数据源的原因,目的是让它们可以服务于您将来要编写的其他应用程序。这就是前面提到的松散耦合非常有用的地方-您的web服务足够通用,足够独立,可以在许多不同的应用程序中使用。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3488395

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档