如何在三层架构中部署/开发WebService

本文关键字:部署 WebService 开发 三层 | 更新日期: 2023-09-27 18:00:54

背景信息

  • NET中用C C#开发的WebService
  • 它需要发布到网络上
  • 它需要访问数据库服务器

该Web服务是在3层架构中开发的。我的意思是,Web服务引用了一个处理所有业务逻辑的DLL项目和另一个处理全部数据库交互的DLL项目。

问题

我的客户有一个三层体系结构。因此,看到数据库的服务器(APP Server(不会发布到web,而发布到web的服务器(web Server(无法看到数据库。

数据库服务器---->应用服务器---->Web服务器

如果我在应用服务器中发布WebService,我将无法从web访问它。

如果我在Web服务器中发布WebService,它将无法访问数据库。

问题

对我来说,哪种方法是最好的:

1-我有没有办法把业务逻辑和数据访问DLL放在应用服务器中,并在Web服务器中发布我的WebService?

2-或者我需要在应用服务器中安装我的WebService,并在Web服务器中创建和发布一个"Dummy"WebService,该WebService使用应用服务器中的WebService并将其公开给Web,等等。

3-其他事情。。。

如何在三层架构中部署/开发WebService

您可以考虑设置一个代理,它只需将进入WebServer的请求转发到ApplicationServer。WebServer发布到互联网上,但实际上只是一种端口转发机制,用于将HTTPS请求转发到您的内部服务器。您可以在web服务器上进行所有常规强化以防止攻击,从web服务器到ApplicationServer的VPN将意味着ApplicationServer不需要发布到web。