必威电竞|足球世界杯竞猜平台

中間件軟件
來源:互聯網

一類軟件名,屬基礎軟件和可復用軟件。總的作用是為處于自己上層的應用軟件提供運行與開發的環境,幫助用戶開發和集成應用軟件。它不僅僅要實現互連,還要實現應用之間的互操作;最突出的特點是其網絡通信功能。最流行的交易中間件為Tuxedo。有兩個關鍵特征,為上層的應用層服務;必須連接到操作系統的層面,并確保持運行工作狀態。

中間件軟件

中間件(middleware)是基礎軟件的一大類,屬于可復用軟件的范疇。顧名思義,中間件處于操作系統軟件與用戶的應用軟件的中間。中間件在操作系統、網絡和數據庫之上,應用軟件的下層,總的作用是為處于自己上層的應用軟件提供運行與開發的環境,幫助用戶靈活、高效地開發和集成復雜的應用軟件。

在眾多關于中間件的定義中,比較普遍被接受的是IDC表述的:中間件是一種獨立的系統軟件或服務程序,分布式應用軟件借助這種軟件在不同的技術之間共享資源,中間件位于客戶機服務器的操作系統之上,管理計算資源和網絡通信。

IDC對中間件的定義表明,中間件是一類軟件,而非一種軟件;中間件不僅僅實現互連,還要實現應用之間的互操作;中間件是基于分布式處理的軟件,最突出的特點是其網絡通信功能。

中間件軟件起源

我們最早知道的中間件是一個稱為Tuxedo的東西,實質上它是一個交易中間件。1998年IDC公司對于中間件有一個定義,并根據用途將其劃分為6個類別。如今所保留下來的只有消息中間件和交易中間件,其他的已經被逐步融合到其他產品中了,被包裹進去了,在市場上已經沒有單獨的產品形態出現了。例如,當時有一個叫屏幕數據轉換的中間件,其主要是針對IBM大機終端而設計產品,用于將IBM大機終端的字符界面轉化為用戶所喜歡的圖形界面,類似的東西當時都稱為中間件。但隨著IBM大機環境越來越少,但是盛行一時的此類中間件如今已經很少再被單獨提及。

2000年前后,互聯網盛行起來,隨之產生了一個新的東西,就是應用服務器。實際上,交易中間件也屬于是應用服務器,為了區分,人們傳統的交易中間件稱為分布交易中間件,因它主要應用在分布式環境下,而將新的應用服務器,稱為JBoss中間件,到目前為止,這都是市場上非常熱門的產品。

EAI概念出來之后,市場上又推出了一些新的軟件產品,,例如工作流、Portal等,但從分類上不知道怎么歸類,向上不能夠劃歸應用,往下又不能歸入操作系統,于是就把它歸入了中間件,如此中間件的概念更加擴大了。目前,市場上對于中間件,各家的說法不一,客觀上也導致了理解上的復雜性。

如今,市場上又推出了很多新的概念,例如三層結構、構件、Web服務,其中風頭最勁的當屬SOA(面向服務的架構)。實際上,他們都不是一個產品,而是一種技術的實現方法,是開發一個軟件的一種方法論。我們知道,最早軟件開發方法就是編程、寫代碼的,其缺點在于無法復用,為此提出了構件化的軟件開發方法,通過把編程中一些常用功能進行封裝,并規范統一接口,供其它程序調用,例如我們開發一個新軟件,可能要用到構件1、構件2、構件3,那么,我們只要對其進行本地組裝,就可以得到我們想要的應用軟件。在互聯網得到普及重視之后,軟件開發方法在構件化基礎上又有新發展,核心思想是軟件并不需要囊括構件,所需要的僅僅是構件的運行結果,例如編寫一個通信傳輸軟件,就可以到網上尋找構件,并提出服務請求,得到結果后返回,而不需要下載構件并打包,這就是現在所說的SOA。想要現實SOA,就要規范構件接口,同時還要規范構件所提交的服務結果,如此,新的軟件開發的思想才能夠行的通。但SOA并不是一個產品,而是一種思想方法,而實現這種方法的基礎,如今看來只有中間件。

那么,到底什么才是中間件,什么不是中間件?從東方通的觀點看,中間件應該具備兩個關鍵特征:首先要為上層的應用層服務,這是一個基本條件;此外,又必須連接到操作系統的層面,并卻保持運行工作狀態,具備了這樣兩個特征才能稱為中間件。現在很多人把開發工具也稱為中間件是不合適的,因為開發工具開發出來的軟件,并不依賴開發工具與底層操作系統連接。

典型案例

現在最流行的交易中間件為Tuxedo的東西,實質上它是一個交易中間件,如果你想真正的知道中間件的定義,我認為學習一下它,是唯一的辦法。

在當今系統整合、全球應用、永遠可用的業務環境中,企業要求分布式事務處理(TP)的基礎結構,不僅能夠充分發揮現有技能和應用資產的作用,而且還要具備基于標準的互操作性以簡化集成。

BEA Tuxedo 是當今 C、 C++COBOL解決方案的首選平臺。它運行著一些最大型的關鍵任務事務處理系統,如有線傳輸、ATM和電信。它是許多世界領先公司的支柱。

只有 BEA Tuxedo 才能提供這樣強大的平臺,滿足在分布式異構計算環境下運行如此大量應用的需求;它能夠使事務在全球范圍內跨任何系統,從面向客戶的關鍵任務應用延伸到后臺處理。

BEA Tux 是一種多語言、可任意伸縮的事務處理平臺,它提供了用戶為實現下列目標所必需的任務關鍵型基礎結構:

增強現有應用的可訪問性

整合企業事務處理和消息傳遞解決方案

采用Web 服務的核心應用

確保應用最高的可用性和吞吐量

提升處理效率,改善資源管理

降低總體擁有成本

(圖文翻譯)

BEA Tuxedo 向業務關鍵型基礎結構的服務,提供可伸縮的BEA Tuxedo Domain 連接性和應用互操作性。

BEA Tux 產品功能

BEA Tuxedo 采用基于面向服務的架構。該架構利用功能強大的消息和事務處理引擎,極大地簡化企業分布式計算

高性能消息引擎:BEA Tuxedo 系統的核心是能夠保證"一次性"交付的高性能、高可靠性的消息引擎。該引擎提供同步式、異步式和會話式消息 API。所有這些,不管是在一臺機器上,還是在相關機器的集群中,或者在獨立的 bea Tuxedo 中,都是透明的。使用數據依賴路由,BEA Tuxedo可以根據其上下文和優先級來路由消息。

面向服務的基礎結構:BEA Tuxedo 系統與 Service Request Broker (SRB) 非常相似,它提供面向服務的基礎架構,從而可以跨BEA Tuxedo 流程和應用,高效地路由、調度、管理各種請求、事件和應用隊列

功能強大的 API:把諸如兩階段提交、異構資源管理之類復雜的事務管理,封裝在標準的API 中,BEA Tuxedo 向 IT 部門提供了功能強大、用戶友好的TP 基礎結構,以滿足其所有的 C、C++COBOL應用的需求。

高度分布的事務處理:BEA Tuxedo分布式處理管理服務,可以跨多個數據庫優化事務處理,不管采用什么訪問協議,都能確保所有在用資源和數據庫的數據完整性。該系統不但跟蹤事務處理參與者,而且監控兩階段提交協議,從而確保所有事務的提交和回滾在每個分布式資源中都得到妥善處理。

管理功能: BEA Tuxedo 基于 Web的圖形化管理功能,使分布式系統中的許多關鍵管理功能實現了自動化,從而最大程度地減少了操作員的干預。除此之外,BEA Tux 系統還無縫集成了第三方SNMP管理控制臺,以簡化應用管理。

(圖文翻譯)

借助WebLogic Tuxedo Connector,BEA Tuxedo能實現與BEA WebLogic Enterprise Platform的互操作性。這種高速連接器支持完全的事務和安全性傳播,允許企業構建無縫、端到端的解決方案。

無限的伸縮性和可靠性

復制服務框架:BEA Tuxedo 可以根據實時的系統負載和吞吐量,自動生成額外服務的復制服務框架,從而確保您最緊迫的任務關鍵型應用都具有最高的性能和可靠性。動態負載均衡:BEA Tuxedo 使應用能并行處理各種請求,在不同的分布式節點上同時處理各種事務。

事務隊列:為了靈活地處理事務或延遲事務處理,BEA Tux 提供了事務隊列;允許分布式應用可以用異步、“無連接”的方式協同運行。事務隊列是一種模塊化存儲轉發模型,可根據不同的標準,例如消息上下文、消息內容和日期時間,確定隊列的優先級和延緩事務處理。

監測:為了確保對各種應用的不間斷訪問, BEA Tuxedo 連續地監測各種組件,以防應用、事務、網絡和硬件發生故障。

運行、控制和管理(OA&M)服務:借助 BEA Tuxedo穩健的 OA&M 服務,可以自動重啟和停止應用服務,消除了單點故障,無論何時何地,只要客戶和合作伙伴需要,各種應用總是處于可用狀態。萬一發生故障,BEA Tux 就能從系統中在邏輯上刪除組件,將各種消息和事務自動地重新路由到還繼續存在的系統中。

安全性服務:系統全面的安全性服務包括:認證、授權和鏈路級加密(LLE)安全性,以便跨網絡部署BEA Tuxedo應用時確保數據的安全。

插入型安全性框架: BEA Tuxedo 還提供插件程序型框架,以支持公共密鑰加密、數字簽名和針對網絡應用的第三方安全性產品,從而使BEA Tuxedo 能在現有公司安全標準內發揮作用。

可擴展的基礎結構

BEA Tux 支持許多不同的連通性和互操作性標準,允許企業跨其他應用和解決方案,充分發揮BEA Tuxedo 應用和服務的作用。

域網關 (DG) 架構: DG 架構支持各種消息和TP 應用之間的互操作性,這些應用不但運行在不同的環境、網絡、地理位置和公司,而且還跨不同的應用服務平臺,其中包括BEA WebLogic ServerTM、TopEnd 應用集成、BEA MessageQ 網橋和 BEA Tuxedo 主機適配器(連接 IMS 和 CICS)。

BEA Tux 和 BEA WebLogic Platform

BEA Tuxedo 面向服務的架構,允許企業開發綜合性的復合(或混合)、端到端解決方案,實現 BEA Tuxedo 的可用性、伸縮性與 J2EE 的可擴展性的完美統一。

WebLogic Tuxedo Connector (WTC): 由于BEA Tuxedo 和 BEA WebLogic Platform 之間通過 WebLogic Tuxedo Connector (WTC)實現了緊密集成,因此,IT 部門可以輕松地擴展和將 BEA Tuxedo 服務與新的和現有的 JBoss 解決方案集成在一起。利用雙向對等協議, WTC 完全支持BEA Tuxedo C、C++COBOL 應用和 BEA WebLogic Server 、Platform J2EE工具與應用之間的事務和安全性傳播(非代理事務)。

BEA Tuxedo 和 BEA WebLogic Workshop:若要在開發"復合"解決方案時確保最佳方案和加快 IT 價值實現速度,Java 開發人員可以充分利用新的 Tuxedo 控件,因為它顯著簡化了 Web 服務生成、Web 頁面流應用部署、門戶與集成項目。企業開發人員和 BEA Tuxedo 合作伙伴雙方,也都能利用Workshop,迅速創建 Tuxedo 控件擴展(JCX 或"客戶控件"),以訪問特定的 Tuxedo 服務。

參考資料 >

生活家百科家居網