一、概述
1.中間件的概念
隨著計算機技術的飛速發展,各種各樣的應用軟件需要在各種平臺
由于中間件技術正處于發展過程之中,因此目前尚不能對它進行精確的定義。
從中間件的定義可以看出,中間件是一類軟件,而非一種軟件;中間件不僅僅實現互連,還要實現應用之間的互操作;中間件是基于分布式處理的軟件,定義中特別強調了其網絡通訊功能。
2.中間件特點及優勢
程序員通過調用中間件提供的大量API,實現異構環境的通訊,從而屏蔽異構系統中復雜的操作系統和網絡協議。
中間件提供客戶機與服務器之間的連接服務,這些服務具有標準的程序接口和協議。針對不同的操作系統和硬件平臺,它們可以有符合接口和協議規范的多種實現。
中間件是一種獨立的系統軟件或服務程序,分布式應用軟件借助這種軟件在不同的技術之間共享資源。中間件軟件管理著客戶端程序和數據庫或者早期應用軟件之間的通訊。
中間件在分布式的客戶和服務之間扮演著承上啟下的角色,如事務管理、負載均衡以及基于Web的計算等。
利用這些技術有助于減輕應用軟件開發者的負擔,使他們利用現有的硬件設備、操作系統、網絡、數據庫管理系統以及對象模型創建分布式應用軟件時更加得心應手。由于中間件能夠保護企業的投資,保證應用軟件的相對穩定,實現應用軟件的功能擴展;同時中間件產品在很大程度上簡化了一個由不同硬件構成的分布式處理環境的復雜性,所以它的出現正日益引起用戶的關注。
世界著名的咨詢機構The Standish Group在一份研究報告中歸納了中間件的十大優越性:
?。?)系統運行:沒有使用中間件的應用系統,其初期的資金及運行費用的投入要比同規模的使用中間件的應用系統多一倍。
?。?)減少項目開發風險:研究表明,沒有使用標準商業中間件的關鍵應用系統開發項目的失敗率高于90%。企業自己開發內置的基礎(中間件)軟件是得不償失的,項目總的開支至少要翻一倍,甚至會十幾倍。
?。?)合理運用資金:借助標準的商業中間件,企業可以很容易地在現有或遺留系統之上或之外增加新的功能模塊,并將它們與原有統無縫集合。依靠標準的中間件,可以將老的系統改頭換面成新潮的Internet/Intranet 應用系統。
?。?)應用集合:依靠標準的中間件可以將現有的應用、新的應用和購買的商務構件融合在一起進行應用集合。
?。?)系統維護:需要一提的是,基礎(中間件)軟件的自我開發是要付出很高代價的,此外,每年維護自我開發的基礎(中間件)軟件的開支則需要當初開發費用的15%~25%,每年應用程序的維護開支也還需要當初項目總費用的10%~20%左右。而在一般情況下,購買標準商業中間件每年只需付出產品價格的15%~20%的維護費,當然,中間件產品的具體價格要依據產品購買數量及哪一家廠商而定。
?。?)質量:基于企業自我建造的基礎(中間件)軟件平臺上的應用系統,每增加一個新的模塊,就要相應地在基礎(中間件)軟件之上進行改動。而標準的中間件在接口方面都是清晰和規范的。標準中間件的規范化模塊可以有效地保證應用系統質量及減少新舊系統維護開支。
?。?)技術革新:企業對自我建造的基礎(中間件)軟件平臺的頻繁革新是極不容易實現的(不實際的)。而購買標準的商業中間件,則對技術的發展與變化可以放心,中間件廠商會責無旁貸地把握技術方向和進行技術革新。
?。?0)增加產品吸引力:不同的商業中間件提供不同的功能模型,合理使用,可以讓你的應用更容易增添新的表現形式與新的服務項目。從另一個角度看,可靠的商業中間件也使得企業的應用系統更完善,更出眾。
具體地說,中間件屏蔽了低層操作系統的復雜性,使程序開發
中間件帶給應用系統的不只是開發的簡單、開發周期的縮短,也減少了系統的維護、運行和管理的工作量,還減少了計算機總體費用的投入。The Standish Group的調查報告顯示,由于采用了中間件技術,應用系統的總建設費用可以減少50%左右。在網絡經濟大發展、電子商務大發展的今天,從中間件獲得利益的不只是IT廠商,IT用戶同樣是贏家,并且是更有把握的贏家。
中間件作為新層次的基礎軟件,其重要作用是將不同時期、在不同操作系統上開發應用軟件集成起來,彼此像一個天衣無縫的整體協調工作,這是操作系統、數據庫管理系統本身做不了的。中間件的這一作用,在技術不斷發展之后,使以往在應用軟件上的勞動成果仍然物有所用,節約了大量的人力、財力投入。
3.中間件的應用領域與分類
隨著計算機軟件技術的發展,中間件技術也已經日漸成熟,并且出現了不同層次、不同類型的中間件產品。按照IDC的分類方法,中間件可分為六類。分別是數據訪問中間件、遠程過程調用中間件、消息中間件、交易中間件、對象中間件等。
數據訪問中間件:是為了建立數據應用資源互操作的模式,對異構環境下的數據庫實現聯接或文件系統實現聯接的中間件;
遠程過程調用中間件:通過這種遠程過程調用機制,程序員編寫客戶方的應用,需要時可以調用位于遠端服務器上的過程;
消息中間件:用來屏蔽掉各種平臺及協議之間的特性,進行相互通信,實現應用程序之間的協同;
交易中間件:是在分布、異構環境下提供保證交易完整性和數據完整性的一種環境平臺;
對象中間件:在分布、異構的網絡計算環境中,可以將各種分布對象有機地結合在一起,完成系統的快速集成,實現對象重用。
面向對象的中間件是對象技術和分布式計算發展的產物,業界普遍認為面向對象是今后中間件發展的主流方向,它提供一種通訊機制,透明地在異構的分布計算環境中傳遞對象請求,而這些對象可以位于本地或者遠程機器。
面向對象標準原本只有一個,即CORBA(公共對象請求代理體系結構),該標準由包括BEA、IBM、Oracle、Sun和Sybase等公司在內的眾多廠商一起制定,從而形成了一個龐大的CORBA聯盟勢力。后來,Sun推出了企業級JavaBeans(EJB),用自己易使用的程序模型來對CORBA做出了改進。微軟COM(Component Object Model,組件對象模型)的出現,使面向對象中間件市場里又多了一個標準,這樣,面向對象中間件產品實際上形成了兩大標準,一是微軟的COM,一是JavaBeans。
從宏觀上看,中間件可以分為3大類:
數據類:用于數據的存取、利用和增值,此類中間件用于構建以數據為中心的應用。
處理類:把分布在網絡結點上的各個應用或處理連接在一起,形成一個統一的分布式應用。
分布式構件類:支持構件式應用,未來應用的發展方向,目前競爭激烈。
為了更加清晰起見,我們把中間件細分為12種,如下:中間件細分表
序號
種類
優劣
產品
1 數據庫系統的產品 管理數據庫連接,抽象網絡協議。一般由數據庫廠商或支持多數據庫的中間件提供 數據庫廠商的產品功能較強、性能較好。而獨立于數據庫廠商的產品在用于多數據庫環境時效率有所降低 Oracle Net8Sybase Netlib,Protocol services Intersolv SequeLink client
2 數據庫存取APIs 支持對數據庫存取的編程,可以使用存儲過程。OO數據庫常為OO編程語言,如Java/C++提供適應ODMG的接口 數據庫廠商的APIs可支持對數據庫所有功能的存取,因而適合編寫OLTP的應用。而ODBC或JDBC更適合多數據庫的環境 IBM DB2 CLIOracle Net8,Call InterfaceMicrosoft ODBC,OLE DBODI’s PSE
3 數據遷移、轉換 用于數據部署、轉換、信息增值。常作為數據倉庫解決方案的一部分 使完全不同的數據包和遺留的應用能協同工作,但需要建立諸如時間、數據優選和整合、以及資源等要素 IBM Data PropagatorSybase Replication ServerPlatinum InfoPumpD2K Tapestry
4 底層的同步服務(RPC) 使調用遠端的過程和在本地一樣。在被調用的處理未完以前,調用進程處于阻塞狀態 點但的代碼抽象,只有在所有的Server 都是在線的情形才能工作。不適合移動或Internet應用 DCE-RPC (微軟把它用在DOM中)Borland EnteraNoblenet RPC
5 簡單的異步消息 簡單是消息發送和接收,有時擴展到可靠投遞、智能路由和名字服務 對需要高性能的異步通訊的應用非常有用。但需要所有的Server 都在線 Peerlogic PipesMomentum XIPC東方通科技TongLINK
6 應用級的消息隊列 是簡單的消息中間件的擴展,增加了隊列、脫機處理能力、可靠投遞和發布訂閱等功能
7 應用協調器 通常是應用級消息隊列的擴展,增加了許多工具用于建立適合事件服務的集成應用 效地節約集成的時間特別是針對應用包或工作流產品 Vitria VelocitiActive Software,ActiveWebOberon ProsperpNEON NEONetTSI Mercator
8 COM+/DNA 微軟的分布式構件平臺,使企業應用更加可擴充和可管理 從COM發展而來,是構件市場上的主流產品。尚需要增加針對企業應用的可靠性 MS,COM,DCOM,COM+MS MTSMessage Queue ServerActiveDirectory(future)
9 CORBA 平臺 OMG 標準,通過ORB 把分布的對象連接成一個邏輯上統一的整體 工業組織的標準,可用不同的方式實現,以提高互操作能力 Iona OrbixBorland/Visigenic, VisibrokerIBM ComponentBrokerBEA Iceberg東方通科技 TongBroker
10 交易監控器 用于開發實時的OLTP應用的服務器和API,用于管理交易,共享資源 已證明是建造OLTP應用的有效手段。通常是非面向對象的,帶有特有和復雜的API BEA TUXEDOIBM TX 系列東方通科技 TongEASY清華北美 JavaST
11 應用服務器 針對Internet、Intranet和其他分布式構件應用,提供服務方構件的完整環境 與交易監控器類似,只不過是面向對象的、支持構件、具有標準API NetDynamicsIBM Compont – BrokerNetscape KivaOracle App. Ser東方通科技 TongWEB清華北美 WebFirst
12 工作流/應用集成 大雜燴,把工作流和應用開發技術如消息及分布式構件結合在一起 使處理能方便自動地和構件、Script 應用、工作流行為結合在一起,同時集成文檔和電子郵件 LSS FlowmanIBM FlowmarkAction, Technologies, ActionWorksVitria Business Agiliti
二、中間件的技術規范
1.DCE體系
DCE是Distrbuted Computing Environment 分布式計算環境的縮寫,它由Open Software Fondation 制定,現在這個組織被稱為Open Group。
DCE由多個共同在一起工作的組件組成,它們是:遠程過程調用(RPC)、本地和全局目錄服務(CDS和GDS)、安全服務、DCE線程、分布式時鐘服務(DTS)和分布式文件服務(DFC)。線程、RPC、CDS、安全服務和DTS組件通常被成為安全核心,并且是組成任何DCE環境所必須的組件,DTS是可選件。在DCE環境中,還包括用于管理這些組件的管理工具。
DCE被稱做中間件或使其具有能力的技術,它不是獨立存在的,而是被捆綁在供應商操作系統中,或者由第三方供應商進行集成。
2.DTP模型
DTP模型是X/OPEN組織提出的一種軟件結構,這種結構允許多個應用程序去共享多個資源管理器提供的資源,并且具有協調全局事物的能力。
X/OPEN是一個獨立的、具有全球影響力的開放系統組織,它得到了世界大多數的最大的信息系統供應商的支持,其根本任何是通過規范開放系統的具體實現,從計算的觀點考慮如何讓用戶獲得更大的利益。
X/OPEN的DTP模型由5個基本模塊組成:
應用程序(AP):用于定義事物的邊界,并確定組成事物操作的動作。
資源管理器(RM):如數據庫或文件系統用于存取文件。
事物管理器(TP):給事物分配標識,監督事物的處理過程并負責事物的完成以及協調事物失敗的恢復。
通信資源管理器(CRM):在一個事物管理器內或兩個事物管理器之間對通信進行控制。
在這5個模塊之間X/OPEN模型定義了這樣一些模塊與模塊之間的接口規范:
應用程序——資源管理器之間已經存在了一些X/OPEN的規范,如SQL和ISAM;在應用程序——事物管理器之間定義了TX接口;在交易管理器——資源管理器之間定義了XA接口;在交易管理器——通信資源管理器之間定義了XA+接口;在應用程序——通信資源管理器之間有3種接口:TXRPC、XATMI和CPI-C;在通信資源管理器——操作系統提供的底層通信協議之間提供了XAP-TP接口。
3.CORBA
CORBA是Common Object Request Broker Architecture的縮寫,簡稱公共對象請求代理結構,它由國際對象管理組織OMG制定,這個組織是一個國際性組織,始建于1989年,現已擁有包括生產廠商與軟件開發商800多個會員,其目的是在分布和已構計算機環境下為應用軟件的開發提供一個公共框架,使開發出來的軟件即面向對象又具有可重用性、可移植性以及可操作性等特點。有關CORBA的其他功能情況參見下面的第三部分說明。
4.J2EE
J2EE是Java 2 Platform Enterprise Edition的縮寫,是一種多層應用模式的結構體系。整個規范由SUN公司提出,它將業務邏輯從系統服務功能和用戶界面中分離出去,放置在客戶層和應用基礎設施這兩層之間的中間層,是目前應用的最為廣泛的面向Web的應用系統結構規范。有關J2EE的其他功能情況參見下面的第三部分說明。
5.互聯網相關技術規范
Web(World Wide Web)是一種網絡化的信息資源,它依賴于3個機制,使這些信息資源可以面對廣大的使用者。
?。?)一種唯一的命名機制,為網上的資源進行定位,如:URI。
?。?)一種通信規程,以便在網上可以存取這些被命名的資源,如:HTTP。
?。?)混合文本,以便更好地駕御這些信息資源,如:HTML。
URI(Universal Resource Identifier)全局資源標識,一種命名機制,它將在網上的一個資源的定位分為3個部分:用于存取資源的通信方式的名稱,如HTTP、FTP;保存有資源的機器的名稱,如: www.sohu.com;資源本身的名稱,也就是存取這些資源的路徑。HTTP(HyperText Transfer Protocol)是一種用于分布式、相互協作、混合型媒體的信息系統的應用層的通信規程。使用這一規程,除了可以在信息系統中取得資料外,還可以進行資料查詢,對前端進行更新以及進行信息發布等操作。
HTML(HyperText Markup Language)是一種網上使用的出版語言,它可以為作者提供這樣的功能:在在線出版的文檔中包括標題、文本、表格、列表和照片等;按下鼠標后,通過混合文本鏈路查找文本;與遠端的服務為進行聯機事物處理建立表格,以便進行信息查找、預定和訂購產品等操作;在文檔中直接包含獨立頁面、影像資料與聲音資料等。
這些規范都是web技術的基礎,除了這些技術規范以外,還有一些規范也非常重要,它的用途是實現企業與企業間通過Web實現數據交換。這些規范是XML、SOAP、UDDI和WSDL。
vXML(Extensible Markup Language)通過提供更靈活和更容易被接收的信息標識方法來改進Web的功能。XML被稱為可擴展的標注語言,它不像HTML是一種單一的、預先定義的語言,XML是一種用于描述其他語言的語言,使用XML,你可以定義你自己的、不受到類型限制的、其他類型的文檔。
SOAP(Simple Object Aclearcase/" target="_blank" >ccess Protocol)是一種輕量級規程,用于在沒有控制中心、分布式的環境中交換信息。它以XML為基礎,由4個部分組成:一個信封,定義了是什么信息和如何對它進行處理的框架;一組編碼規則,用于描述應用定義的數據類型的表示示例;一組表示遠程過程調用和應答的規則方式,以及一組捆綁方式,這種方式用于使用低層通信規程交換信息。SOAP具有與其他規則相結合的可能性。
UDDI(Universal Description,Discovery and Integration)是一個規范,這個規范用于Web服務以分布式、以Web為基礎的信息的注冊。UDDI同時也是一個這樣的規范的實現的公用的可接入的集合,這個規范是是某個企業的Web服務所能提供的內容用登記信息的方式提供出來,以便其他企業可以發現這些服務。Web服務是Web技術的下一步發展方向,它可以允許可編程的被放置在Web上,其他方可以使用分布式的方式進行存取。
WSDL(Web Service Description Language)是一組包含面向文檔或面向過程消息的端點操作信息的xml格式網絡服務描述;操作和消息首先被抽象的描述,然后捆綁到具體的網絡規程和消息格式中,以便定義端點,相關的具體端點被組合進抽象的端點中(服務)。WSDL可以捆綁描述與SOAP、HTTP GET/POST和MIME相關。
三、主流中間件技術平臺
下面重點闡述和比較了三大主流中間件技術平臺,使讀者加深對中間件技術理解。
1.當前支持服務器端中間件技術的平臺
考察當前主流的分布計算技術平臺,主要有OMG的CORBA、Sun的J2EE和Microsoft DNA 2000。它們都是支持服務器端中間件技術開發的平臺,但都有其各自的特點,將分別闡述如下。
?。?)OMG的CORBA
CORBA分布計算技術是OMG組織基于眾多開放系統平臺廠商提交的分布對象互操作內容的基礎上制定的公共對象請求代理體系規范。
CORBA分布計算技術,是由絕大多數分布計算平臺廠商所支持和遵循的系統規范技術,具有模型完整、先進,獨立于系統平臺和開發語言,被支持程度廣泛的特點,已逐漸成為分布計算技術的標準。COBRA標準主要分為3個層次:對象請求代理、公共對象服務和公共設施。最底層是對象請求代理ORB,規定了分布對象的定義(接口)和語言映射,實現對象間的通訊和互操作,是分布對象系統中的"軟總線";在ORB之上定義了很多公共服務,可以提供諸如并發服務、名字服務、事務(交易)服務、安全服務等各種各樣的服務;最上層的公共設施則定義了組件框架,提供可直接為業務對象使用的服務,規定業務對象有效協作所需的協定規則。目前,CORBA兼容的分布計算產品層出不窮,其中有中間件廠商的ORB產品,如BEAM3,IBM Component Broker,有分布對象廠商推出的產品,如IONAObix和OOCObacus等。
CORBA規范的近期發展,增加了面向Internet的特性,服務質量控制和CORBA構件模型(CORBA Component Model)。
Internet集成特性包括了針對IIOP傳輸的防火墻(Firewall)和可內部操作的定義了URL命名格式的命名服務(Naming Service)。
服務質量控制包括能夠具有質量控制的異步消息服務,一組針對嵌入系統的CORBA定義,一組關于實時CORBA與容錯CORBA的請求方案。
CORBA CCM(CORBA Component Model)技術,是在支持POA的CORBA規范(版本2.3以后)基礎上,結合EJB當前規范的基礎上發展起來的。CORBA構件模型,是OMG組織制定的一個用于開發和配置分布式應用的服務器端中間件模型規范,它主要包括如下三項內容:
a、抽象構件模型,用以描述服務器端構件結構及構件間互操作的結構;
b、構件容器結構,用以提供通用的構件運行和管理環境,并支持對安全、事務、持久狀態等系統服務的集成;
c、構件的配置和打包規范,CCM使用打包技術來管理構件的二進制、多語言版本的可執行代碼和配置信息,并制定了構件包的具體內容和基于XML的文檔內容標準。
總之,CORBA的特點是大而全,互操作性和開放性非常好。CORBA的缺點是龐大而復雜,并且技術和標準的更新相對較慢,COBRA規范從1.0升級到2.0所花的時間非常短,而再往上的版本的發布就相對十分緩慢了。在具體的應用中使用不是很多。
?。?)Sun的J2EE
為了推動基于Java的服務器端應用開發, Sun于是在1999年底推出了Java2技術及相關的J2EE規范,J2EE的目標是:提供平臺無關的、可移植的、支持并發訪問和安全的,完全基于Java的開發服務器端中間件的標準。
在J2EE中,Sun給出了完整的基于Java語言開發面向企業分布應用規范,其中,在分布式互操作協議上,J2EE同時支持RMI和IIOP,而在服務器端分布式應用的構造形式,則包括了Java Servlet、JSP(Java Server Page)、EJB等多種形式,以支持不同的業務需求,而且Java應用程序具有"Write once,run anywhere"的特性,使得J2EE技術在發布計算領域得到了快速發展。
J2EE簡化了構件可伸縮的、其于構件服務器端應用的復雜度,雖然DNA 2000也一樣,但最大的區別是DNA 2000是一個產品,J2EE是一個規范,不同的廠家可以實現自己的符合J2EE規范的產品,J2EE規范,是眾多廠家參與制定的,它不為Sun所獨有,而且其支持跨平臺的開發,目前許多大的分布計算平臺廠商都公開支持與J2EE兼容技術。
EJB是Sun推出的基于Java的服務器端構件規范J2EE的一部分,自從J2EE推出之后,得到了廣泛的發展,已經成為應用服務器端的標準技術。SunEJB技術是在Java Bean本地構件基礎上,發展的面向服務器端分布應用構件技術。它基于Java語言,提供了基于Java二進制字節代碼的重用方式。EJB給出了系統的服務器端分布構件規范,這包括了構件、構件容器的接口規范以及構件打包、構件配置等的標準規范內容。EJB技術的推出,使得用Java基于構件方法開發服務器端分布式應用成為可能。從企業應用多層結構的角度,EJB是業務邏輯層的中間件技術,與JavaBeans不同,它提供了事務處理的能力,自從三層結構提出以后,中間層,也就是業務邏輯層,是處理事務的核心,從數據存儲層分離,取代了存儲層的大部分地位。從分布式計算的角度,EJB像CORBA一樣,提供了分布式技術的基礎。提供了對象之間的通訊手段。從Internet技術應用的角度,EJB和Servlet,JSP一起成為新一代應用服務器的技術標準,EJB中的Bean可以分為會話Bean和實體Bean,前者維護會話,后者處理事務,現在Servlet負責與客戶端通信,訪問EJB,并把結果通過JSP產生頁面傳回客戶端。
J2EE的優點是,服務器市場的主流還是大型機和UNIX平臺,這意味著以Java開發構件,能夠做到"Write once,run anywhere",開發的應用可以配置到包括Windows平臺在內的任何服務器端環境中去。
?。?)Microsoft DNA 2000
Microsoft DNA 2000(Distributed interNet Applications)是Microsoft在推出Windows2000系列操作系統平臺基礎上,在擴展了分布計算模型,以及改造Back Office系列服務器端分布計算產品后發布的新的分布計算體系結構和規范。
在服務器端,DNA 2000提供了ASP、COM、Cluster等的應用支持。目前,DNA2000在技術結構上有著巨大的優越性。一方面,由于Microsoft是操作系統平臺廠商,因此DNA 2000技術得到了底層操作系統平臺的強大支持;另一方面,由于Microsoft的操作系統平臺應用廣泛,支持該系統平臺的應用開發廠商數目眾多,因此在實際應用中,DNA 2000得到了眾多應用開發商的采用和支持。
DNA 2000融合了當今最先進的分布計算理論和思想,如事務處理、可伸縮性、異步消息隊列、集群等內容。DNA使得開發可以基于Microsoft平臺的服務器構件應用,其中,如數據庫事務服務、異步通訊服務和安全服務等,都由底層的分布對象系統提供。以Microsoft為首的DCOM/COM/COM+陣營,從DDE,OLE到ActiveX等,提供了中間件開發的基礎,如VC,VB,Delphi等都支持DCOM,包括OLE DB在內新的數據庫存取技術,隨著Windows2000的發布,Microsoft的DCOM/COM/COM+技術,在DNA2000分布計算結構基礎上,展現了一個全新的分布構件應用模型。首先,DCOM/COM/COM+的構件仍然采用普通的COM(Component Object Model)模型。COM最初作為Microsoft桌面系統的構件技術,主要為本地的OLE應用服務,但是隨著Microsoft服務器操作系統NT和DCOM的發布,COM通過底層的遠程支持使得構件技術延伸到了分布應用領域。DCOM/COM/COM+更將其擴充為面向服務器端分布應用的業務邏輯中間件。通過COM+的相關服務設施,如負載均衡、內存數據庫、對象池、構件管理與配置等等,DCOM/COM/COM+將COM、DCOM、MTS的功能有機地統一在一起,形成了一個概念、功能強的構件應用體系結構。而且,DNA2000是單一廠家提供的分布對象構件模型,開發者使用的是同一廠家提供的系列開發工具,這比組合多家開發工具更有吸引力。
但是它的不足是依賴于Microsoft的操作系統平臺,因而在其它開發系統平臺(如Unix、Linux)上不能發揮作用。
2.相關性比較分析
目前,針對上述的各種分布計算平臺技術,都出現了相似且具有可比性的分布式構件,即CORBA CCM(CORBA Component Model)技術、SUN的EJB(Enterprise JavaBean)技術和DNA 2000中的COM/DCOM/COM+技術。
對于以上三個分布計算平臺,本文采用業界常用的做法從以下三個方面進行分析:
集成性:集成性主要反映在基礎平臺對應用程序互操作能力的支持上。它要求分布在不同機器平臺和操作系統上、采用不同的語言或者開發工具生成的各類商業應用必須能集成在一起,構成一個統一的企業計算框架。這一集成框架必須建立在網絡的基礎之上,并且具備對于遺留應用的集成能力;
可用性:要求所采用的軟件構件技術必須是成熟的技術,相應的產品也必須是成熟的產品,在至關重要的企業應用中能夠穩定、安全、可靠地運行。另外,由于數據庫在企業計算中扮演著重要角色,軟件構件技術應能與數據庫技術緊密集成;
可擴展性:集成框架必須是可擴展的,能夠協調不同的設計模式和實現策略,可以根據企業計算的需求進行裁剪,并能迅速反應市場的變化和技術的發展趨勢。通過保證當前應用的可重用性,最大程度地保護企業的投資。
下表從集成性,可用性,可擴展性三個方面,給出了上述三種主流分布計算平臺的比較結果。
雖然這三種平臺因為其形成的歷史背景和商業背景有所不同,各自有自己的側重和特點,其實在它們之間也有很大的相通性和互補性。
四、中間件是實現電子商務的基礎軟件
電子商務的本質就是對處于分布環境中的各種計算機系統進行交流協調,從而開創新的商業運作模式。網絡通信,尤其是互聯網技術,是電子商務的通信基礎,而管理和傳輸系統之間的業務信息、協調各個系統的處理模塊的中間管理服務系統,是保證電子商務應用成功的關鍵。電子商務應用服務器、通用業務網關、支付網關、通信平臺和安全平臺,統一納入電子商務中間件構架的范疇。
從技術角度看,電子商務將由Internet/Intranet技術、傳統IT技術以及具體的業務處理所構成。但是,系統的建立將會面臨許多新的問題,包括應用系統能不能快速地建立,能不能適應大用戶數、高處理量要求,能不能提供高效率、高可靠性、高可用性等等關鍵任務的要求,能不能滿足安全需要等等。
以上這些問題,只是依靠簡單的Web技術是不夠的。目前常用的Web技術由于早期更多的是面向信息發布,因此存在并發訪問瓶頸、難擴展、效率低、安全等諸多問題,不能滿足電子商務的需要。為了很好地解決這些問題,需要以Web的低層技術為基礎,規劃出一個整體的應用框架,并提供一個支持平臺,用于Internet應用的開發、部署和管理,并能籍此解決上述各種問題。這已經發展成為一個能廣泛適應的標準的支撐層,成為Internet應用的基礎設施(Infrastructure),這一支撐層實際上是基于Internet的中間件,也就是應用服務器。
同時,由于企業并不能把業務一不跨到Internet上,而必須同傳統的應用系統結合,因此也必須通過中間件來集成Web應用和傳統應用,實現完整的電子商務。
在這種情況下,電子商務應用應包含以下層次:
●瀏覽器:這是進入電子商務的通道。
●電子商務應用平臺:提供電子商務不同應用類型的生成工具軟件,如網上商店、網絡支付、虛擬社區等等。
●電子商務交換平臺:對內集成企業內部的各種與電子商務相關的業務系統,對外連接商業合作伙伴,如銀行、供應商、客戶、配送結構,完成各種不同業務系統之間數據轉換和整和。
●電子商務基礎平臺:用來支持大量Internet客戶的并發訪問,使應用開發商快速開發出靈活多變的電子商務應用,盡快把信息系統和商務活動放到Internet中。
在電子商務交換平臺和電子商務基礎平臺中都不能沒有中間件的存在??梢哉f,沒有中間件就不能支撐今天的網絡應用。
電子商務中間件構架是一種電子商務應用集成的關鍵件,不管電子商務應用分布在什么硬件平臺上,使用了什么數據庫系統,透過了什么復雜的網絡,電子商務應用的互連和互操作是電子商務中間件構架首先要解決的問題。在通信方面,電子商務中間件構架要支持各種通信協議和通信服務模式,傳輸各種數據內容,數據格式翻譯、流量控制、數據加密、數據壓縮等等;在電子商務中間件構架核心,要解決名字服務、安全控制、并發控制、可靠性和效率保證等;在電子商務應用開發方面,要能提供基于不同平臺的豐富的開發接口,支持流行的開發工具和異構互連接口標準等;在管理方面,解決電子商務中間件構架本身的配置、監控、調諧,為電子商務應用的易用易管理提供保證。
其次,針對不同的Web應用環境,對電子商務中間件構架有各種不同的要求。對工作流應用,需要根據條件以及條件滿足狀態,將信息、響應狀態從一個應用傳遞到另一個應用;對聯機事務處理,需要保證分布式的數據一致性、不停機作業、大量并發的高效率;對于一個數據采集系統需要保證可靠傳輸等等。
五、中間件符合軟件發展的潮流
軟件構件化(Software Component)技術是在大工業生產啟發下應運而生的,是軟件技術跨世紀的一個發展趨勢,其目的是徹底改變軟件生產方式,從根本上提高軟件生產的效率和質量,提高開發大型軟件系統尤其是商用系統的成功率。有了軟件構件之后,應用開發人員就可以利用現成的軟件構件裝配成適用于不同領域、功能各異的應用軟件。復用軟件一直是整個世界軟件業所追求的夢想,軟件構件化為實現這一夢想指出了一條切實可行的道路,而中間件正是構件化軟件的一種形式。中間件抽象了典型的應用模式,應用軟件制造者可以基于標準的形式進行開發,使軟件構件化成為可能,加速了軟件復用的進程。因此,中間件是符合軟件發展的內在規律的。
中間件是軟件技術發展的一種潮流,被譽為發展最快的軟件品種,近年來勢頭強勁,當然,這也是源于市場在全球范圍內對中間件的支持。毫無疑問,中間件正在成為軟件行業新的技術與經濟增長點。
原文轉自:http://www.anti-gravitydesign.com