我的看完這篇文章後的一點感想: 試想一下某國的武器庫中有一種很厲害的武器,當這個國家和其餘國家爆發爭端的時候,這個國家想要使用該武器,可是他們卻沒法將該武器投送到戰場。中間件就是用來解決這個投送過程的。編程
中間件是一種多用途軟件,可爲操做系統提供的應用程序以外的應用程序提供服務。 內核和用戶應用程序之間的任何軟件均可以是中間件。服務器
分析師和系統理論家Nick Gall說:「中間件是關於軟件的軟件。」 中間件不提供傳統應用程序的功能,它將軟件鏈接到其餘軟件。 中間件是您的IT基礎架構的管道,由於中間件容許數據從一個應用程序流向另外一個應用程序。 例如,Apache Kafka是開源中間件,可爲您的應用程序提供實時數據流功能。網絡
古羅馬是歷史上最引人注目的衛生系統之一。 渡槽和下水道的複雜網絡很是重要,普林尼長老將它們視爲羅馬「最值得注意的成就」。 就像羅馬的渡槽帶水同樣,企業中間件將數據從一個地方傳送到另外一個地方。 咱們並非說中間件是人類最偉大的成就,可是許多其餘 - 或許更值得注意的 - 軟件能夠由於中間件而起做用。架構
管道可能看起來像中間件的一個簡陋的比喻,但二者對於運營像羅馬這樣的大型複雜系統相當重要。 您的企業相似於快速發展的城市:城市的全部部分都須要水,就像企業的全部部分都須要數據同樣。 沒有管道,一個城市效率低下且完全凌亂。 沒有中間件,您的企業也是同樣的。框架
中間件能夠包含各類軟件,包括:異步
應用程序編程接口(API)
API是用於構建應用程序軟件的工具,定義和協議集,它使您的產品或服務能夠與其餘產品和服務進行通訊,而無需瞭解它們的實現方式。工具
應用服務器
應用程序開發平臺(如RedHat®JBoss®EnterpriseApplication Platform)。 應用程序服務器是一個框架,它提供建立應用程序的功能和運行它們的服務器。spa
應用集成
應用程序集成是經過集成框架組合來自多個應用程序的數據的實踐。 該框架能夠限制整個組織中的點對點鏈接數,這可能致使複雜的依賴關係和潛在的失敗點。操作系統
數據集成
數據集成是未來自異構源的數據組合到用戶訪問和操做的統一視圖中的實踐。
事務處理(TP)
TP經過控制事務應用程序,實施業務邏輯和規則或推送數據庫更新來維護系統(一般是數據庫或文件系統)的完整性。
遠程程序調用(RPC)
客戶端 - 服務器交互,容許應用程序或功能跨多個平臺分佈。
面向消息的MIDDLEWARE(MOM)
經過添加排隊機制對RPC進行改進,該機制容許客戶端 - 服務器交互在目標節點緩慢或繁忙的狀況下異步發生。
OBJECT REQUEST BROKER(ORB)
另外一種客戶端 - 服務器交互,容許訪問遠程服務,就像它們是本地的同樣。 服務器進程向ORB註冊,客戶端聯繫ORB以查找這些服務。
若是數據就像公司管道中的水同樣,那麼考慮一下,若是你不須要拿水桶,前往水泵,用水填充水桶,並將其拉回到原來的位置,那麼會有多好。 沒有中間件,這就是你每次想要工做時所作的事情。 將數據經過管道傳輸到企業中的任何位置都會更方便,更高效。
當您跨應用程序集成數據時,您能夠專一於爲組織建立很酷的新東西,而不是將時間花在手動流程上。 例如,經過現代應用程序平臺,開發人員能夠專一於開發應用程序功能,而不是管理他們的應用程序如何與其餘環境集成。