應(yīng)用服務(wù)器又稱為“應(yīng)用服務(wù)器軟件平臺(tái)”(Application Server Software Platform,,簡(jiǎn)稱為ASSP),,是最重要的一類中間件軟件。中間件軟件市場(chǎng)的演進(jìn),,創(chuàng)造了許多種類的中間件,,也使得清楚地了解中間件解決方案更加復(fù)雜化。
一,、 應(yīng)用服務(wù)器及基于應(yīng)用服務(wù)器的軟件系統(tǒng)總體結(jié)構(gòu)
在1998年Giga 信息集團(tuán)的報(bào)告《了解中間件——給IT管理者的策略和實(shí)現(xiàn)建議》中,,繪制了一個(gè)非常經(jīng)典的各類中間件位置的二維圖,,至今仍然適用。
在上圖中,,縱軸表示與低層通信協(xié)議的距離,。在圖上的位置越高,意味著產(chǎn)品距離應(yīng)用領(lǐng)域越近,,具有應(yīng)用中需要的更多的功能,。
在上圖中,橫軸表示抽象的類型,,從左邊的數(shù)據(jù)開始移動(dòng),,通過面向處理的抽象移動(dòng)向右邊,終止于基于對(duì)象和組件的抽象,。
某些類中間件,,如事務(wù)處理監(jiān)控程序(TP Monitors,所謂“交易中間件”),,橋接多種抽象(如數(shù)據(jù)和處理),,縱向從低層跨向高層。其它的保持在高層,,依賴于低層的中間件種類,如使用CORBA或J2EE技術(shù),,或DNA技術(shù)或TP Monitor技術(shù)的應(yīng)用服務(wù)器,。
應(yīng)用服務(wù)器并非是老產(chǎn)品的位置重置。首先,,它不是把ORB,、MOM、交易管理,、數(shù)據(jù)訪問中間件和別的中間件產(chǎn)品和技術(shù)簡(jiǎn)單地打包在一起,因?yàn)楫?dāng)前的應(yīng)用服務(wù)器軟件都是基于對(duì)象或組件技術(shù)的,各種中間件功能必須以面向?qū)ο蠡蚪M件的方式提供,;此外,,還需要把另外重要的、增加價(jià)值的功能加進(jìn)來——如對(duì)象或組件的部署,、運(yùn)行時(shí)及管理功能,。
按照1998年Giga的劃分,按照應(yīng)用服務(wù)器軟件欲支持的應(yīng)用類型,,有四種類型的應(yīng)用服務(wù)器軟件:針對(duì)Web高端電子商務(wù)應(yīng)用的,、針對(duì)高端企業(yè)應(yīng)用的、針對(duì)低到中規(guī)模的Web應(yīng)用,,以及多語言部門級(jí)應(yīng)用,。今天,,針對(duì)企業(yè)級(jí)電子商務(wù)應(yīng)用和一般企業(yè)應(yīng)用的應(yīng)用服務(wù)器軟件一般歸于同一類。仍然存在支持低到中業(yè)務(wù)規(guī)模的電子商務(wù)或企業(yè)部門應(yīng)用的軟件實(shí)現(xiàn),。
最近幾年,,除了微軟獨(dú)家提供與Windows操作系統(tǒng)棒定在一起的、基于DNA/DCOM技術(shù)的應(yīng)用服務(wù)器軟件功能外,,主流應(yīng)用服務(wù)器產(chǎn)品全部基于Java語言開發(fā),,并遵從J2EE/EJB規(guī)范?;贘2EE/EJB技術(shù),,提供Web或獨(dú)立程序訪問方式,支持企業(yè)Java組件(EJB)的開發(fā),、部署,、運(yùn)行和管理功能,提供對(duì)后臺(tái)數(shù)據(jù)庫(kù)系統(tǒng)和企業(yè)信息系統(tǒng)的訪問能力,,提供標(biāo)準(zhǔn)的消息傳送機(jī)制等功能的應(yīng)用服務(wù)器軟件已經(jīng)成為當(dāng)前應(yīng)用服務(wù)器軟件的共同之處,。
基于J2EE應(yīng)用服務(wù)器的軟件系統(tǒng)的整體結(jié)構(gòu)如下圖所示。
整體上看,,基于ASSP的整個(gè)軟件系統(tǒng)由四個(gè)大層次構(gòu)成,。最底層是Java虛擬機(jī)(JVM)層,一般由計(jì)算機(jī)系統(tǒng)廠商免費(fèi)用提供,;上面就是ASSP,,由ASSP開發(fā)商提供。這一層是整個(gè)應(yīng)用系統(tǒng)開發(fā),、部署,、運(yùn)行和管理的基礎(chǔ)架構(gòu)層,是本項(xiàng)目要開發(fā)的內(nèi)容,。其上層的電子商務(wù)/企業(yè)應(yīng)用框架是基于ASSP開發(fā)的,、針對(duì)特定種類電子商務(wù)/企業(yè)應(yīng)用的“標(biāo)準(zhǔn)”積木塊,這一層產(chǎn)品由ASSP廠商或第三方軟件廠商來提供,。類似的產(chǎn)品有“電子商務(wù)服務(wù)器”等等,。最上層是由應(yīng)用軟件開發(fā)商/開發(fā)人員定制開發(fā)的電子商務(wù)/企業(yè)應(yīng)用。
縱向來看,,底層的產(chǎn)品和技術(shù)最標(biāo)準(zhǔn),、最開放,層次越高,,越不標(biāo)準(zhǔn),,需要定制的也越多。從價(jià)值角度來看,,最向上就越接近最終的應(yīng)用解決方案,。底層軟件的供應(yīng)商如果能夠向最頂層提供更多的內(nèi)容,,增值也就越多。
二,、 ASSP技術(shù)發(fā)展的總體趨勢(shì)
綜合各技術(shù)與市場(chǎng)分析機(jī)構(gòu)及我們的研究,,可以把ASSP技術(shù)發(fā)展的總體趨勢(shì)歸納為以下的五個(gè)大方向??偟膩砜?,ASSP部分基本技術(shù)、基本框架未變,。ASSP的核心內(nèi)容更加標(biāo)準(zhǔn)化,,ASSP包含的功能更豐富,ASSP橫向與其它系統(tǒng)有更多的聯(lián)系,。ASSP本身也向上延伸,,把部分應(yīng)用框架方面的內(nèi)容容納入自身。上述動(dòng)向具有普遍的意義,。
趨勢(shì)一,、技術(shù)越來越“標(biāo)準(zhǔn)”化,遵循“標(biāo)準(zhǔn)”成為必須
2000年以前,,隨著核心的服務(wù)方Java應(yīng)用編程接口的普及(如JSP,、servlet),以及市場(chǎng)對(duì)企業(yè)Java構(gòu)件(EJB)的期待,,大量新生公司涌向建造服務(wù)器端產(chǎn)品的市場(chǎng),,以實(shí)現(xiàn)這些API。此時(shí)廠商的關(guān)注點(diǎn)還是構(gòu)建和銷售其特定API的產(chǎn)品,。到1999年底和2000初,,大約有30多個(gè)EJB服務(wù)器廠商,,只有幾個(gè)公司實(shí)現(xiàn)了完整的EJB1.0,。整個(gè)行業(yè)的重點(diǎn)是EJB應(yīng)用服務(wù)器,每個(gè)廠商都在努力以成為主流的EJB服務(wù)器供應(yīng)商,。J2EE 1.0最終規(guī)范要求要“符合J2EE”規(guī)范,,必須提供完整的J2EE API產(chǎn)品套件。從2000年眾應(yīng)用服務(wù)器廠商的J2EE符合性測(cè)試的競(jìng)賽開始,,“符合J2EE”就成了廠商爭(zhēng)取競(jìng)爭(zhēng)優(yōu)勢(shì)的必然選擇,。
整個(gè)J2EE體系包括四大部分:J2EE藍(lán)圖、J2EE規(guī)范,、J2EE參考實(shí)現(xiàn)和兼容性測(cè)試套件,。規(guī)范包括十余個(gè)部分,涉及表現(xiàn)層Java組件技術(shù),、企業(yè)Java組件技術(shù)等眾多相關(guān)技術(shù),。幾年來相關(guān)技術(shù)規(guī)范一直在不斷的新增,、擴(kuò)充和完善中。目前J2EE及EJB的最新版本是1.4和2.0,,EJB 2.1尚未正式推出,。作為一個(gè)支持企業(yè)級(jí)構(gòu)件應(yīng)用開發(fā)的現(xiàn)代應(yīng)用架構(gòu)來說,EJB2.0中的一些內(nèi)容如Local Interface,、CMP,、EJB-QL、MDB等都是非常重要的,。
趨勢(shì)二,、擴(kuò)展服務(wù)與功能是區(qū)分ASSP的重要特性
J2EE/EJB已經(jīng)成為絕大多數(shù)應(yīng)用服務(wù)器廠商的標(biāo)準(zhǔn)。原來區(qū)分不同應(yīng)用服務(wù)器的因素已經(jīng)消失了,。激烈的競(jìng)爭(zhēng)越來越表現(xiàn)在高層次上,,不再是低技術(shù)層次?;旧?,應(yīng)用服務(wù)器由以下的核心服務(wù)/功能和擴(kuò)展服務(wù)/功能構(gòu)成。
核心服務(wù)/功能方面,,應(yīng)用服務(wù)器廠商已經(jīng)轉(zhuǎn)移向J2EE“標(biāo)準(zhǔn)”,。因?yàn)閼?yīng)用服務(wù)器在核心層正變得越來越標(biāo)準(zhǔn),應(yīng)用服務(wù)器的整個(gè)概念就如同操作系統(tǒng)一樣正成為企業(yè)信息系統(tǒng)的標(biāo)準(zhǔn)部分,。J2EE在標(biāo)準(zhǔn)化過程中正起著一個(gè)重要的作用,。
許多關(guān)于ASSP的預(yù)測(cè)都認(rèn)為由于J2EE成為應(yīng)用服務(wù)器的公共標(biāo)準(zhǔn),ASSP越來越廉價(jià),,差別越來越小,,正在走向“物品化”。各ASSP廠商的意見是,,標(biāo)準(zhǔn)使得編程更簡(jiǎn)單,,但性能、可伸縮性和使產(chǎn)品更加快速地推向市場(chǎng)的各個(gè)特性是使各個(gè)ASSP相互區(qū)分,,從而抗拒或延遲“物品化”的過程,。這也是ASSP廠商大力推動(dòng)應(yīng)用開發(fā)框架、新技術(shù)應(yīng)用的一個(gè)原因(見“趨勢(shì)三”和“趨勢(shì)四”),。因此,,擴(kuò)展服務(wù)與功能也就成為廠商開發(fā)ASSP的重點(diǎn)內(nèi)容之一。
ASSP的各項(xiàng)擴(kuò)展服務(wù)與功能可以歸類入如下的中間件特性列表(摘自AberdeenGroup 2000年1月《中間件》報(bào)告),。
ASSP提供了支持企業(yè)應(yīng)用開發(fā),、部署和管理的基礎(chǔ)性框架。在實(shí)現(xiàn)一般企業(yè)應(yīng)用或者特定類型應(yīng)用的過程中,,人們逐漸總結(jié)出了一些共性的,、經(jīng)過驗(yàn)證的分析,、設(shè)計(jì)和實(shí)現(xiàn)方法、模式甚至是部分的實(shí)現(xiàn),。獨(dú)立軟件商或者ASSP廠商可以進(jìn)一步把這些針對(duì)對(duì)一組類似的問題的公共設(shè)計(jì)和部分的實(shí)現(xiàn)抽象出來,,提供一般化解決方案——應(yīng)用開發(fā)框架,從而簡(jiǎn)化應(yīng)用系統(tǒng)開發(fā)的開發(fā),。
基于對(duì)象技術(shù)的框架開發(fā),,核心功能一般實(shí)現(xiàn)為一組以特定的方式交互的抽象的類。在導(dǎo)出一個(gè)具體的應(yīng)用時(shí),,這些抽象的類要用具體的子類去替換,。其它具體的類要從一個(gè)由框架開發(fā)者提供的標(biāo)準(zhǔn)的組件庫(kù)中選取。通過增加一些新的應(yīng)用特定的類來完成定制,。某些應(yīng)用開發(fā)框架不針對(duì)特定的應(yīng)用或業(yè)務(wù)種類,,是一般性的,還有一些是針對(duì)某種類型的應(yīng)用或業(yè)務(wù)的,,通常把它們看成是某種應(yīng)用或業(yè)務(wù)應(yīng)用的平臺(tái)軟件,。
趨勢(shì)三、集成新的關(guān)鍵技術(shù)
最近幾年,,在分布式計(jì)算領(lǐng)域,,可能沒有一項(xiàng)技術(shù)的影響力最終會(huì)超過Web service。
盡管我們有了Web信息發(fā)布和瀏覽技術(shù),,J2EE/EJB,、CORBA和DCOM等對(duì)象或組件開發(fā)技術(shù),在解決使用不同的計(jì)算機(jī)語言,、基于不同的應(yīng)用架構(gòu)開發(fā)的,,運(yùn)行在不同的操作系統(tǒng)上的信息系統(tǒng)間的互相通信和信息共享方面,仍然面臨挑戰(zhàn),。在B2B電子商務(wù)應(yīng)用中,,企業(yè)需要與合作伙伴、供應(yīng)商,、分銷及代理商,、銀行等方面實(shí)現(xiàn)快速,、方便及低成本地應(yīng)用集成?,F(xiàn)有EAI或其它中間件的解決方案繁瑣、昂貴,,且不便于實(shí)現(xiàn)動(dòng)態(tài)的應(yīng)用集成,。
Web service技術(shù)可以有效地解決這一問題。根據(jù)IBM的定義,,Web service是描述網(wǎng)絡(luò)上可通過標(biāo)準(zhǔn)化的XML消息訪問的,、應(yīng)用的一組操作的接口,,Web service完成一個(gè)特定任務(wù)或一組特定任務(wù)。Web service 使用一個(gè)標(biāo)準(zhǔn)的,、形式化的XML表示,,即Web服務(wù)描述,提供需要與服務(wù)交互的所有細(xì)節(jié),,包括消息傳遞的格式(以此描述操作的細(xì)節(jié)),、傳輸協(xié)議和位置。接口性質(zhì)隱藏了服務(wù)實(shí)現(xiàn)的細(xì)節(jié),,接口可以獨(dú)立于實(shí)現(xiàn)接口的硬件或軟件的平臺(tái),、編寫接口的編程語言而使用。這就允許和鼓勵(lì)了基于Web service的應(yīng)用實(shí)現(xiàn)的松偶合,、面向組件和跨技術(shù)實(shí)現(xiàn),。Web service既可以獨(dú)立使用,也可以與其它Web服務(wù)一起使用以執(zhí)行一個(gè)復(fù)雜的集合或一個(gè)商務(wù)交易,。因此,,主要ASSP廠商、整個(gè)軟件業(yè)都看好Web service,,視其為解決電子商務(wù),、政務(wù)及其它各類應(yīng)用的松偶合集成的最佳手段。
根據(jù)IDC 2002年6月發(fā)表的《西歐 ASSP 市場(chǎng)預(yù)測(cè)與分析2002-2006》(IDC #AD25J),,IDC認(rèn)為,,正如2001年的發(fā)展,Web service越來越被認(rèn)為是提供獨(dú)立于技術(shù)的互操作的重要手段,,主要廠商已經(jīng)在其產(chǎn)品中加入了基本的Web service能力,。到2002年對(duì)基礎(chǔ)的Web service標(biāo)準(zhǔn)(SOAP和WSDL)的支持很可能是產(chǎn)品必有的特性。IDC確信屆時(shí)不可能銷售一個(gè)沒有提供對(duì)WS的基本支持的產(chǎn)品,。
在EJB 2.1規(guī)范正式推出之前,,一些基于J2EE/EJB的ASSP產(chǎn)品中就已經(jīng)有了對(duì)Web service的基本支持,如通過簡(jiǎn)單地內(nèi)置一些傳輸處理程序和一個(gè)SOAP引擎,,就可以把servlet和EJB封裝成Web service,。EJB 2.1規(guī)范中,明確地為EJB定義了支持Web service的組件接口,,這使得EJB支持Web服務(wù)的編程和封裝處理標(biāo)準(zhǔn)化,。
針對(duì)ASSP的新關(guān)鍵技術(shù)不限于Web service??偟膩砜?,ASSP正朝著大而全,“一個(gè)應(yīng)用服務(wù)器,所有的中間件”的方向發(fā)展,。
趨勢(shì)四,、與其它軟件打包成平臺(tái)套件
針對(duì)這一趨勢(shì),Gartner提出了應(yīng)用平臺(tái)套件(Application Platform Suites,,簡(jiǎn)稱ASP)的概念,。根據(jù)Gartner的定義,APS是由在運(yùn)行時(shí)足以成為現(xiàn)代電子商務(wù)應(yīng)用的基礎(chǔ)支撐的那些基本的軟件架構(gòu)產(chǎn)品組裝成的,。APS架構(gòu)的核心是ASSP,,一般包括企業(yè)應(yīng)用服務(wù)器、門戶產(chǎn)品和企業(yè)應(yīng)用集成包,。
打包好的APS也被非正式地稱為“電子商務(wù)平臺(tái)”,。根據(jù)Gartner的定義,APS不必是來自單個(gè)廠商的單一的組裝產(chǎn)品,。好的APS將會(huì)包括其它類別的產(chǎn)品,,如集成開發(fā)框架和集成系統(tǒng)管理。一些ASSP廠商會(huì)把整個(gè)APS當(dāng)作“完整的”ASSP銷售,。ASSP廠商也越來越多地提供由自己的產(chǎn)品組裝成的“多合一”的,、“一站式購(gòu)買”的套件包。
根據(jù)Gartner的報(bào)告,,到2007年絕大多數(shù)中大型企業(yè)會(huì)在其一些項(xiàng)目或跨多個(gè)項(xiàng)目中使用APS技術(shù)(概率0.8),。這種預(yù)測(cè)的核心含義是,到2007年,,市場(chǎng)上的絕大多數(shù)軟件架構(gòu)產(chǎn)品會(huì)是由專業(yè)的基礎(chǔ)架構(gòu)構(gòu)件構(gòu)成的模塊化的集成套件(概率0.8),。Gartner的一位分析師的研究也同時(shí)警告說,企業(yè)必須根據(jù)對(duì)他們的項(xiàng)目需求的現(xiàn)實(shí)評(píng)估來決定是否使用APS技術(shù),。由Gartner的七位分析師的研究認(rèn)為,,一直到2005年,企業(yè)的選擇也不會(huì)是一致的,,或者是選擇各家最好的產(chǎn)品裝配,,也可能是“一站式購(gòu)買”。
APS不應(yīng)是廠商現(xiàn)有相關(guān)產(chǎn)品的簡(jiǎn)單匯集,。以APS集成TP-Monitor(事務(wù)管理中間件)或MOM(消息中間件)為例,,廠商必須提供ASSP與TP-Monitor或MOM之間的、簡(jiǎn)單無縫隙并且標(biāo)準(zhǔn)的訪問能力,。
三,、 國(guó)內(nèi)ASSP的發(fā)展動(dòng)向
國(guó)內(nèi)自主開發(fā)ASSP產(chǎn)品的廠商不多,東方通科技和金碟軟件是最早的兩家,,比較有代表性,,都是作為產(chǎn)品化的軟件在市場(chǎng)上銷售,,交給應(yīng)用開發(fā)商和用戶使用,。另外國(guó)內(nèi)也有一些ASSP的開發(fā)企業(yè),。 總的來看,國(guó)內(nèi)ASSP的技術(shù)發(fā)展與大潮流是一致的,。
作為國(guó)內(nèi)中間件領(lǐng)域最有代表性的企業(yè),,東方通科技的應(yīng)用服務(wù)器產(chǎn)品TongWeb開發(fā)的比較早,市場(chǎng)推廣是最好的,,目前主要的全國(guó)性大用戶有中國(guó)聯(lián)通,,在由覆蓋全國(guó)的3個(gè)主站、20個(gè)分站構(gòu)成的聯(lián)通165網(wǎng)站,、支撐聯(lián)通全部B2C,、B2B支付業(yè)務(wù)的聯(lián)通電子商務(wù)平臺(tái)以及中國(guó)聯(lián)通11個(gè)分公司的客戶服務(wù)系統(tǒng)的大面積使用中得到全面考驗(yàn),在萬方數(shù)據(jù)電子商務(wù)網(wǎng)站,、北京市科委電子政務(wù)系統(tǒng),、北京市東城區(qū)電子政務(wù)系統(tǒng)、煙臺(tái)市電子政務(wù)系統(tǒng),、四川電信備品備件系統(tǒng),、江西建行、吉林移動(dòng)計(jì)費(fèi)系統(tǒng),、成都公安局綜合信息系統(tǒng),、云南電信大客戶系統(tǒng)等眾多企業(yè)級(jí)應(yīng)用中運(yùn)行良好,產(chǎn)品的穩(wěn)定性和連接其它業(yè)務(wù)系統(tǒng)的應(yīng)用集成能力表現(xiàn)突出,。
|