我需要建议如何最好地为大规模企业应用程序实现API,在根应用程序中运行一些子Web应用程序。例如Root,Child1和Child2
每个应用程序都有单独的MVP项目在IIS中托管。 MVC应用程序只有前端逻辑,业务和数据访问层托管在另一个WCF项目中(每个子项的单独WCF项目)。前端MVC应用程序仅将请求路由到目标WCF应用程序。
现在我计划为每个应用程序设计API。我无法决定是否应该创建一个单独的应用程序,该应用程序将保存所有子应用程序和根应用程序的API,或者应该在每个应用程序中添加API。与前端MVC项目一样,API也将重定向到集中式WCF应用程序。
有一个适用于所有API的常用逻辑(速率限制,身份验证等...),如果API在每个应用程序中,那么我将在所有三个应用程序中使用复制逻辑。
答案 0 :(得分:0)
无论如何都需要权衡。
开发单独API的优势包括:
缺点包括:
我的默认位置是开发单独的API,但你的特定用例(路由请求到其他东西)可能会被一些现有的工具解决,例如nginx - 我不知道这些,所以不能建议