一个应用服务器中,Web服务和应用层代码有什么区别?

11

你好,我是一个对N层架构不太熟悉的新手,我想了解托管应用程序层代码的应用服务器和Web服务之间的区别。

那么我会告诉你们我对整个N层概念的理解,我们有UI -> Web服务器 -> 应用服务器上的业务逻辑/应用逻辑 -> 数据库服务器。 (当然,负载均衡器和多个服务器实例也会存在以加速和存储进程状态)

但是,要具体说明,业务逻辑层不会与UI绑定,因此它更或多或少是独立的,可以被重用。

另一方面,Web服务也提供类似于业务逻辑的功能,它不会与UI绑定,可以用于不同的情况。

有人能解释一下我刚才解释的是否正确吗?正如我之前所提到的,我是个新手,如果听起来很愚蠢或幼稚,请不要抨击我 :)

1个回答

27
以下是对需要翻译的内容的简明翻译:

下面是一个快速、简略而且非常通用的四层体系结构解释,我认为它可能最适合你的应用:

表示层:与外部世界(网站)交互的接口
应用层:创建与外部世界(Web 应用程序框架、Web 服务)交互所需的机制
业务逻辑层:具体实现/模拟/仿真你公司流程和工作流的逻辑(算法、转换、审批过程等)
数据库层:数据库及从中查询信息所需的逻辑

一般来说,Web 服务不属于业务逻辑层。这个层次通常像数据库层一样受到保护,因为其中可能包含商业机密或机密处理方式,你通常不希望任何人直接访问它,除非通过授权接口(如 Web 服务)进行。

Web 服务、应用层和业务逻辑可以适当地比喻为可口可乐及其业务。瓶子和罐子通常是 Joe Blow 消费可口可乐产品的方式(如表示层中的网站),但其他企业也想向其客户提供可口可乐,所以可口可乐让它们使用碳酸水和可口可乐浆(例如应用层中的 Web 服务)。可口可乐的秘密配方(例如业务逻辑层)以及将它放到商店里的分发过程(例如应用层)都对消费者隐藏。Joe Blow 不关心它是如何进入商店的,他只知道可以从各种来源得到可口可乐(网站、移动客户端等)。可口可乐也不希望人们知道它的秘密配方(业务逻辑)。如果你想要一瓶可口可乐,你必须通过商店或餐厅(授权接口)进行。


2
那是一个很好的例子,你比大学里普通教授教的要好得多!! - macha

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接