【发布时间】:2018-01-27 06:11:02
【问题描述】:
宽泛的问题:
我们的应用正在迅速接近旧版状态。它有三个客户端:Windows 应用程序、浏览器(网站)和移动端。数据访问层充其量是复杂的,并且多年来一直在有机地增长。
我们想重新设计整个事物。 Windows 应用程序将消失(因为谁再这样做?)我们将只有基于浏览器的网站和移动应用程序,这两者都将消耗(截至今天,不存在) ) API 层。如果第三方希望进行自己的集成,该 API 层也将部分公开。
这是我的问题:
这个 API 层是什么样的?我的意思是……让我们从 Visual Studio 解决方案开始。 API 是一个单独的网站吗?那么在 IIS 上,是否会有两个站点……一个用于面向公众的网站,另一个用于 API 层?
或者,API 是否应该是主网站中的 .dll,并且端点 URL 应该是 IIS 中单个网站的一部分?
最终,我们将希望更新和发布一个不影响另一个。我只是不确定,在一个非常高的层次上,如何构建整个事情。
(如果重要的话:每个客户端都有自己的安装,可以是本地网络上的,也可以是云托管的。所有数据库都是单租户。)
【问题讨论】:
-
啊,天哪——如果你要投票结束这个,你至少可以给我一个理由。这个网站不就是教人吗?
-
不,这个网站是关于编程问题的问答。正如您自己所说,这是一个广泛而普遍的问题(甚至可能基于意见)。见stackoverflow.com/help/dont-ask
-
这取决于你的 API 应该做什么。如果它只是用于数据传输,那么最好开发为 Web 服务(比如说 WCF)。 Web 服务可以部署在与应用服务器相同的服务器上,也可以部署在不同的服务器上(这使您的应用具有可扩展性),但部署会变得有点复杂
-
这个问题似乎更适合 StackExchange 的软件工程社区,因为它专注于架构。