Architecture 将web服务用于业务层和数据访问层的缺点?

Architecture 将web服务用于业务层和数据访问层的缺点?,architecture,application-design,web-application-design,Architecture,Application Design,Web Application Design,对于基于web的业务应用程序,使用web服务开发业务层、数据访问层是否良好?缺点是什么 UI层(ASp.Net)-->业务层(WCF Web服务)-->数据访问层(WCF Web服务) 所有内容都将托管在一台服务器上。为业务、数据访问层提供web服务是最佳做法吗 问候,, 安南利大于弊 浏览器兼容性 当服务器死亡时,应用程序也死亡 带宽要求 这在很大程度上取决于您的非功能性需求和您可能已经知道的变更案例。通过使用某种Web服务(SOAP/REST)分离所有层,这种方式将引入: 协议、安全性、部署

对于基于web的业务应用程序,使用web服务开发业务层、数据访问层是否良好?缺点是什么

UI层(ASp.Net)-->业务层(WCF Web服务)-->数据访问层(WCF Web服务)

所有内容都将托管在一台服务器上。为业务、数据访问层提供web服务是最佳做法吗

问候,,
安南

利大于弊

浏览器兼容性

当服务器死亡时,应用程序也死亡

带宽要求


这在很大程度上取决于您的非功能性需求和您可能已经知道的变更案例。通过使用某种Web服务(SOAP/REST)分离所有层,这种方式将引入:

  • 协议、安全性、部署(con)方面的额外复杂性
  • 延迟,因为需要几个(反)序列化步骤(UI>业务>数据访问)。请记住,您的数据访问层再次连接到(远程)数据存储(con)
  • 能够独立地扩展不同的层。比如说,另一个系统想要重用您的BusinessLayer,您可以仅扩展(集群)业务层和后续层(DataAccess和Datastore)。(临)

  • 我宁愿从简单开始,只从架构的角度清楚地分离不同的层。在UI、业务和数据访问层之间建立定义良好的(.NET)接口。如果您后来得出结论,必须将层分离到不同的节点上,则可以“轻松”生成相应的Web服务代理,并仅在少数位置修改组件。

    所有三个层都将“在一台机器上”?是的。。将在单个服务器中运行