整合来自多个来源的项目的最佳方式?

时间:2017-10-09 16:06:29

标签: c# asp.net-web-api architecture client-server

我的任务是集成来自两个不同系统的节点。出于演示目的,假设我必须在同一树视图中一起显示Google Drive和OneDrive节点,从而允许诸如从一个系统拖动到另一个系统之类的互操作性。该系统是一个Web客户端 - 服务器架构,目前有超过4个客户端应用程序使用相同的服务器应用程序。大多数问题都通过在节点对象上指定系统源的属性来解决。 (OneDrive,GoogleDrive)但是,在不知道ID来自的系统的情况下,仅涉及ID的请求是不可用的。我们是一个小团队,因此虽然优选解决方案的纯度,但实现解决方案的工作量也是一个因素。评估的几个解决方案是:

  1. ID中的NodeSource。 (即GD-342341234lkj4,OD-2r23rkjmjfsdlf)
  2. 为每个外部节点类型分隔WebApi控制器。 (对于添加更多节点源,即iCloud,似乎没有可扩展性)
  3. 一组处理所有外部节点类型的WebApi控制器。 (将来允许更多节点源,但不比ID中的NodeSource更清晰)
  4. 目前,ID解决方案一直是首选解决方案,因为不仅涉及服务器端代码的工作量较少,而且还会减少客户端应用程序使用新功能所需的工作量。我们目前在服务器端使用三层架构,并且使用ID解决方案,考虑添加第四个充当路由层的架构:

    网络控制器 - >业务逻辑 - >数据访问

    网络控制器 - > ID上的路由 - > OneDrive业务逻辑 - > OneDrive API

                                 \
                                  -> Google Drive Business Logic -> GoogleDrive API
    

    如果有人对如何实现这一点有任何其他想法,或者为什么不这样做,我很乐意听到它!或者如果你觉得这个问题不属于这里,请指出我应该问的地方。

0 个答案:

没有答案