關於應用集成:同步與異步通訊模式之間的比較

什麼是應用集成?編程

應用集成(或企業應用集成)是指在企業IT環境中,對來自不一樣應用程序之間的流程和數據共享的能力。對於各類規模的企業,應用集成已成爲鏈接各種不一樣的應用程序,實現他們之間的相互協做,從而幫助企業內部提升總體業務效率,加強可擴展性,下降IT成本的關鍵能力。promise

可是,在構建應用集成解決方案以前,瞭解不一樣的集成層次,尤爲是在應用集成環境中如何交換消息(即數據)是相當重要的。本文概述了從高到低四個不一樣的集成層次:展現層,業務層,數據層和通訊層,而後經過對同步和異步通訊的方式的比較,更詳細地討論在底層通訊層上不一樣的集成方法。架構

圖片描述

不一樣層次上的應用集成異步

有四種不一樣層次上的應用集成方法。 在展現層級別上,能夠經過將多個不一樣的應用程序展現爲具有公共用戶界面(UI)的單一應用程序呈現來實現集成。 這種舊的集成手段也稱爲「屏幕抓取」,它使用中間件技術來收集用戶在網頁或其餘用戶界面上輸入的信息。 在過去,人們使用展現層級別的集成方法來集成那些沒法鏈接的應用程序。但在今天,應用集成技術已經發展並變得更加複雜,使得這種方法不那麼廣泛。微服務

經過業務流程集成,企業將開展業務所需的邏輯流程映射到其IT資產上,這些資產一般位於企業內部IT環境的不一樣部分,而且隨着雲計算的興起,愈來愈多位於雲上。 經過識別業務流程中的各項操做,並將其IT資產做爲定位成一個元系統(關於系統的系統),企業可使用應用集成的方法來定義在各個應用程序之間應當如何交互,以實現關鍵業務流程的自動化,從而加快爲客戶提供商品和服務的交付速度,減小人爲錯誤的機會,下降運營成本。工具

除了業務流程集成,數據集成能力對於應用集成也是必需的。 若是一個應用程序沒法交換和準確理解來自其餘應用程序的數據,則可能會出現不一致並使得業務流程的效率下降。 數據集成能力能夠經過如下兩種方法之一來實現:1)編寫代碼來使得每一個應用程序都可以理解來自企業中其餘應用程序的數據,2)採用發送方和接收方應用程序都可以解析的統一數據交換格式。雲計算

後一種方法優於前者,由於隨着企業系統規模和複雜性的增加,它的擴展性更好。在上述的這兩種方法下,對數據的訪問、解析和轉換是可以成功實現數據集成的重要能力。在傳統的SOA技術體系中,一般使用XML數據格式做爲以上描述的統一數據交換和處理格式。而在靈長科技新一代API管理和應用集成平臺上,咱們採用更輕量高效、易於解析處理和轉換的JSON數據格式,並可利用JavaScript豐富的生態中各類高效的數據處理工具,直接對數據進行操做,幫助在不一樣的應用程序之間高效完成數據集成。spa

在業務流程和數據集成層之下是通訊層集成。這指的是在企業內部不一樣的應用程序之間,如何經過文件傳輸,請求/返回方法,或消息傳遞等方法來相互通訊。在許多狀況下,應用程序並非爲了相互通訊而設計的,因此在通訊層上,須要採用能夠幫助實現應用間相互通信的技術。這些技術包括應用編程接口(API),來指定對應用程序的調用方式,以及充當應用程序之間鏈接器的媒介。在通訊層,考慮應用程序之間交互的體系結構也很重要。能夠採用點對點、中心輻射模型或使用企業服務總線(ESB)等技術來實現通訊層面上的應用程序交互體系結構。設計

獲取消息:同步與異步通訊中間件

若是沒有有效的溝通,就沒法正確地整合業務流程和數據。 根據企業的特定需求,應用之間的通訊能夠是同步的,異步的,也能夠是二者的某種組合。

在同步通訊中,發送方應用程序向接收方應用程序發送API調用請求,而且必須等待應答才能繼續進行處理。 此模式一般用於須要以順序方式協調數據請求的場景。

在異步通訊中,發送方應用程序向接收方應用程序發送一條消息,並在接收響應以前繼續本地的處理。換句話說,發送方應用程序並不依賴於接收方應用程序來完成其處理。 若是以這種方式集成多個應用程序,即便其餘的API調用請求還沒有完成處理,發送方應用程序也能夠完成某個API調用。

在設計應用程序集成解決方案時,異步通訊與同步通訊相比具備許多優點,特別是在涉及到SOA和微服務架構中各個服務之間的相互調用時。在同步通訊模式中,當應用程序必須同時等待來自其餘幾個應用程序的響應時,超時的狀況將會更爲常見。 這意味着在異步通訊模式下,因爲無需等待API調用完成而形成頻繁的系統阻塞,服務的可用性將會增長。 而在異步通訊模式下,子流程也能夠按照開發好的任意預約順序執行。JavaScript語言是這種異步通訊模式的典型表明:在JavaScript中,應用開發者能夠很容易地以回調、promise等內置的方法,以異步的模式和其餘應用程序通訊。在靈長科技的CEAMS應用集成平臺上,系統經過中間層和大量的開源第三方開發包,把來自底層數據源的各類數據格式封裝爲統一的JSON數據格式,並經過JavaScript內置的異步通訊模式,幫助高效完成在各個服務之間的通訊。

此外,異步通訊容許應用程序之間的鬆散耦合,從而消除了對鏈接管理的須要。 這使得應用程序集成解決方案更加靈活,敏捷且容易擴展:這些都是現在企業信息系統應當具有的基本屬性。

您想了解更多? 請探索 CEAMS系統,一個統一,高效的混合微服務應用開發和集成平臺。

相關文章
相關標籤/搜索