1.內部網關概述:
集合A的應用 通過內部網關,去訪問 集合B的應用。A<----> NBWG <---->B內部網關起到到系統之間的接口數據起到監控、管理、安全規範等作用。
2.技術方案:
兩系統的接口,是在Http協議的網絡傳輸的。
a.內部網關NBWG解析請求方A的IP、接口名,驗證請求方是否安全。得出請求參數request(x)及安全標誌flag。b.(合法的flag)內部網關NBWG根據請求參數request(x),找到對應的業務系統B,將請求request(x)轉發給B。
c.B系統接收請求request(x),響應請求,並把結果response(x)交給內部網關NBWG。得出響應狀態status。
d.部網關NBWG把結果response(x)交給請求方A系統。
要點:
若a環節得出的哦flag不合法,則內部網關NBWG拒絕本次請求,請求方A不會得到業務方B的響應。
若c環節得出的response(x)的狀態status不合法,則內部網關NBWG過濾掉response(x),A本次請求的結果爲空。
3.技術實現:
a.NBWG 的 Spring MVC 框架下的一個controllor獲得請求方A的請求request,解析request用到Enumeration enu = request.getParameterNames();遍歷enu 後得到request(x)及安全標誌flag。
b.在數據中根據request(x)中的接口名找到業務系統B的訪問路徑,並根據request(x)內容拼成新的url.
c.用CloseableHttpClient、HttpPost、ResponseHandler等實現NBWG把新的url交給業務系統B,並處理
B的返回值response(x)。若返回值合法,則把response(x)交給請求方A。
擴展資料:
很多大公司或則複雜的項目集用的是ESB、SOA等技術。
ESB開源:http://www.360doc.com/content/13/0123/17/10825198_261983844.shtml