【
IT168 資訊化】
作為中間件行業内的專業化和領先企業來說,大家都重視起中間件來了,這是好事,說明社會上重視了。對行業的發展和繁榮固然重要,但這也隐含了重大的風險。
長期以來,中間件是一個專業化非常強的細分産業。因為中間件的技術門檻比較高,玩家也不多,無論是國外還是國内都是如此。是以,行業内對什麼是中間件并不特别在意。而公司名稱直接叫中間件的就更少了,“金蝶中間件”應該是國内外直接在公司名稱中冠以中間件字眼最早,也是很少的公司之一。另一方面,因為中間件軟體還處于發展階段,還沒有完全成熟,是以對中間件的定義也就沒有深究,或者權威的說法。
但現在情況有點變化,其中一個原因在于2008年底,國家啟動了“核高基”重大科技專項,在基礎軟體領域明确提出重點支援“作業系統、資料庫、中間件、文字處理”等基礎軟體産業的自主創新,幾乎一夜之間大大小小的軟體公司都宣稱是做中間件的了,隻要不是做最終應用軟體的,他們的産品都叫中間件了,一時間,中間件變得“蓬勃發展”起來了。
作為中間件行業内的專業化和領先企業來說,大家都重視起中間件來了,這是好事,說明社會上重視了。對行業的發展和繁榮固然重要,但這也隐含了重大的風險。中間件名字被濫用,無論是對使用者,對這個産業,對政府和投資人來說,都會有負面的影響。“魚目混珠,泥沙俱下”的局面,對中間件産業的正常發展未必就是好事情了,也可能對真正的中間件自主創新帶來許多困擾,模糊了中間件的本質,可能會弱化中間件核心技術的創新和發展。
是以,在這種情況下,無論是對行業内,還是行業外,突然“什麼是中間件”的問題變成了一個大問題了。
本文試圖就中間件的來龍去脈,外延内涵和前世今生,來一個全面的闡釋。一家之言,權作業界參考,希望帶動大家做一些深入的思考。
中間件發展的曆史事情從1946年說起,世界上第一台電子計算機“埃尼阿克”誕生,人類進入資訊時代。1955年,約翰?巴克斯發明了最早的程式語言Fortran,現代意義上的軟體就誕生了。
1964年,IBM釋出OS/360作業系統,軟體與硬體分離,同時,軟體成為一個獨立的産業正式登上産業界的舞台。中間件就是軟體産業不斷發展過程中自然産生的。
90年代,文頓?瑟夫這位網際網路之父的發明成為改變IT業的重大革命性創新。網際網路促使分布式系統和網絡應用的誕生,中間件就是伴随網絡技術的産生、發展而興起的,可以說沒有網絡就沒有現代意義上的中間件。因為,網絡環境需要解決異構分布網絡環境下軟體系統的通信、互操作、協同、事務、安全等共性問題,提高異構分布網絡環境下軟體系統的互操作性、可移植性、适應性、可靠性等問題。
1968年IBM釋出CICS交易事務控制系統,使得應用軟體與系統服務分離,這是中間件技術萌芽的标志,因為CICS還不是分布式環境的産物,是以我們往往還不将CICS作為正式的中間件系統。
一般來說,我們将1990年誕生于AT&T公司的BELL實驗室的Tuxedo系統(後來被NOVELL從AT&T公司随着 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中間件體系。
以上談的是曆史,但透過曆史事實背後,為什麼會出現中間件,這其中的本質因素是什麼?
中間件發展的驅動力中間件出現的驅動力主要來自軟體研發過程碰到的種種問題。從軟體出現最早是用于科學計算,然後是計算機輔助設計、輔助制造等等工業應用。在企業管理領域大規模應用後,業務需求不斷的變化、系統不斷增加、流程更複雜、系統越來越不堪重負,出現了需求傳遞方面的重大挑戰,以至于人們用“軟體危機”來描述軟體工業所面臨的困境。
總結起來,軟體工業面臨的主要問題是四個方面:品質問題、效率問題、互操作問題、靈活應變問題。這些問題今天依然困擾着這個行業。
造成這個局面的原因是異構性和标準規範的滞後。
屏蔽異構性異構性表現在計算機的軟硬體之間的異構性,包括硬體(CPU和指令集、硬體結構、驅動程式等),作業系統(不同作業系統的API和開發環境)、資料庫(不同的存儲和通路格式)等等。長期以來,進階語言依賴于特定的編譯器和作業系統API來程式設計,而他們是不相容的,是以軟體必須依賴于開發和運作的環境。
造成異構的原因源自市場競争、技術更新以及保護投資等因素。希望屏蔽異構平台的差異性問題是促成中間件發展的驅動力之一。
實作互操作因為異構性,産生的結果是軟體依賴于計算環境,使得各種不同軟體之間在不同平台之間不能移植,或者移植非常困難。而且,因為網絡協定和通信機制的不同,這些系統之間還不能有效地互相內建。
造成互操作性不好的原因,主要是标準的滞後。解決軟體之間的互操作性問題也是促成中間件發展的驅動力之一。
共性凝練和複用軟體應用領域越來越多,相同領域的應用系統之間許多基礎功能和結構是有相似性的,每次開發系統都從零開始絕對不是一種好的方法,也是對品質和效率的很大的傷害。
盡可能多地凝練共性并複用以提高軟體開發效率和品質,通過中間件通過提供簡單、一緻、內建的開發和運作環境,簡化分布式系統的設計、程式設計和管理,這也是中間件發展的重要驅動力。
在長期的探索過程中,解決軟體的四個問題的辦法總結起來,兩個方面:工程方法、平台與技術。
工程方法就是用工業工程、系統工程的理論、方法和體系來解決軟體研發過程中的管理問題,包括團隊管理、項目管理、品質控制等等,這就是軟體工程。除了軟體工程方法之外,我們發明了更多的架構規劃、設計和實施的方法,不斷累積領域的知識與經驗等等。
更好的技術手段,包括更好的程式設計語言、更好的平台和軟體開發技術,如面向對象、元件開發、面向服務等等。而這方面,在技術上逐漸發展的成果大部分都凝聚在今天的中間件平台之中。
而這些更好的技術手段,從本質上是通過複用、松耦合、互操作(标準)等機制來提高軟體品質、加快軟體研發效率、使研發出來的産品能夠互相內建并靈活适應變化。
這些因素逐漸促成了中間件軟體的形成和發展。
中間件的概念講了這麼多,究竟什麼是中間件,也就是中間件的定義是什麼?
針對這個問題,應該說還沒有一個标準的定義,或者說還沒有完全取得學術界和産業界的共識。
顧名思義,中間件就是處于中間的軟體。但這種不是從功能,或者特性來定義的概念,而是用“位置”來定義的名字,就容易被不同的人從不同角度賦予其不同的含義。
IDC曾經給中間件下的定義是“中間件是一種獨立的系統軟體或服務程式,分布式應用軟體借助這種軟體在不同的技術之間共享資源,中間件位于客戶機伺服器的作業系統之上,管理計算資源和網絡通信”。
我國學術界一般認可的定義是“中間件是指網絡環境下處于作業系統、資料庫等系統軟體和應用軟體之間的一種起連接配接作用的分布式軟體,主要解決異構網絡環境下分布式應用軟體的互連與互操作問題,提供标準接口、協定,屏蔽實作細節,提高應用系統易移植性”(北京大學梅宏)。
中科院軟體所研究員仲萃豪形象地把中間件定義為“平台+通信”。這個定義限定了隻有用于分布式系統中的此類軟體才能被稱為中間件,同時此定義還可以把中間件與支撐軟體和實用軟體區分開來。
中間件處于作業系統軟體與使用者的應用軟體的中間。中間件在作業系統、網絡和資料庫之上,應用軟體的下層,總的作用是為處于自己上層的應用軟體提供運作與開發的環境,幫助使用者靈活、高效地開發和內建複雜的應用軟體。形象地說就是“上下”之間的“中間”。
此外,中間件主要為網絡分布式計算環境提供通信服務、交換服務、語義互操作服務等系統之間的協同內建服務,解決系統之間的互連互通問題。形象地說就是所謂“左右”之間的“中間”。
要深入了解什麼是中間件,形式化的定義固然重要,我們還得從概念本身去深入了解其核心特征才是最重要的。要了解一個概念,從内涵和外延兩個方面去描述是哲學上非常重要的一套方法體系。
中間件的特征(内涵)
總結分析,中間件有幾個非常重要的特征是必須具備的:
平台化所謂“平台”就是能夠獨立運作并自主存在,為其所支撐的上層系統和應用提供運作所依賴的環境。顯然,不是所有的系統或者應用都可以稱之為平台的。中間件是 一個平台,是以中間件是必須獨立存在,是運作時刻的系統軟體,它為上層的網絡應用系統提供一個運作環境,并通過标準的接口和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的主要實作平台。
中間件的分類(外延)
中間件所包括的範圍十分廣泛,針對不同的應用需求湧現出多種各具特色的中間件産品。從功能性外延來看,中間件包括交易中間件、消息中間件、內建中間件等各種功能性的中間件技術和産品。
現在,中間件已經成為網絡應用系統開發、內建、部署、運作和管理必不可少的工具。由于中間件技術涉及網絡應用的各個層面,涵蓋從基礎通訊、資料通路到應用內建等衆多的環節,是以,中間件技術呈現出多樣化的發展特點。
根據中間件在軟體支撐和架構的定位來看,基本上可以分為三大類産品:應用服務類中間件、應用內建類中間件、業務架構類中間件。
應用服務類中間件為應用系統提供一個綜合的計算環境和支撐平台,包括對象請求代理(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的産品包括Tibico和Informatica等公司産品。
随着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等。
中間件的未來
中間件是網際網路時代的IT基礎設施,提供業務的靈活性,消除資訊孤島,提高IT的研發和營運效率。作為網絡計算的核心基礎設施,中間件正在呈現出服務化、 自治化、業務化、一體化等諸多新的發展趨勢,中間件進入2.0時代,将極大提升網際網路統一計算平台的“敏、睿、融、和”能力。
中間件将“變寬變厚”以網際網路為核心的多網融合産生了豐富多樣的新型網絡應用模式,作為主流的應用運作支撐環境,中間件無處不在,越來越多的應用模式被抽象到中間件層,中間件将“變寬變厚”。
中間件将面向服務、易于內建随着SOA技術逐漸成為主流,以及異構系統的內建問題日益嚴峻,中間件将向面向服務、易于內建的方向發展。
中間件将向一體化的方向發展中間件産品的種類日趨多樣(如交易中間件、消息中間件、應用伺服器、內建中間件、業務中間件等),但其技術架構将向一體化的方向發展,主要包括:
統一核心,易于演化:各大廠商的中間件産品将建構在統一核心之上,使其易于平台演化。
統一程式設計模型,易于開發:不同中間件産品提供了不同的程式設計模型,這些程式設計模型将趨向統一,進而達到易于開發的目的。
統一管理模型,易于系統維護:不同中間件産品提供了不同的管理工具與管理手段,這些管理工具與手段将趨向統一,使其易于管理,降低運維成本。
中間件産品将支援雲計算,易于傳遞中間件産品将成為雲計算的支撐平台,使應用易于傳遞。
後端平台深度融合一個大膽的設想是:未來五年,浏覽器将統一前端,而後端平台(中間件、作業系統、 資料庫)走向深度融合。(對中間件的未來發展趨勢的詳細介紹參加另文《中間件技術的發展趨勢分析》,在此不做詳細論述。)
綜上所述,我們可以認為中間件是一種獨立的系統軟體平台,為網絡應用軟體提供綜合的服務和完整的計算環境,借助這種軟體使得網絡應用能夠實作內建,達到業務的協同,實作業務的靈活性。
檢視原文:
相關閱讀:
- 資訊系統綜合內建方案:中間件應用
- CIO:了解自己需求 選擇合适中間件
- 開源中間件模式及其應用伺服器介紹
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/7699723/viewspace-629500/,如需轉載,請注明出處,否則将追究法律責任。
轉載于:http://blog.itpub.net/7699723/viewspace-629500/