web-services - Web服务和应用程序服务器中的应用程序代码层有什么区别

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

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

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

但具体来说,业务逻辑层不会与 UI 绑定(bind),因此或多或少是独立的,可以重用。

另一方面,Web 服务也提供类似于业务逻辑的功能,它不绑定(bind)到 UI,并且可以在不同情况下重用。

谁能解释一下我刚才解释的是否正确?正如我之前提到的,我是一个新手,所以如果这听起来很愚蠢或天真,请不要抨击我:)

最佳答案

这是对 4 层架构的快速、肮脏且非常笼统的解释,我认为它可能最适用于您的应用程序:

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

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

Web 服务、应用程序层和业务逻辑可以恰本地与可口可乐及其业务进行比较。瓶子和 jar 头通常是 Joe Blow 消费可口可乐产品的方式(例如表示层中的网站),但其他企业也希望能够为他们的客户提供可口可乐,因此可口可乐让他们使用碳酸水和可口可乐糖浆(例如应用层中的 Web 服务)。可口可乐的 secret 配方(例如业务逻辑层),以及可口可乐进入商店的分销流程(例如应用层)都对消费者隐藏。 Joe Blow 不在乎它是如何进入商店的,他只知道他可以从各种来源(网站、移动客户端等)获得可乐。可口可乐不希望人们知道它的 secret 公式(商业逻辑)。如果你想要可乐,你必须通过商店或餐厅(经批准的接口(interface))。

关于web-services - Web服务和应用程序服务器中的应用程序代码层有什么区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4718238/

相关文章:

c# - Windows 服务中的 EnumDesktopWindows

java - 如何使用servlet和业务层?

web-services - 命令模式是否与 RESTful Web 服务兼容?

c# - ASMX Web 服务未序列化抽象基类

jquery - 在 jquery datatable 中将一行数据从一个表传输到另一个表显示 [object Object]

java - 线程中的服务与服务中的线程

c# - 将 FedEx .net Web 服务从开发人员环境转移到生产环境的最佳方法是什么?

ubuntu - 在一个 Ubuntu 服务器上将多个 elasticsearch 节点作为服务运行

business-logic - 业务层结构,如何建立自己的结构?

java - 客户端的业务逻辑