⑴ 什麼是中間件
中間件(middleware)是基礎軟體的一大類,屬於可復用軟體的范疇。顧名思義,中間件處於操作系統軟體與用戶的應用軟體的中間。
中間件在操作系統、網路和資料庫之上,應用軟體的下層,總的作用是為處於自己上層的應用軟體提供運行與開發的環境,幫助用戶靈活、高效地開發和集成復雜的應用軟體。在眾多關於中間件的定義中,比較普遍被接受的是IDC表述的:中間件是一種獨立的系統軟體或服務程序,分布式應用軟體藉助這種軟體在不同的技術之間共享資源,中間件位於客戶機伺服器的操作系統之上,管理計算資源和網路通信。
IDC對中間件的定義表明,中間件是一類軟體,而非一種軟體;中間件不僅僅實現互連,還要實現應用之間的互操作;中間件是基於分布式處理的軟體,最突出的特點是其網路通信功能。
最早具有中間件技術思想及功能的軟體是IBM的CICS,但由於CICS不是分布式環境的產物,因此人們一般把Tuxedo作為第一個嚴格意義上的中間件產品。Tuxedo是1984年在當時屬於AT&&T的貝爾實驗室開發完成的,但由於分布式處理當時並沒有在商業應用上獲得像今天一樣的成功,Tuxedo在很長一段時期里只是實驗室產品,後來被Novell收購,在經過Novell並不成功的商業推廣之後,1995年被現在的BEA公司收購。盡管中間件的概念很早就已經產生,但中間件技術的廣泛運用卻是在最近10年之中。BEA公司1995年成立後收購Tuxedo才成為一個真正的中間件廠商,IBM的中間件MQSeries也是90年代的產品,其它許多中間件產品也都是最近幾年才成熟起來。
⑵ 資料庫中間件是什麼意思
資料庫中間件是位於平台(硬體和操作系統)和應用之間的通用服務,這些服務具有標準的程序介面和協議。
而資料庫中間件(Distributed Database Middleware)是解決資料庫容量、性能瓶頸和分布式擴展問題的中間件服務,提供分庫分表、讀寫分離、彈性擴容等能力,應對海量數據的高並發訪問場景,有效提升資料庫讀寫性能。
⑶ 什麼是中間件
這其實是一個比較虛的概念。廣義的中間件范圍很廣。起溝通作用的都可以認為是中間件。甚至ODBC這樣的東西你也可以認為是中間件。
現在用的比較多的中間件應該是BEA公司的tuxedo和IBM公司的weblogic?(好象是這個東西),我接觸過一點tuxedo。oracle、sun和ms好象也有類似產品,不過用的人很少。tuxedo是這個領域的領導者,不過IBM正在追趕並有可能超過,畢竟,IBM就是IBM。
tuxedo這東西我們用來做資料庫和前台應用之間的中間件。
使用了中間件之後,以前直接連接的前台應用程序和資料庫之前就多了個tuxedo,現在前台程序把請求發給tuxedo,tuxedo再把請求發給資料庫,資料庫處理結束之後把結果返回tuxedo,tuxedo再把結果送回給前台。這樣一搞,表面看復雜了很多。不過帶來一些好處,比如:
安全。tuxedo的服務是定製的,這就有點象是存貯過程,因為應用程序無法直接接到資料庫而只能通過tuxedo,所以應用程序無法做tuxedo服務之外的事情。你把你的應用邏輯寫在tuxedo中,你就可以保證你的數據是安全的。
性能。有些資料庫性能不好,比如oracle一個連接就是好多M,連接數一多,機器內存就沒了,有了tuxedo之後,tuxedo負責連接資料庫,連接數比較少,tuxedo可以用排隊的方式來處理這些資料庫請求,這樣提高了性能。中間件的高級應用好象還可以把資料庫分布在不同的機器上,由tuxedo動態分配前、後台的請求和處理,把它們搞在不同的機器上,所以你用了中間件之後如果後台資料庫處理來不及,可以加一台機器,前台請求太多(比如網站)可以加多前台機器。你可以靈活的調整性能。
方便移植。業務邏輯做到了中間件里之後,你更換後台資料庫、改變前台的開發工具什麼的移植工作較小,因為中間件的工作改動不大。
應用伺服器做的人好象就更多了。而且應用伺服器這東西和中間件類似(邏輯上)我覺得它應用也是中間件的一種,不過大家一般說中間件都是指的狹義的中間件,就是tuxedo這些。
中間件應用領域很廣的。簡直大一點的應用都可以用到中間件。國內也有一些開發商自己寫中間件,不過好象是自己用,沒形成市場。
⑷ 資料庫中間件是什麼
IDC對中間件的定義表明,中間件是一類軟體,而非一種軟體;中間件不僅僅實現互連,還要實現應用之間的互操作;中間件是基於分布式處理的軟體,最突出的特點是其網路通信功能。
中間件是位於平台(硬體和操作系統)和應用之間的通用服務,這些服務具有標準的程序介面和協議。針對不同的操作系統和硬體平台,它們可以有符合介面和協議規范的多種實現。
也許很難給中間件一個嚴格的定義,但中間件應具有如下一些特點:
①滿足大量應用的需要;
②運行於多種硬體和OS平台;
③支持分布計算,提供跨網路、硬體和OS平台的透明性的應用或服務的交互;
④支持標準的協議;
⑤支持標準的介面。