我有许多应用程序(.Net和Java)使用通信层相互通信。
我现在需要扩展通信层,以允许第三方应用程序访问它-如下所示。
但是,尽管我想确保我的应用程序仍然可以访问通信层中的所有可用方法,但我想限制对第三方应用程序的访问。

因此,从本质上讲,我需要为我的应用程序找到一种方法来证明它们确实是我的。自然,我可以在每条消息中使用公钥/私钥加密或唯一的哈希,但是这将我的应用之间的通信速度减至了一个非常无法接受的极限。有人还有其他想法吗?

最佳答案

您几乎完美地描述了Enterprise application integration的概念。您可以将两种模式一起用于

我想确保我的应用程序仍然可以访问我想限制对第三方应用程序的访问的通信层中的所有可用方法。

在这里,第一个- Mediation pattern 可以帮助您作为自己的应用程序之间的代理。每当在一个应用程序中发生有趣的事件时,就会通知EAI系统中的集成模块。然后,模块将更改传播到其他相关应用程序。

在一部分

需要扩展通信层以允许第三方应用程序访问它

Federation pattern 将确保EAI系统对从“外部世界”到任何应用程序的所有调用进行前端处理。由于它是跨多个应用程序的总体外观。 EAI系统配置为仅将基础应用程序的相关信息和接口暴露给外界,并代表请求者执行与基础应用程序的所有交互。

为了

通讯层

您可以查看“通信体系结构”部分,该部分也在其中提到。在我当前的项目中,我们使用Tibco

08-04 09:22