2014-10-03 58 views
3

我有許多使用通信層互相通信的應用程序(.Net & Java)。 我現在需要擴展通信層以允許第三方應用程序訪問它 - 如下所示。 但是,雖然我想確保我的應用程序仍然可以訪問通信層中的所有可用方法,但我想限制對第三方應用程序的訪問。控制對通信層的訪問

從本質上說,我需要爲我的應用程序找到一種方法來證明它們確實是我的。當然,我可以在每封郵件中使用公鑰/私鑰加密或獨特的哈希值,但這會使我的應用程序之間的通信速度減慢到一個相當難以接受的限制。有沒有人有任何其他想法?

enter image description here

+0

使用不同的端點進行公共和私人訪問 – RAJ 2014-10-03 12:21:38

+0

@RAJ - 我已經設置了不同的端點,但是如何阻止惡意第三方應用程序進入錯誤的端點? – Johnv2020 2014-10-03 12:24:48

+1

對不起,你可以擁有的是服務路由器,外部第三方只能訪問路由服務。此路由器服務將負責必要的安全。 – RAJ 2014-10-03 12:46:07

回答

3

你幾乎完美地描述了Enterprise application integration的概念。您可以一起使用這兩種模式

我想確保我的應用程序仍然可以訪問通信層中的所有可用方法我想限制訪問第三方應用程序。

這裏的第一個 - Mediation pattern可以幫助你爲自己的應用程序之間的中介。無論何時在一個應用程序中發生感興趣的事件,都會通知EAI系統中的集成模塊。該模塊然後將更改傳播到其他相關應用程序。

需要延長通信層,以使部分第三方應用程序訪問它

Federation pattern將確保從「外面的世界」的任何所有呼叫的應用程序是EAI系統的前端。因爲它充當跨越多個應用的​​總體立面。 EAI系統被配置爲僅向外界展示底層應用的相關信息和接口,並且代表請求者執行與底層應用的所有交互。

對於

通信層

你可以看看通信架構部分,這也是何況還有。在我目前的項目中,我們使用Tibco

-2

創建Web服務發生通信,並使用該服務,爲所有的應用程序,以互相通信。 也繼續在每個服務所使用的消息中使用公鑰/私鑰加密或唯一哈希。