我们目前正面临一些棘手的架构问题,如何将多个Web组件与单个后端服务集成在一个复合web中,使其成为一个平滑的web应用程序。
在(可谈判的)设计决策中存在一些制约因素:
我画了一个草图,代表我们的抽象/非技术要求,以供进一步讨论:

据我所知,这个问题可以重新表述为:我们如何
( a)集中交流进入
( b)在离开时分发来文
两端的单一传输路径。
这两项任务需要在运输路径的两边解决,例如。后端和前端。
对于后端,我非常希望采用BFF模式不仅仅是山姆·纽曼所描述的可以满足我们的需求。然后,上面草图的右半部分(后端)看起来类似于这样:

传输路径可能最好使用标准化的网络技术,例如。https和websocket (wss)是最需要的双向通信。我热衷于了解在网络技术领域具有相当高使用率的替代品。
对于前端,我们目前缺乏关于以前描述的模式或框架的想法和知识。
棘手的是,多个基本独立的WebComponents需要一起查找,以便使用一个中心通信路径。例如,如果通过实现一个(大)角度应用程序来实现前端,我们将实现并注入一个"BackendConnectorService“(需要讨论的名称),并注入到我们的各个组件中。
但是,由于我们希望使用解耦的Web组件,因此不存在用于共享业务逻辑和依赖项注入的背景层。我们是否应该编写一个专有的JS库,如果还没有从我们的每个组件中加载到窗口上下文中,它应该被用来(按照惯例)与后端通信吗?
这将大致与下面的草图相结合:

我们是不是想错了/设计了应用程序?
我感谢每一个合理的想法或暗示一个行之有效的模式/框架。
此外,您对问题和体系结构的看法可能有助于解决我们目前面临的问题。
发布于 2018-10-17 06:59:27
我将采用您在前端后端使用的相同方法。创建一个HTTP或WS网关,前端组件将对请求进行轮询。它将连接到后端BFF,在那里您解决了所有的问题。无论何时您想要交换组件、传输或体系结构,其中一个并不依赖于另一个组件。
https://stackoverflow.com/questions/52833650
复制相似问题