中介軟體的產品種類很多,根據中介軟體在系統中所起的作用和採用的技術不同,大致劃分為以下五種:
資料庫中介軟體(dm,database middleware)
資料庫中介軟體在所有的中介軟體中是應用最廣泛,技術最成熟的一種。乙個最典型的例子就是odbc,odbc是一種基於資料庫的中介軟體標準,它允許應用程式和本地或者異地的資料庫進行通訊,並提供了一系列的應用程式介面api,當然,在多數情況下這些api都是隱藏在開發工具中,不被程式設計師直接使用。有過實際程式設計經驗的朋友都知道,在寫資料庫程式的時候,只要在odbc中新增乙個資料來源,然後就可以直接在自己的應用程式中使用這個資料來源,而不用關係目標資料庫的實現原理、實現機制,甚至不必了解odbc向應用程式提供了哪些應用程式介面api。
不過在資料庫中介軟體處理模型中,資料庫是資訊存貯的核心單元,中介軟體完成通訊的功能,這種方式雖然是靈活的,但是並不適合於一些要求高效能處理的場合,因為它需要大量的資料通訊,而且當網路發生故障時,系統將不能正常工作。所謂有得必有失,就是這個道理,系統的靈活性提高是以處理效能的降低為代價的。
遠端過程呼叫中介軟體(rpc, remote procedure call)
遠端過程呼叫是另外一種形式的中介軟體,它在客戶/伺服器計算方面,比資料庫中介軟體又邁進了一步。它已經存在了相當長的時間,而且沿用了大多數程式設計師都非常熟悉的程式設計模式-程式設計師就像呼叫本地過程一樣在程式中呼叫遠端過程。啟動遠端過程的執行,然後將執行結果返回給本地程式。不但如此,遠過程呼叫還可以將程式的控制傳遞到遠端的伺服器當中去。
rpc的靈活特性使得它有比資料庫中介軟體更廣泛的應用,它可以應用在更複雜的客戶/伺服器計算環境中。遠過程呼叫的靈活性還體現在它的跨平台性上面,它不僅可以呼叫遠端的子程式,而且這種呼叫是可以跨不同作業系統平台的,而程式設計師在程式設計時並不需要考慮這些細節。
rpc也有一些缺點,主要是因為rpc一般用於應用程式之間的通訊,而且採用的是同步通訊方式,因此對於比較小型的簡單應用還是比較適合的,因為這些應用通常不要求非同步通訊方式。但是對於一些大型的應用,這種方式就不是很適合了,因為此時程式設計師需要考慮網路或者系統故障,處理併發操作、緩衝、流量控制以及程序同步等一系列複雜問題。
面向訊息中介軟體(mom,message oriented middleware)
訊息中介軟體的優點在於能夠在客戶和伺服器之間提供同步和非同步的連線,並且在任何時刻都可以將訊息進行傳送或者儲存**,這也是它比遠端過程呼叫更進一步的原因。另外訊息中介軟體不會占用大量的網路頻寬,可以跟蹤事務,並且通過將事務儲存到磁碟上實現網路故障時系統的恢復。當然和遠端過程呼叫相比,訊息中介軟體不支援程式控制的傳遞,不過這種功能和它的優勢比起來卻是無關緊要的。
訊息中介軟體適用於需要在多個程序之間進行可靠的資料傳送的分布式環境。
基於物件請求**(orb,object request broker)的中介軟體
物件請求**是近年來才發展起來的一項新技術,它可以看作和程式語言無關的物件導向的rpc應用,被視為從物件導向過渡到分布式計算的強大推動力量。從管理和封裝的模式上看,物件請求**和遠過程呼叫有些累死,不過物件請求**可以包含比遠過程呼叫和訊息中介軟體更複雜的資訊,並且可以適用於非結構化的或者非關係型的資料。
目前有兩種物件請求**的標準,分別是corba和dcom,這兩種標準是相互競爭的,而且兩者之間有很大的區別,這在一定程度上阻礙了物件請求**中介軟體的標準化程序。
事務處理中介軟體(tpm,transaction processing monitor)
事務處理中介軟體是一種複雜的中介軟體產品,是針對複雜環境下分布式應用的速度和可靠性要求而實現的。它給程式設計師提供了乙個事務處理的api,程式設計師可以使用這個程式介面編寫高速而且可靠的分布式應用程式-基於事務處理的應用程式。
事務處理中介軟體向使用者提供一系列的服務,如應用管理,管理控制,已經應用程式間的訊息傳遞等。常見的功能包括全域性事務協調、事務的分布式兩段提交、資源管理器支援、故障恢復、高可靠性、網路負載平衡等等
中介軟體的分類
中介軟體技術及其相關產品 收藏 中介軟體 middleware 顧名思義,是處於作業系統與應用軟體的之間的基礎軟體,其作用是為處於自己上層的應用軟體提供執行與開發的環境,幫助使用者靈活 高效地開發和整合複雜的應用軟體。10年前,中介軟體的概念剛剛提出,而如今中介軟體已成為乙個擁有上百億美元市場的關鍵...
中介軟體的分類
中介軟體的任務是使應用程式開發變得容易,通過提供統一的程式抽象,隱藏異構系統和分布式系統下低級別程式設計的複雜性。中介軟體的分類有很多種方式。我們這裡按由底向上從中間層的層次上來劃分。1 底層中介軟體的主流技術有jvm clr ace jdbc odbc等,代表產品有sun jvm 和microso...
中介軟體的分類
中介軟體的任務是使應用程式開發變得容易,通過提供統一的程式抽象,隱藏異構系統和分布式系統下低級別程式設計的複雜性。中介軟體的分類有很多種方式。我們這裡按由底向上從中間層的層次上來劃分。1 底層中介軟體的主流技術有jvm clr ace jdbc odbc等,代表產品有sun jvm 和microso...