中間件是伴隨著網絡應用的發(fā)展而逐漸成長起來的技術體系。最初的中間件發(fā)展驅動力是需要有一個公共的標準的應用開發(fā)平臺來屏蔽不同操作系統(tǒng)之間的環(huán)境和API差異,也就是所謂操作系統(tǒng)與應用程序之間“中間”的這一層叫中間件。但隨著網絡應用的需求,解決不同系統(tǒng)之間的網絡通信、安全、事務的性能、傳輸?shù)目煽啃?、語義的解析、數(shù)據(jù)和應用的整合這些問題,變成中間件的更重要的驅動因素。因此,相繼出現(xiàn)了解決網絡應用的交易中間件、消息中間件、集成中間件等各種功能性的中間件技術和產品。

  現(xiàn)在,中間件已經成為網絡應用系統(tǒng)開發(fā)、集成、部署、運行和管理必不可少的工具。由于中間件技術涉及網絡應用的各個層面,涵蓋從基礎通訊、數(shù)據(jù)訪問到應用集成等眾多的環(huán)節(jié),因此,中間件技術呈現(xiàn)出多樣化的發(fā)展特點。

  傳統(tǒng)中間件在支持相對封閉、靜態(tài)、穩(wěn)定、易控的企業(yè)網絡環(huán)境中的企業(yè)計算和信息資源共享方面取得了巨大成功,但在新時期以開放、動態(tài)、多變的互聯(lián)網(Internet)為代表的網絡技術沖擊下,還是顯露出了它的固有局限性,如功能較為專一化,產品和技術之間存在著較大的異構性,跨互聯(lián)網的集成和協(xié)同工作能力不足,僵化的基礎設施缺乏隨需應變能力等等,在互聯(lián)網計算帶來的巨大挑戰(zhàn)面前顯得力不從心,時代要求新的技術變革。

  中間件技術的發(fā)展方向,將聚焦于消除信息孤島,推動無邊界信息流,支撐開放、動態(tài)、多變的互聯(lián)網環(huán)境中的復雜應用系統(tǒng),實現(xiàn)對分布于互聯(lián)網之上的各種自治信息資源(計算資源、數(shù)據(jù)資源、服務資源、軟件資源)的簡單、標準、快速、靈活、可信、高效能及低成本的集成、協(xié)同和綜合利用,提高組織的IT基礎設施的業(yè)務敏捷性,降低總體運維成本,促進IT與業(yè)務之間的匹配。中間件技術正在呈現(xiàn)出業(yè)務化、服務化、一體化、虛擬化等諸多新的重要發(fā)展趨勢。

  1.業(yè)務化:中間件正在“變厚變寬”

  中間件的本質特征是對計算環(huán)境的抽象和對應用共性的凝煉。十年來,中間件的發(fā)展多在計算環(huán)境的抽象上。目前的中間件可以在不同操作系統(tǒng)、不同網絡環(huán)境下提供各種應用服務。

  抽取分布系統(tǒng)構造中的共性問題,封裝這些共性問題的解決機制,對外提供簡單統(tǒng)一的接口,從而減少開發(fā)人員在解決這些共性問題時的難度和工作量。因此,其顯著特點之一就是自底向上的技術導向,它典型地是對操作系統(tǒng)、網絡、編程語言等基礎軟件能力的抽象和封裝,其關注主要聚焦于分布式應用構建的技術細節(jié)。

  越來越多的網絡應用將被抽象形成標準的平臺服務,加入到中間件之中,成為重要的技術特征。

  業(yè)務化代表了中間件對復雜業(yè)務支持方面的發(fā)展趨勢,即,從自底向上技術驅動轉變?yōu)楦嘧皂斚蛳碌膽脤拥臉I(yè)務驅動,凝練更多的應用和業(yè)務模式,支持復雜業(yè)務的開放式多方協(xié)同和按需集成能力。

  眾所周知,對組織而言,通過IT對信息進行有效的管理及利用是其業(yè)務成功的關鍵因素,IT是要為業(yè)務服務的。中間件技術作為企業(yè)計算的核心基礎設施之一,僅僅關注技術本身是不夠的,尤其是在當今全球化趨勢之中謀求生存和發(fā)展,IT信息系統(tǒng)及其基礎設施對戰(zhàn)略和業(yè)務的有效支持是至關重要的。因此,作為共性的凝練,中間件不僅要從底層的技術入手,將共性技術的特征抽象進中間層,還要更多地把目光投向到業(yè)務層面上來,根據(jù)業(yè)務的需要,驅動自身能力的不斷演進,即,不斷出現(xiàn)的新的業(yè)務需要驅動了應用模式和信息系統(tǒng)能力的不斷演進,進而要求中間件不斷地凝練更多的業(yè)務共性,提供針對性支撐機制。近年來,這一需求趨勢愈發(fā)明顯,越來越多的業(yè)務和應用模式被不斷地抽象進入中間件的層次,如業(yè)務流程流、業(yè)務模型、業(yè)務規(guī)則、交互應用等等,其結果是中間件凝練的共性功能越來越多,形象的看,中間件的發(fā)展趨勢之一就是變得越來越“厚”。

  此外,在以互聯(lián)網為代表的新技術推動下,伴隨全球化的腳步以及國民經濟和國家信息化建設的高速發(fā)展,企業(yè)/政府的業(yè)務合作和資源共享的廣度、深度和頻度都在不斷的拓展,企業(yè)競爭本身已經從單純的個體間行為演變?yōu)楫a業(yè)鏈層面上的激烈競爭,而電子商務的建設也呈現(xiàn)出從邊沿向縱深的發(fā)展趨勢。企業(yè)信息化在ERP打破企業(yè)內部界限,形成企業(yè)內部無邊界信息流的情況下,全程電子商務將實現(xiàn)企業(yè)、伙伴、供應商和客戶的互聯(lián)互通,打破企業(yè)間的界限,形成跨行業(yè)/組織/部門之間無邊界信息流,復雜業(yè)務協(xié)同往往需要將原本零散、片段的業(yè)務流程(人工/自動)和信息優(yōu)化進一個集成的環(huán)境,多個業(yè)務實體在互聯(lián)網提供的廣泛連通性基礎之上進行開放、靈活、可信的信息交換和互操作,實現(xiàn)企業(yè)間的業(yè)務協(xié)同,及時響應變化并有效的支持業(yè)務戰(zhàn)略的交付,從而快速形成新的競爭力優(yōu)勢。因此,從支持基于互聯(lián)網廣泛連通性的復雜業(yè)務協(xié)同和集成的角度來看,形象地說,中間件的另一發(fā)展趨勢是變得越來越“寬”。

  2.服務化:中間件將面向服務,易于集成

  服務化代表了中間件在提升IT基礎設施的業(yè)務敏捷性方面的發(fā)展趨勢,即支持對基于互聯(lián)網的數(shù)據(jù)存儲、軟件和服務資源進行標準化的抽象和能力提供,橋接不同業(yè)務平臺之間的技術異構性,并提供業(yè)務按需靈活組織的能力,讓IT與業(yè)務密切匹配,提升組織的業(yè)務敏捷性。

  企業(yè)最根本的痛點在于其易變的業(yè)務和僵化的IT基礎設施之間的尖銳矛盾。業(yè)務的易變性是企業(yè)試圖通過業(yè)務差異化而謀求利益最大化的必然結果,是激烈的市場競爭的產物。問題在于,企業(yè)常常發(fā)現(xiàn):業(yè)務需要改變,但IT卻不能迅速地加以響應。為什么?根本原因就在于目前最重要的軟件開發(fā)技術上存在著嚴重問題未能解決。

  解決這些問題,技術的本質是復用、松耦合、互操作(標準)等軟件技術的內在機制。軟件復用,即軟件的重用,也叫再用,是指同一事物不作修改或稍加改動就多次重復使用。從軟件復用技術的發(fā)展來看,就是不斷提升抽象級別,擴大復用范圍。最早的復用技術是子程序,人們發(fā)明子程序,就可以在不同系統(tǒng)之間進行復用了。但是,子程序是最原始的復用,因為這種復用范圍是一個可執(zhí)行程序內復用,靜態(tài)開發(fā)期復用,如果子程序修改,意味著所有調用這個子程序的程序必須重新編譯、測試和發(fā)布。

  為了解決這個問題,發(fā)明了組件(或者叫控件),如MS操作系統(tǒng)下的DLL組件。組件將復用提升了一個層次,因為組件可以在一個系統(tǒng)內復用(同一種操作系統(tǒng)),而且是動態(tài)、運行期復用。這樣組件可以單獨發(fā)展,組件與組件調用者之間的耦合度降低。

  為解決分布式網絡計算之間的組件復用,人們發(fā)明了企業(yè)對象組件,如(Com+,.NET,EJB等),或者叫分布式組件。通過遠程對象代理,來實現(xiàn)企業(yè)網絡內復用,不同系統(tǒng)之間復用。

  傳統(tǒng)中間件的核心是組件對象的管理。但分布式組件也是嚴重依賴其受控環(huán)境,由于構件實現(xiàn)和運行支撐技術之間存在著較大的異構性,不同技術設計和實現(xiàn)的構件之間無法直接組裝式復用。

  而現(xiàn)代中間件的發(fā)展重要趨勢就是以服務為核心,如WebService,SCA/SDO等。通過服務,或者服務組件來實現(xiàn)更高層次的復用、解耦和互操作,即SOA架構中間件。

  因為服務是通過標準封裝,服務組件之間的組裝、編排和重組,來實現(xiàn)服務的復用。而且這種復用,可以在不同企業(yè)之間,全球復用,達到復用的最高級別,并且是動態(tài)可配置的復用。

  SOA架構在松耦合,將中間件的解耦過程也發(fā)展到了最后的境界。傳統(tǒng)軟件將軟件之中核心三部分網絡連接、數(shù)據(jù)轉換、業(yè)務邏輯全部耦合在一個整體之中,形成“鐵板一塊”的軟件,“牽一發(fā)而動全身”,軟件就難以適應變化。分布式對象技術將連接邏輯進行分離,消息中間件將連接邏輯進行異步處理,增加了更大的靈活性。消息代理和一些分布式對象中間件將數(shù)據(jù)轉換也進行了分離。而SOA架構,通過服務的封裝,實現(xiàn)了業(yè)務邏輯與網絡連接、數(shù)據(jù)轉換等進行完全的解耦。

  軟件互操作技術也存在問題?;ヂ?lián)網前所未有的開放性意味著各節(jié)點可采用不同的中間件技術,對技術細節(jié)進行了私有化的約束,構件模型和架構沒有統(tǒng)一標準,從而導致中間件平臺自身在構件描述、發(fā)布、發(fā)現(xiàn)、調用、互操作協(xié)議及數(shù)據(jù)傳輸?shù)确矫娉尸F(xiàn)出巨大的異構性。各種不良技術約束的結果是軟件系統(tǒng)跨互聯(lián)網進行交互變得困難重重,最終導致了跨企業(yè)/部門的業(yè)務集成和重組難以靈活快速的進行。

  在軟件的互操作方面,傳統(tǒng)中間件只是實現(xiàn)了訪問互操作,即通過標準化的API實現(xiàn)了同類系統(tǒng)之間的互操作,而連接互操作還是依賴于特定的訪問協(xié)議,如JAVA使用RMI,CORBA使用IIOP等。而SOA通過標準的、支持Internet、與操作系統(tǒng)無關的SOAP協(xié)議實現(xiàn)了連接互操作。而且,服務的封裝是采用XML協(xié)議,具有自解析和自定義的特性,這樣,基于SOA的中間件還可以實現(xiàn)語義互操作。

  因此,下一代的中間件將在軟件的模型、結構、互操作以及開發(fā)方法等四個方面進行優(yōu)化:

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

  結構:結構松散化,即,將完整分離服務描述和服務功能實現(xiàn)以及服務的使用者和提供者,從而避免分布式應用系統(tǒng)構建和集成時常見的技術、組織、時間等不良約束。

  互操作:交互過程標準化,即,將與互操作相關的內容進行標準化定義,如服務封裝、描述、發(fā)布、發(fā)現(xiàn)、調用等契約,通信協(xié)議以及數(shù)據(jù)交換格式等等。最終實現(xiàn)訪問互操作、連接互操作和語義互操作。

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

  總之,服務化體現(xiàn)的是中間件在完整業(yè)務復用、靈活業(yè)務組織方面的發(fā)展趨勢,其核心目標是提升IT基礎設施的業(yè)務敏捷性。因此,中間件將成為SOA的主要實現(xiàn)平臺。

責任編輯:admin