0

我们正在尝试为我们所有的开发设置基础设施......我们将构建网络应用程序、移动应用程序、其他 Outlook 插件等

所有这些应用程序都将使用相同的“数据”......

我们正在考虑网络应用程序,我们将使用与 API 对话的单页 Angular 应用程序......其中一些应用程序是外部的,一些是内部的,即防火墙内部/外部......

问题是我们是否构建了一个 API,每个应用程序都可以与之通信(内部和外部)?

如果我们这样做,这个 API 与什么对话?它应该直接与数据库对话还是与直接与数据库对话的内部 Web 服务对话?

或者换句话说...

设计 1 = 应用程序 > API > Web 服务 > 数据库

设计 2 = 应用程序 > API > 数据库

下一个问题是我的老板想要为每个应用程序提供一个 API,这让我有点困惑,我们一直在争论它……

有没有意义

应用程序 1 > 应用程序 1 的 API > Web 服务 > 数据库

移动应用程序 1 > 移动应用程序 1 的 API > Web 服务 > 数据库

就个人而言,我倾向于:

应用程序 1 > API > 数据库

应用程序 2 > API > 数据库等...

你觉得呢?你有没有什么想法?

4

1 回答 1

1

根据给定的场景应用程序 > API > Web 服务 > 数据库更好,因为...

在“应用程序 1 > API > 数据库”方法中,API 的业务逻辑将在每个 API 中重复......显然将业务逻辑放在应用程序本身或数据库中并不是那么好。

在“应用程序 > API > Web 服务 > 数据库”中,我们可以将许多常见的业务逻辑和其他基础设施相关的东西放在共享 Web 服务下,所有 API 都可以使用它们。

由于 Web 服务可以被异构 Web 或 Windows 应用程序使用……以这种方式放置共享功能总是好的。

于 2013-06-26T12:46:41.837 回答