中間件是在操作系統功能范圍外為應用提供服務的多用途軟件。任何位於內核和用戶應用之間的軟件都可以是中間件。中間件不提供傳統應用的功能,而是將軟件與其他軟件銜接。由於中間件能夠讓數據從一個應用流動到另一個中,因此把它比作輸水管最為貼切。
中間件就是程序中可織入的,可重用的,與業務邏輯無關的各種組件。
中間件(middleware)是基礎軟件的一大類,屬於可復用軟件的范疇。
顧名思義,中間件處於操作系統軟件與用戶的應用軟件的中間。
中間件在操作系統、網絡和數據庫之上, 應用軟件的下層,總的作用是為處於自己上層的應用軟件提供運行與開發的環境,幫助用戶靈活、高效地開發和集成復雜的應用軟件。
在眾多關於中間件的定義中,比較普遍被接受的是 IDC 表述的:中間件是一種獨立的系統軟件或服務程序,分布式應用軟件借助這種軟件在不同的技術之間共享資源,中間件位於客戶機服務器的操作系統之上,管理計算資源和網絡通信。
分類:數據訪問中間件,遠程調用中間件,消息中間件,交易中間件,對象中間件。
舉例:
- RMI (Remote Method Invocations, 遠程調用)
- Load Balancing(負載均衡,將訪問負荷分散到各個服務器中)
- Transparent Fail-over(透明的故障切換)
- Clustering(集群 , 用多個小的服務器代替大型機)
- Back-end-Integration(后端集成,用現有的、新開發的系統如何去集成遺留的系統)
- T ransaction 事務(全局 / 局部)全局事務(分布式事務)局部事務(在同一數據庫聯 接內的事務)
- Dynamic Redeployment (動態重新部署 , 在不停止原系統的情況下,部署新的系統)
- System Management(系統管理)
- Threading(多線程處理)
- Message-oriented Middleware 面向消息的中間件(異步的調用編程)
- Component Life Cycle(組件的生命周期管理)
- Resource pooling (資源池)
- Security (安全)
- Caching (緩存)