我们正在尝试为我们所有的开发设置基础设施...... 我们将构建网络应用程序,移动应用程序,Outlook的其他插件等等
所有这些应用都将使用相同的“数据”......
我们正在考虑使用网页应用,我们会使用与API通信的单页角度应用...其中一些应用是外部的,一些是内部的,即内部/外部防火墙......
问题是我们是否构建了每个应用程序与内部和外部对话的一个API?
如果我们这样做,这个API与之交谈的是什么?它应该直接与数据库通信还是与直接与数据库通信的内部Web服务进行通信?
或换句话说......
设计1 =应用> API>网络服务>数据库
设计2 =应用> API>数据库
接下来的问题是我的老板想要为每个应用程序提供一个API,这让我感到困惑,我们一直在争论它......
有没有意义
app 1> app 1的API>网络服务>数据库
移动应用1>移动应用1的API>网络服务>数据库
就个人而言,我倾向于:
app 1> API>数据库
app 2> API>数据库等...
你有什么想法?
答案 0 :(得分:1)
根据给定的方案应用> API>网络服务>数据库更好,因为......
在“app 1> API>数据库”方法中,API将具有可在每个API中复制的业务逻辑....显然,将业务逻辑放在应用程序本身或数据库中并不是那么好。
在“apps> API>网络服务>数据库”中,我们可以在共享网络服务下放置许多常见的业务逻辑和其他基础设施相关内容,供所有API使用。
由于异构Web或Windows应用程序可以使用Web服务......因此以这种方式放置共享功能总是好的。