1. 程式人生 > >01.什麼是中介軟體(詳解)(轉)

01.什麼是中介軟體(詳解)(轉)

目錄

 

背景

正文

1. 由來

2. 中介軟體的起源

2.1 中介軟體發展的歷史

2.2 中介軟體發展的驅動力

3. 中介軟體的概念

3.1 中介軟體的特徵(內涵)

平臺化

應用支撐

軟體複用

耦合關係

互操作性

3.2 中介軟體的分類(外延)

應用服務類中介軟體

應用整合類中介軟體

業務架構類中介軟體

4. 中介軟體的未來

中介軟體將變寬變厚

中介軟體將面向服務、易於整合

中介軟體將向一體化的方向發展

中介軟體產品將支援雲端計算,易於交付

後端平臺深度融合


背景

初次接觸到中介軟體這個詞是去年一次天貓的一面時,當面試官問到研究過那些開源框架和中介軟體時,一句:中介軟體?讓自己尷尬了,

面試官接著說:就是類似WebLogic 、Tomcat、Jboss、等等一些開發時你用到的一些技術。

正文

下面讓我們來學習下,什麼是中介軟體?中介軟體是幹什麼用的

1. 由來

  因為工作的原因,我從金蝶集團調入金蝶中介軟體公司工作以來,經常遇到一個問題就是中介軟體公司是個什麼公司,中介軟體是什麼?,金蝶不是做ERP的嗎?怎麼也做中介軟體?。這是我以前在金蝶集團時無法想象的問題。因為金蝶,金蝶ERP的品牌以及大眾對ERP的瞭解,是無需我解析什麼是ERP,什麼是財務軟體一類的問題的。

  畢竟,中介軟體在實際的應用過程中,是對應用軟體起到支撐作用,終端使用者並不直接使用中介軟體,中介軟體不是大眾消費類軟體產品。因此,除非是一個行業專業人士,一般不大可能與中介軟體打交道,不太瞭解什麼是中介軟體。

  因此,在系統軟體之中,作業系統、資料庫、中介軟體的三駕馬車,中介軟體是最神祕的。因為,好歹大家通過Windows基本上會了解作業系統是個什麼東西,儘管不會很全面,很專業,畢竟是有感覺的。資料庫,雖然沒有直接見過,但基本上明白資料是要一個倉庫來儲存的,因此,也大致知道資料庫管理系統是幹什麼的。

  長期以來,中介軟體是一個專業化非常強的細分產業。因為中介軟體的技術門檻比較高,玩家也不多,無論是國外還是國內都是如此。因此,行業內對什麼是中介軟體並不特別在意。而公司名稱直接叫中介軟體的就更少了,金蝶中介軟體應該是國內外直接在公司名稱中冠以中介軟體字眼最早,也是很少的公司之一。另一方面,因為中介軟體軟體還處於發展階段,還沒有完全成熟,因此對中介軟體的定義也就沒有深究,或者權威的說法。

  但現在情況有點變化,其中一個原因在於2008年底,國家啟動了核高基重大科技專項,在基礎軟體領域明確提出重點支援作業系統、資料庫、中介軟體、文書處理等基礎軟體產業的自主創新,幾乎一夜之間大大小小的軟體公司都宣稱是做中介軟體的了,只要不是做最終應用軟體的,他們的產品都叫中介軟體了,一時間,中介軟體變得蓬勃發展起來了。

  作為中介軟體行業內的專業化和領先企業來說,大家都重視起中介軟體來了,這是好事,說明社會上重視了。對行業的發展和繁榮固然重要,但這也隱含了重大的風險。中介軟體名字被濫用,無論是對使用者,對這個產業,對政府和投資人來說,都會有負面的影響。魚目混珠,泥沙俱下的局面,對中介軟體產業的正常發展未必就是好事情了,也可能對真正的中介軟體自主創新帶來許多困擾,模糊了中介軟體的本質,可能會弱化中介軟體核心技術的創新和發展。

  因此,在這種情況下,無論是對行業內,還是行業外,突然什麼是中介軟體的問題變成了一個大問題了。

  本文試圖就中介軟體的來龍去脈,外延內涵和前世今生,來一個全面的闡釋。一家之言,權作業界參考,希望帶動大家做一些深入的思考。

2. 中介軟體的起源

2.1 中介軟體發展的歷史

  事情從1946年說起,世界上第一臺電子計算機埃尼阿克誕生,人類進入資訊時代。1955年,約翰巴克斯發明了最早的程式語言Fortran,現代意義上的軟體就誕生了。

  1964年,IBM釋出OS/360作業系統,軟體與硬體分離,同時,軟體成為一個獨立的產業正式登上產業界的舞臺。中介軟體就是軟體產業不斷髮展過程中自然產生的。

  90年代,文頓·瑟夫這位網際網路之父的發明成為改變IT業的重大革命性創新。網際網路促使分散式系統和網路應用的誕生,中介軟體就是伴隨網路技術的產生、發展而興起的,可以說沒有網路就沒有現代意義上的中介軟體。因為,網路環境需要解決異構分佈網路環境下軟體系統的通訊、互操作、協同、事務、安全等共性問題,提高異構分佈網路環境下軟體系統的互操作性、可移植性、適應性、可靠性等問題。

  1968年IBM釋出CICS交易事務控制系統,使得應用軟體與系統服務分離,這是中介軟體技術萌芽的標誌,因為CICS還不是分散式環境的產物,因此我們往往還不將CICS作為正式的中介軟體系統。

  一般來說,我們將1990年誕生於ATT公司的BELL實驗室的Tuxedo系統(後來被NOVELL從ATT公司隨著UNIX系統一起買走,後來又賣給了BEA公司,現在歸於ORACLE公司旗下了)作為中介軟體的誕生標誌。Tuxedo解決了分散式交易事務控制問題,中介軟體開始成為網路應用的基礎設施,中介軟體正式成型,這是最早的交易中介軟體。

  1994年IBM釋出訊息佇列服務MQ系列產品,解決分散式系統非同步、可靠、傳輸的通訊服務問題,訊息中介軟體誕生。

  1995年,JAVA之父James Gosling發明JAVA語言,JAVA提供了跨平臺的通用的網路應用服務,成為今天中介軟體的核心技術。JAVA是第一個天生的網路應用平臺,特別是J2EE釋出以來,JAVA從一個程式語言,演變為網路應用架構,成為應用服務平臺的事實標準。應用伺服器中介軟體,成為中介軟體技術的集大成者,也成為事實上的中介軟體的核心。

  2001年,微軟釋出.NET,中介軟體演變為.NET和JAVA兩大技術陣營。但由於.NET還不是一個完全開放的技術體系,只有一個玩家,因此,雖然.NET也是一種中介軟體,但由於IBM/ORACLE/SUN/SAP等巨頭都無一例外成了JAVA陣營的支持者,因此,我們習慣上提到中介軟體時,往往不包括.NET中介軟體體系。

  以上談的是歷史,但透過歷史事實背後,為什麼會出現中介軟體,這其中的本質因素是什麼?

2.2 中介軟體發展的驅動力

  中介軟體出現的驅動力主要來自軟體研發過程碰到的種種問題。從軟體出現最早是用於科學計算,然後是計算機輔助設計、輔助製造等等工業應用。在企業管理領域大規模應用後,業務需求不斷的變化、系統不斷增加、流程更復雜、系統越來越不堪重負,出現了需求交付方面的重大挑戰,以至於人們用軟體危機來描述軟體工業所面臨的困境。

  總結起來,軟體工業面臨的主要問題是四個方面:質量問題、效率問題、互操作問題、靈活應變問題。這些問題今天依然困擾著這個行業。

  造成這個局面的原因是異構性和標準規範的滯後。

遮蔽異構性
  異構性表現在計算機的軟硬體之間的異構性,包括硬體(CPU和指令集、硬體結構、驅動程式等),作業系統(不同作業系統的API和開發環境)、資料庫(不同的儲存和訪問格式)等等。長期以來,高階語言依賴於特定的編譯器和作業系統API來程式設計,而他們是不相容的,因此軟體必須依賴於開發和執行的環境。

  造成異構的原因源自市場競爭、技術升級以及保護投資等因素。希望遮蔽異構平臺的差異性問題是促成中介軟體發展的驅動力之一。

實現互操作
  因為異構性,產生的結果是軟體依賴於計算環境,使得各種不同軟體之間在不同平臺之間不能移植,或者移植非常困難。而且,因為網路協議和通訊機制的不同,這些系統之間還不能有效地相互整合。

  造成互操作性不好的原因,主要是標準的滯後。解決軟體之間的互操作性問題也是促成中介軟體發展的驅動力之一。

共性凝練和複用
  軟體應用領域越來越多,相同領域的應用系統之間許多基礎功能和結構是有相似性的,每次開發系統都從零開始絕對不是一種好的方法,也是對質量和效率的很大的傷害。

  儘可能多地凝練共性並複用以提高軟體開發效率和質量,通過中介軟體通過提供簡單、一致、整合的開發和執行環境,簡化分散式系統的設計、程式設計和管理,這也是中介軟體發展的重要驅動力。

  在長期的探索過程中,解決軟體的四個問題的辦法總結起來兩個方面:工程方法、平臺與技術。

  工程方法就是用工業工程、系統工程的理論、方法和體系來解決軟體研發過程中的管理問題,包括團隊管理、專案管理、質量控制等等,這就是軟體工程。除了軟體工程方法之外,我們發明了更多的架構規劃、設計和實施的方法,不斷累積領域的知識與經驗等等。

  更好的技術手段,包括更好的程式設計語言、更好的平臺和軟體開發技術,如面向物件、元件開發、面向服務等等。而這方面,在技術上逐漸發展的成果大部分都凝聚在今天的中介軟體平臺之中。

  而這些更好的技術手段,從本質上是通過複用、鬆耦合、互操作(標準)等機制來提高軟體質量、加快軟體研發效率、使研發出來的產品能夠相互整合並靈活適應變化。
這些因素逐漸促成了中介軟體軟體的形成和發展。

3. 中介軟體的概念

  講了這麼多,究竟什麼是中介軟體,也就是中介軟體的定義是什麼?

  針對這個問題,應該說還沒有一個標準的定義,或者說還沒有完全取得學術界和產業界的共識。

  顧名思義,中介軟體就是處於中間的軟體。但這種不是從功能,或者特性來定義的概念,而是用位置來定義的名字,就容易被不同的人從不同角度賦予其不同的含義。

  IDC曾經給中介軟體下的定義是中介軟體是一種獨立的系統軟體或服務程式,分散式應用軟體藉助這種軟體在不同的技術之間共享資源,中介軟體位於客戶機伺服器的作業系統之上,管理計算資源和網路通訊。

  我國學術界一般認可的定義是中介軟體是指網路環境下處於作業系統、資料庫等系統軟體和應用軟體之間的一種起連線作用的分散式軟體,主要解決異構網路環境下分散式應用軟體的互連與互操作問題,提供標準介面、協議,遮蔽實現細節,提高應用系統易移植性(北京大學梅巨集)。

  中科院軟體所研究員仲萃豪形象地把中介軟體定義為平臺+通訊。這個定義限定了只有用於分散式系統中的此類軟體才能被稱為中介軟體,同時此定義還可以把中介軟體與支撐軟體和實用軟體區分開來。

  中介軟體處於作業系統軟體與使用者的應用軟體的中間。中介軟體在作業系統、網路和資料庫之上,應用軟體的下層,總的作用是為處於自己上層的應用軟體提供執行與開發的環境,幫助使用者靈活、高效地開發和整合複雜的應用軟體。形象地說就是上下之間的中間。

  此外,中介軟體主要為網路分散式計算環境提供通訊服務、交換服務、語義互操作服務等系統之間的協同整合服務,解決系統之間的互連互通問題。形象地說就是所謂左右之間的中間。

  要深入理解什麼是中介軟體,形式化的定義固然重要,我們還得從概念本身去深入理解其核心特徵才是最重要的。要理解一個概念,從內涵和外延兩個方面去描述是哲學上非常重要的一套方法體系。

3.1 中介軟體的特徵(內涵)

  總結分析,中介軟體有幾個非常重要的特徵是必須具備的:

  • 平臺化

  所謂平臺就是能夠獨立執行並自主存在,為其所支撐的上層系統和應用提供執行所依賴的環境。顯然,不是所有的系統或者應用都可以稱之為平臺的。中介軟體是一個平臺,因此中介軟體是必須獨立存在,是執行時刻的系統軟體,它為上層的網路應用系統提供一個執行環境,並通過標準的介面和API來隔離其支撐的系統,實現其獨立性,也就是平臺性。

  因此,目前許多的開發語言、元件庫和各種報表設計之類的軟體,很難滿足平臺性,將這類軟體叫中介軟體,是很不合適的。例如,JAVA是一種語言,這種語言的開發工具和開發框架,如Eclipse、JBuilder、Struts,Hibernate等等就不能稱為中介軟體,充其量叫中介軟體開發工具,而不能叫中介軟體本身,就如同各種建築工程裝置和機械,如弔臂、攪拌機等不能叫建築,而只能成為建築工具一樣。而J2EE應用伺服器提供JAVA應用的執行環境,就是經典的中介軟體

  • 應用支撐

  中介軟體的最終目的是解決上層應用系統的問題,而且也是軟體技術發展到今天對應用軟體提供最完善徹底的解決方案。

  高階程式設計語言的發明,使得軟體開發變成一個獨立的科學和技術體系,而作業系統平臺的出現,使得應用軟體通過標準的API介面,實現了軟體與硬體的分離。

  現代面向服務的中介軟體在軟體的模型、結構、互操作以及開發方法等四個方面提供了更強的應用支撐能力:

  模型:構件模型彈性粒度化,即通過抽象層度更高的構件模型,實現具備更高結構獨立性內容自包含性業務完整性可複用構件,即服務。並且在細粒度服務基礎上,提供了更粗粒度的服務封裝方式,即業務層面的封裝,形成業務元件,就可以實現從元件模型到業務模型的全生命週期企業建模的能力。

  結構:結構鬆散化,即,將完整分離服務描述服務功能實現以及服務的使用者提供者,從而避免分散式應用系統構建和整合時常見的技術、組織、時間等不良約束。

  互操作:互動過程標準化,即,將與互操作相關的內容進行標準化定義,如服務封裝、描述、釋出、發現、呼叫等契約,通訊協議以及資料交換格式等等。最終實現訪問互操作、連線互操作和語義互操作。

  開發整合方法:應用系統的構建方式由程式碼編寫轉為主要通過服務間的快捷組合及編排,完成更為複雜的業務邏輯的按需提供和改善,從而大大簡化和加速應用系統的搭建及重構過程。

  而要最終解決軟體的質量問題、效率問題、互操作問題、靈活應變問題這四大問題,需要在軟體技術的內在結構(Structure)、架構(Architecture)層面進行思考。

  解決這些問題,技術的本質是複用、鬆耦合、互操作(標準)等軟體技術的內在機制。這也是中介軟體技術和產品的本質特徵。

  • 軟體複用

  軟體複用,即軟體的重用,也叫再用,是指同一事物不作修改或稍加改動就多次重複使用。從軟體複用技術的發展來看,就是不斷提升抽象級別擴大複用範圍。最早的複用技術是子程式,人們發明子程式,就可以在不同系統之間進行復用了。但是,子程式是最原始的複用,因為這種複用範圍是一個可執行程式內複用,靜態開發期複用,如果子程式修改,意味著所有呼叫這個子程式的程式必須重新編譯、測試和釋出。


  為了解決這個問題,發明了元件(或者叫控制元件),如MS作業系統下的DLL元件。元件將複用提升了一個層次,因為元件可以在一個系統內複用(同一種作業系統),而且是動態、執行期複用。這樣元件可以單獨發展,元件與元件呼叫者之間的耦合度降低。

  為解決分散式網路計算之間的元件複用,人們發明了企業物件元件,如(COM+, .NET, EJB等),或者叫分散式元件。通過遠端物件代理,來實現企業網路內複用,不同系統之間複用。

  傳統中介軟體的核心是元件物件的管理。但分散式元件也是嚴重依賴其受控環境,由於構件實現和執行支撐技術之間存在著較大的異構性,不同技術設計和實現的構件之間無法直接組裝式複用。

  而現代中介軟體的發展重要趨勢就是以服務為核心,如WebService, SCA/SDO等。通過服務,或者服務元件來實現更高層次的複用、解耦和互操作,即SOA架構中介軟體。

  因為服務是通過標準封裝,服務元件之間的組裝、編排和重組,來實現服務的複用。而且這種複用,可以在不同企業之間,全球複用,達到複用的最高級別,並且是動態可配置的複用。

  • 耦合關係

  基於SOA架構的中介軟體,在鬆耦合解耦過程也發展到了最後的境界。傳統軟體將軟體之中核心三部分——網路連線、資料轉換、業務邏輯全部耦合在一個整體之中,形成鐵板一塊的軟體,牽一髮而動全身,軟體就難以適應變化。分散式物件技術將“連線邏輯”進行分離,訊息中介軟體將“連線邏輯”進行非同步處理,增加了更大的靈活性。訊息代理和一些分散式物件中介軟體將資料轉換也進行了分離。而SOA架構,通過服務的封裝,實現了業務邏輯與網路連線、資料轉換等進行完全的解耦。

軟體技術的不斷解耦的過程

  • 互操作性

  傳統軟體互操作技術也存在問題。網際網路前所未有的開放性意味著各節點可採用不同的中介軟體技術,對技術細節進行了私有化的約束,構件模型和架構沒有統一標準,從而導致中介軟體平臺自身在構件描述、釋出、發現、呼叫、互操作協議及資料傳輸等方面呈現出巨大的異構性。各種不良技術約束的結果是軟體系統跨網際網路進行互動變得困難重重,最終導致了跨企業/部門的業務整合和重組難以靈活快速的進行。

  在軟體的互操作方面,傳統中介軟體只是實現了訪問互操作,即通過標準化的API實現了同類系統之間的呼叫互操作,而連線互操作還是依賴於特定的訪問協議,如JAVA使用RMI,CORBA使用IIOP等。而SOA通過標準的、支援Internet、與作業系統無關的SOAP協議實現了連線互操作。而且,服務的封裝是採用XML協議,具有自解析和自定義的特性,這樣,基於SOA的中介軟體還可以實現語義互操作。

                                                            

                                                                                  基於服務的中介軟體

  總之,服務化體現的是中介軟體在完整業務複用、靈活業務組織方面的發展趨勢,其核心目標是提升IT基礎設施的業務敏捷性。因此,中介軟體將成為SOA的主要實現平臺。

3.2 中介軟體的分類(外延)

  中介軟體所包括的範圍十分廣泛,針對不同的應用需求湧現出多種各具特色的中介軟體產品。從功能性外延來看,中介軟體包括交易中介軟體、訊息中介軟體、整合中介軟體等各種功能性的中介軟體技術和產品。

  現在,中介軟體已經成為網路應用系統開發、整合、部署、執行和管理必不可少的工具。由於中介軟體技術涉及網路應用的各個層面,涵蓋從基礎通訊、資料訪問到應用整合等眾多的環節,因此,中介軟體技術呈現出多樣化的發展特點。

  根據中介軟體在軟體支撐和架構的定位來看,基本上可以分為三大類產品:應用服務類中介軟體、應用整合類中介軟體、業務架構類中介軟體

  • 應用服務類中介軟體

  為應用系統提供一個綜合的計算環境和支撐平臺,包括物件請求代理(ORB)中介軟體、事務監控交易中介軟體、JAVA應用伺服器中介軟體等。

  隨著物件技術與分散式計算技術的發展,兩者相互結合形成了分佈物件計算,並發展為當今軟體技術的主流方向。1990年底,物件管理組織OMG首次推出物件管理結構OMA(Object Management Architecture),物件請求代理(Object Request Broker)是這個模型的核心元件。它的作用在於提供一個通訊框架,透明地在異構的分佈計算環境中傳遞物件請求。CORBA規範包括了ORB的所有標準介面,是物件請求代理的典型代表。

  隨著分佈計算技術的發展,分佈應用系統對大規模的事務處理提出了需求,比如商業活動中大量的關鍵事務處理。事務處理監控界於Client和Server之間,進行事務管理與協調、負載平衡、失敗恢復等,以提高系統的整體效能。它可以被看作是事務處理應用程式的作業系統。這類被稱為交易中介軟體,適用於聯機交易處理系統,主要功能是管理分佈於不同計算機上的資料的一致性,保障系統處理能力的效率與均衡負載。交易中介軟體所遵循的主要標準是X/open DTP模型,典型的產品是Tuxedo

  JAVA從2.0企業版之後,不僅僅是一種程式語言,而且演變為一個完整的計算環境和企業架構。為JAVA應用提供元件容器,用來構造Internet應用和其它分散式構件應用,是企業實施電子商務的基礎設施,這種應用伺服器中介軟體發展到為企業應用提供資料訪問、部署、遠端物件呼叫、訊息通訊、安全服務、監控服務、叢集服務等強化應用支撐的服務。使得JAVA應用伺服器成為了事實上的應用伺服器工業標準。由於它的開放性,使得交易中介軟體和物件請求代理逐漸融合到應用伺服器之中。典型的應用伺服器產品包括IBM Websphere Application Server、Oracle Weblogic Application Server和金蝶Apusic Application Server等。

  • 應用整合類中介軟體

  應用整合類中介軟體是提供各種不同網路應用系統之間的訊息通訊、服務整合和資料整合的功能,包括常見的訊息中介軟體、企業整合EAI、企業服務匯流排以及相配套的介面卡等。

  訊息中介軟體指的是利用高效可靠的訊息傳遞機制進行平臺無關的資料交流,並基於資料通訊來進行分散式系統的整合。通過提供訊息傳遞和訊息排隊模型,它可在分佈環境下擴充套件程序間的通訊,並支援多通訊協議、語言、應用程式、硬體和軟體平臺,實現應用系統之間的可靠非同步訊息通訊,能夠保障資料在複雜的網路中高效、穩定、安全、可靠的傳輸,並確保傳輸的資料不錯、不重、不漏、不丟。目前流行的訊息中介軟體產品有IBM的MQSeries、 BEA的MessageQ、金蝶Apusic MQ等。

  企業應用整合,僅指企業內部不同應用系統之間的互連,以期通過應用整合實現資料在多個系統之間的同步和共享。這種類似集線器的架構模式是在基於訊息的基礎上,引入了前置機-伺服器的概念,使用一種集線器/插頭(hub-and-spoke)的架構,將訊息路由資訊的管理和維護從前置機遷移到了伺服器上,巧妙的把整合邏輯和業務邏輯分離開來,大大增加了系統彈性。由於前置機和伺服器之間不再直接通訊,每個前置機只通過訊息和伺服器之間通訊,將複雜的網狀結構變成了簡單的星型結構。典型的企業應用整合EAI的產品包括TibicoInformatica等公司產品。

  隨著SOA思想和技術的逐漸成熟,EAI發展到透過業務服務的概念來提供IT的各項基本應用功能,讓這些服務可以自由地被排列組合、融會貫通,以便在未來能隨時彈性配合新的需求而調整。Web Services是SOA的一種具體實現方式,SOA的世界是由服務提供者(Service Provider)、服務請求者(Service Requester) 以及服務代理者(Service Broker)所組成,目標是將所有具備價值的IT資源,不論是舊的或新的,通通都能夠透過Web Services的包裝,成為隨取即用的IT資產,並可將各種服務快速彙整,開發出組合式應用,達到整合即開發的目的。SOA的架構只是實現和解決了服務模組間呼叫的互操作問題,為了更好的服務於企業應用,引入了企業服務匯流排的應用架構(Enterprise Service Bus,ESB)。這一構架是基於訊息通訊、智慧路由、資料轉換等技術實現的。ESB提供了一個基於標準的鬆散應用耦合模式,這就是企業服務匯流排中介軟體,是一種綜合的企業整合中介軟體。典型的ESB產品包括IBM Websphere ESB、Oracle公司的Weblogic ESB以及金蝶Apusic ESB等。

  • 業務架構類中介軟體

  作為共性的凝練,中介軟體不僅要從底層的技術入手,將共性技術的特徵抽象進中間層,還要更多地把目光投向到業務層面上來,根據業務的需要,驅動自身能力的不斷演進,即,不斷出現的新的業務需要驅動了應用模式和資訊系統能力的不斷演進,進而要求中介軟體不斷地凝練更多的業務共性,提供針對性支撐機制。近年來,這一需求趨勢愈發明顯,越來越多的業務和應用模式被不斷地抽象進入中介軟體的層次,如業務流程流、業務模型、業務規則、互動應用等等,其結果是中介軟體凝練的共性功能越來越多,中介軟體的業務化和領域化的趨勢非常明顯。

  業務架構類中介軟體包括業務流程、業務管理和業務互動等幾個業務領域的中介軟體。

  業務流程是處理業務模型的非常重要方法。管理流程與各職能部門和業務單元有密切關係,須藉各部門間的緊密協調,以達到企業運營和管理功能的目標。在業務流程支援方面,從早期的WfMC定義的工作流,到基於服務的業務流程規範BPEL,由業務流程的支撐,逐漸形成了完整的業務流程架構模型,包括流程建模、流程引擎、流程執行、流程監控和流程分析等。有名的業務流程中介軟體包括基於工作流的IBM Lotus Workflow,基於BPEL的IBM Webshpere Process Server以及同時支援工作流和BPEL的金蝶Apusic BPM等。

  業務管理就是對業務物件的建模和業務規則的定義、執行和監控的中介軟體平臺。策略管理員和開發人員將業務邏輯捕獲為業務規則。使用規則管理器可以將規則輕鬆地嵌入 Web、現有應用程式和後臺辦公應用程式。常見的業務管理中介軟體包括IBM Websphere ILOG 業務規則管理系統,金蝶BOS等。

  業務互動的中介軟體平臺提供組織的合作伙伴、員工和客戶通過WEB和移動裝置等互動工具,實現基於角色、上下文、操作、位置、偏好和團隊協作需求的個性化的使用者體驗。這種門戶伺服器軟體基於標準Portlet組合的應用程式訪問框架,實現使用者整合和互動整合,構建靈活、基於 SOA 的應用架構。典型的門戶中介軟體有IBM Websphere Portal Server和金蝶Apusic Portal Server等。

4. 中介軟體的未來

  中介軟體是網際網路時代的IT基礎設施,提供業務的靈活性,消除資訊孤島,提高IT的研發和運營效率。作為網路計算的核心基礎設施,中介軟體正在呈現出服務化、自治化、業務化、一體化等諸多新的發展趨勢,中介軟體進入2.0時代,將極大提升網際網路統一計算平臺的敏、睿、融、和能力。

  • 中介軟體將變寬變厚

  以網際網路為核心的多網融合產生了豐富多樣的新型網路應用模式,作為主流的應用執行支撐環境,中介軟體無處不在,越來越多的應用模式被抽象到中介軟體層,中介軟體將變寬變厚。

  • 中介軟體將面向服務、易於整合

  隨著SOA技術逐漸成為主流,以及異構系統的整合問題日益嚴峻,中介軟體將向面向服務、易於整合的方向發展。

  • 中介軟體將向一體化的方向發展

  中介軟體產品的種類日趨多樣(如交易中介軟體、訊息中介軟體、應用伺服器、整合中介軟體、業務中介軟體等),但其技術架構將向一體化的方向發展,主要包括:

  統一核心,易於演化:各大廠商的中介軟體產品將構建在統一核心之上,使其易於平臺演化。

  統一程式設計模型,易於開發:不同中介軟體產品提供了不同的程式設計模型,這些程式設計模型將趨向統一,從而達到易於開發的目的。

  統一管理模型,易於系統維護:不同中介軟體產品提供了不同的管理工具與管理手段,這些管理工具與手段將趨向統一,使其易於管理,降低運維成本。

  • 中介軟體產品將支援雲端計算,易於交付

  中介軟體產品將成為雲端計算的支撐平臺,使應用易於交付。

  • 後端平臺深度融合

  一個大膽的設想是:未來五年,瀏覽器將統一前端,而後端平臺(中介軟體、作業系統、 資料庫)走向深度融合。(對中介軟體的未來發展趨勢的詳細介紹參加另文《中介軟體技術的發展趨勢分析》,在此不做詳細論述。)

  綜上所述,我們可以認為中介軟體是一種獨立的系統軟體平臺,為網路應用軟體提供綜合的服務和完整的計算環境,藉助這種軟體使得網路應用能夠實現整合,達到業務的協同,實現業務的靈活性。

(本文由金蝶中介軟體有限公司總經理 奉繼承 博士 撰寫)
作者:Singit 
原文:https://blog.csdn.net/singit/article/details/71156863