Web服务和应用程序服务器中的应用程序层之间有什么区别

时间:2011-01-17 21:44:08

标签: web-services service business-logic n-tier-architecture

您好,我是n层架构的新手,并试图找出托管应用程序层代码的应用程序服务器与Web服务的作用之间的区别?

所以我会告诉大家我对整个n层概念的理解,我们有UI - > Web服务器 - >应用程序服务器上的业务逻辑/应用程序逻辑 - >数据库服务器(当然还存在负载平衡器和多个服务器实例来固定和存储进程状态)

但具体而言,业务逻辑层不会绑定到UI,因此它或多或少是独立的,可以重复使用。

另一方面,Web服务也提供类似于业务逻辑的功能,它不依赖于UI,可以在不同的情况下重用。

有人可以解释我刚才解释的是对吗?正如我之前提到的,我是这个的新手,所以如果这听起来很愚蠢或天真,请不要打击我:)

1 个答案:

答案 0 :(得分:18)

这是对4层架构的快速,肮脏和非常一般性的解释,我认为这可能最适用于您的应用程序:

表示层:外部世界(网站)的界面
应用层:创建外部接口(Web应用程序框架,Web服务)所需的机制
业务逻辑层:体现/模拟/模拟业务流程和工作流程的实际逻辑(算法,转换,审批流程等)
数据库层:从中查询信息所需的数据库和逻辑

通常,Web服务不是业务逻辑层的一部分。该层通常与数据库层一样受到保护,因为在那里可能存在商业机密或保密方式,并且您通常不希望任何人直接访问该层,除了以编程方式或通过批准的接口(例如Web服务) )。

Web服务,应用程序层和业务逻辑可以恰当地与可口可乐及其业务进行比较。瓶子和罐子通常是Joe Blow消费可口可乐的产品(例如展示层中的网站),但其他企业也希望能够为他们的客户提供可口可乐服务,因此可口可乐让他们使用碳酸水和可口可乐糖浆(例如应用层中的Web服务)。可口可乐的秘密公式(例如业务逻辑层)和Coke的分发流程(将其带入商店(例如应用层))都是对消费者隐藏的。 Joe Blow并不关心它如何进入商店,他只知道他可以从各种来源(网站,移动客户端等)获得可口可乐。可口可乐不希望人们知道它的秘密公式(业务逻辑)。如果你想要可乐,你必须通过商店或餐馆(批准的界面)。