中間件技術及其應用(中)
發表于:2008-02-20來源:作者:點擊數:
標簽:中間件
二、 中間件 的技術規范 1、 DCE體系 DCE是Distrbuted Computing Environment 分布式計算環境的縮寫,它由Open Software Fondation 制定,現在這個組織被稱為Open Group。 DCE由多個共同在一起工作的組件組成,它們是:遠程過程調用(RPC)、本地和全局目錄服
二、
中間件的技術規范
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、XAT
MI和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個機制,使這些信息資源可以面對廣大的使用者。
1) 一種唯一的命名機制,為網上的資源進行定位,如:URI。
2) 一種通信規程,以便在網上可以存取這些被命名的資源,如:HTTP。
3) 混合文本,以便更好地駕御這些信息資源,如: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。
XML(Extensible Markup Language)通過提供更靈活和更容易被接收的信息標識方法來改進Web的功能。XML被稱為可擴展的標注語言,它不像HTML是一種單一的、預先定義的語言,XML是一種用于描述其他語言的語言,使用XML,你可以定義你自己的、不受到類型限制的、其他類型的文檔。
SOAP(Simple Object A
clearcase/" 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所花的時間非常短,而再往上的版本的發布就相對十分緩慢了。在具體的應用中使用不是很多。
(2)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平臺在內的任何服務器端環境中去。
原文轉自:http://www.anti-gravitydesign.com