根据我对N-Tier和SOA架构的理解.
N-Tier意味着将应用程序划分为多个层,示例I正在asp.net中开发应用程序,我将总数据库层推送到WCF,然后将其称为N层.[紧耦合]
根据我对SOA的理解,它是非常通用的术语,以及我们如何将松散地耦合到我们的架构,然后称为SOA.SOA服务的最佳示例 - Stock feeds/weather feed.
即使我们使用WCF开发应用程序,如果它与单个客户端/或.net应用程序紧密耦合,也不意味着它只能了解服务.
你能帮助我理解SOA VS N-Tier吗?
Lad*_*nka 33
这两者无法比较,因为每一个都描述不同的东西.另请注意,Tier与Layer不同.
层级 - 过程边界.构建3层应用程序时,您知道UI,BL和DB将位于3个不同的进程中,这些进程可以位于三台不同的计算机上.
层 - 逻辑边界.单层可以包含多个层.这就是您构建应用程序以遵循OO原则的方式.
SOA - SOA应用程序可以是多层和多层的,但通常不需要.SOA是一种以可重用的可自动互操作远程调用组件的意义构建应用程序的方法.SOA服务必须遵循四个原则.
为了显示N-Tier和SOA之间的简单区别,我们假设您在使用某些数据库的业务逻辑的顶部构建服务层.看起来你正在构建N-Tier SOA应用程序,不是吗?不幸的是,并非每个公开服务的应用程序都遵循这些原则.在这种情况下,最关键的可能是"显式服务边界"和"服务是自治的".如果您的服务在数据库中共享某些业务逻辑功能或数据,则它们没有明确的边界,并且它们不是自治的=>应用程序不是设计为SOA.
小型SOA和大型SOA之间也存在差异.提到的应用程序是小型SOA - 每项服务都必须遵循原则.大型SOA用于企业集成,您可以将应用程序及其所有服务统计为单个单元,并且必须遵循原则.
最好的问候,拉迪斯拉夫