SOA_and_ESB(WMB)5

與J2EE的系統集成,關鍵是看應用系統是否按照上面所描述的模型方式來建設,如果系統的邏輯層次分明,則集成會相對容易,反之會麻煩。我們在集成J2EE應用的時候,比較關注的是該系統能抽取哪些服務重用,是通過什麼樣的方式將服務發布出來。一般說來,在J2EE系統中,Java Bean、POJO、EJB、JMS、Servlet、JCA等是服務的常見封裝方式。我們建議在和ESB進行集成的時候,採用JMS、POJO是比較方便、簡單的方式。

3.1.2    與基於MQ系統的集成

WebSphere MQ是非常通用、成熟的商業消息中間件,應用系統對外交互的接口為消息隊列,同時提供消息/數據傳輸的可靠性保障。MQ消息中間件一般同時提供同步、異步兩種通訊方式。使用消息隊列,消息系統可以管理很多通訊細節。此種接口方式為典型松耦合模式,是應用集成普遍使用的方式之一,可以實現接口的重用能力。目前, IT系統中使用消息中間件比較多,技術也比較成熟,因此,採用面向消息隊列的集成是非常可行的方案。

下面是採用MQ連接企業服務總線的示意圖:

 

 

3.1.3    與基於CICS系統的集成

CICS在其客戶機端支持JAVACCOBOL等語言,也採用統一的應用編程接口(API),客戶可以採用兩種方式來編製CICS的客戶端程序,一種是External Call Interface(ECI),另一種是External Presentation Interface(EPI)。另外CICS也提供了符合J2EE JCA規範的適配器

下面是CICS服務和企業服務總線集成的示意圖:


 

3.1.4    與基於郵件系統的集成

基於郵件(如Domino)的應用提供了多種方式的集成,可以通過Java調用、本地調用、Web Service、消息等方式和ESB進行交互。考慮到我們建議的ESB的技術特點,首先我們建議採用和CICS類似的方式,通過消息的方式和ESB進行集成,可以參考上面的圖例。

另外,郵件系統一般提供了比較好的Web Service支持,可以直接接受SOAP的請求,因此通過Web Service調用也是可行的。

 

3.1.5    與基於C/S架夠系統的集成

基於C/S的應用是上世紀九十年代比較普遍的方式,對集成的考慮比較少。由於一般C/S的應用將頁面和應用邏輯混在了一起,因此不容易抽象出後台服務給其他系統使用。對C/S的應用改造會有比較多的工作量。C/S方式的應用多數是採用VBPBDelphi等工具實現,集成的困難是在頁面和邏輯的分離上。考慮到我們建議的ESB特點,建議通過MQ消息中間件的方式進行集成,可以參考CICS的圖例。但是和CICS集成的重要區別是C/S系統要通過使用本地語言編程來實現連接MQ的適配器。

 

3.2    平台擴展性與高可用性的實現

ESB平台我們建議使用IBMWebSphere Message Broker實現,它是一個高性能的產品,在國內外許多大型的系統中有成功應用的案例。Message BrokerMQ都提供了Cluster群集解決方案,通過橫向擴展提高系統的吞吐能力,下面是示意圖:

 

ESB是一個服務於廣大後台系統的關鍵系統,除了要求系統具備足夠的吞吐能力外,也要求系統具有相當高的可用性,來支持業務的連續運行。

高可用性的關鍵在於避免系統的單點故障 (Single Point Of Failure) WebSphere Message Broker完全提供了集群功能,實現了整個系統能夠有效支持近似7*24小時不間斷運行。當系統需要升級或安裝補丁時,可對集群中的成員進行逐一更新,支持系統在升級期間不間斷運行。

多個企業服務總線可以共同組成一個 Cluster 環境,實現系統的高可用性。另外,連接外部系統的Adapter 需要服務於固定的系統連接,需要利用系統的 HACMP 實現高可用性。

對於採用軟件 Cluster 方式的部分,當其中的一個部分需要升級或安裝補丁時,可以讓其中的一個成員暫時停止服務,對其進行相應的操作後重新加入 Cluster 中。按照此方法可以對每個成員逐一進行處理。

需要說明的是,以上兩方面都需要對系統、中間件和應用進行仔細的規劃。並且在進行充分的測試後,再在生產系統中使用。

3.3    平台安全性的考量

ESB平台是應用集成的核心和基礎,對安全性有很高的要求。一般來說,對安全的考慮主要涉及到認證、授權兩個方面,認證主要是判斷使用者是不是”合法”的ESB用戶,授權是判斷使用者有沒有權限訪問ESB特定中的資源。對於我們推薦使用的ESB產品WebSphere Message Broker,對與安全有比較詳細的考慮。

WebSphere Message Broker中的安全管理工作包括了配置、運行工具、性能問題確定、資料收集等,參與到上述任務的人員都需要WebSphere Message Broker一定的授權。如果希望可以正確地使用系統授權,管理員必須進行一些操作。同時,由於WebSphere Message Broker涉及比較多的MQ資源,對MQ安全控制也是考慮的重要因素。

對於WebSphere Message Broker,授權主要關注誰有權限存取系統中的資源,確保想訪問系統資源的用戶是被許可的,例如:

    可以配置WebSphere Message Broker,如使用mqsicreatebroker命令

    存取系統隊列,如放置一個消息到消息流的啟動隊列中

    在開發工作台中進行操作,如部署消息流到運行環境中

    發布、訂閱主題

對於系統運行時候的服務,也是需要進行授權才可以訪問的。WebSphere Message Broker中的運行對象存在於Broker Domain中,每一個運行對象都有一個存取控制列表(Access Control List,ACL),ACL決定了哪個用戶或者組有權限存取運行對象。ACL中的條目明確誰可以查看、修改運行對象。需要說明的是ACL雖然許可或者拒絕用戶訪問運行對象,但ACL並不對運行對象進行保護。

以下文章點擊率最高

Loading…

     

如果這文章對你有幫助,請掃左上角微信支付-支付寶,給於打賞,以助博客運營