UI,业务逻辑层,数据层以及放置Web服务的位置

13 web-services business-logic-layer web-applications data-access-layer business-objects

我们正在开发一个Web应用程序.我们希望可以将我们在此处所做的工作重用于将使用相同数据库的不同应用程序,并使用相同的业务规则来读取和写入所述数据库.

哪种设计更正确

  1. 让UI调用Web服务,该服务将使用包含业务逻辑的业务对象,该业务对象将与数据访问层通信.

  2. 让UI使用包含业务逻辑的业务对象,该业务逻辑将调用Web服务,然后将与数据访问层进行通信.

  3. 让UI用户业务对象包含业务逻辑,该业务逻辑将与数据访问层通信.

Vit*_*sky 10

不要将逻辑设计与物理设计混合在一起.逻辑设计在层和物理设计层上运行.Web服务不是一个层.它只是一个层次.在逻辑设计有标准的方法:第一层UI> BL层 - > DAL在物理设计所有层可以驻留在一个客户端应用程序中的连接的本地数据库,或者可以通过远程层进行分配.但是对于分布式应用程序,通常会增加一层:应用程序层,它通过线路隐藏在BL层通信中.

  • 我认为这不是将Web服务放在何处的答案? (3认同)

jro*_*jro 1

根据您的描述,您没有提供需要使用 Web 服务层的原因。假设您的 UI 系统可以访问您的数据库,即在防火墙后面的同一网络内,您的网站 UI 代码(我假设是服务器端)将使用的基本业务对象层可以满足您的要求。

当 UI 系统和数据层之间的距离开始跨越数据访问层或业务逻辑层将开始遇到困难的边界时,引入 Web 服务层。