是否可以将Webhook作为通用组件

问题描述 投票:0回答:1

假设我有一套可以集成的系统,但是需要很长时间才能实现与所有这些系统的集成。因此,我构建了一个软件来使用 Webhook 与其他应用程序进行通信。我可以从其他系统接收数据。

我从 https://webhooks.fyi/ 知道其他系统可以有不同的安全机制来实现其 webhooks。

是否可以构建一个通用的 webhook,我可以用它来与所有系统(支持 webhook)集成,我应该如何处理它?

architecture integration webhooks system-design
1个回答
0
投票

是的,这是可能的。

您是否已决定使用哪种技术和编程语言来实现您的系统?如果是,请查看您可以找到哪些现有的库和框架(等)来为您的技术提供帮助。

在架构方面,您希望在解决方案中创建逻辑层,以便集成与解决方案的其余部分保持分离。

在集成层中您想要使用依赖反转;这是一个设计原则,您可以针对合约/接口进行编程,而不是针对特定的代码/类进行“硬编码”:

[Logic] -- [Contract] -- [Implementation]

使用这种方法,您将能够创建一个“即插即用”架构,您可以在其中创建任意数量的 WebHook 提供程序。例如,您可以为每个系统构建一个具体的 Webhook 提供程序(您想要与其集成),并动态加载它们;或者您可能会发现您只需要构建 2 或 3 个略有不同的提供程序,并在运行时为它们提供不同的参数。

维基百科提供了有关依赖倒置的信息,如果您在线查看,您会发现许多其他信息和指南:https://en.wikipedia.org/wiki/Dependency_inversion_principle

如果您以前从未尝试过,设计和实现基于依赖倒置的系统可能是一个挑战 - 有很多新想法需要您思考,但您所做的投资将是非常值得的。我的意思是,在取得进展之前,您应该期望必须进行大量的研究和设计/原型制作,因此请为此做好心理准备。

© www.soinside.com 2019 - 2024. All rights reserved.