版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、第 四 講典型運行平臺:中間件,人們必須 不斷地提取 軟件的共性成份屏蔽 系統(tǒng)低層的復雜度 從而 在高層保持復雜度的相對穩(wěn)定,內 容,一、發(fā)展動因二、什么是中間件三、中間件的作用四、中間件規(guī)范五、中間件產(chǎn)品六、中間件的發(fā)展過程,內 容,一、發(fā)展動因二、什么是中間件三、中間件的作用四、中間件規(guī)范五、中間件產(chǎn)品六、中間件的發(fā)展過程,不斷提取共性!沉淀成為一層
2、軟件保持應用軟件的復雜性相對穩(wěn)定,,一、發(fā)展動因,初始狀態(tài):硬件(ENIAC?ABC!)如何提高算法適應性?分離出了程序(匯編=>),程序,硬件,硬件,,初始狀態(tài):硬件 + 程序,程序的共性(穩(wěn)定)成分: 計算資源管理,操作系統(tǒng)(FMS=>…),應用程序,產(chǎn)生了:,分離出了:,,軟件,硬件,操作系統(tǒng),,,,,,,$END,,$RUN,Data for program,,$LOAD,,,,,Fo
3、rtran program,,,$FORTRAN,,$JOB, 10,429754,Typical FMS(FORTRAN Monitor System) JOB Structure,,,初始狀態(tài):硬件 + 操作系統(tǒng) + 應用程序,程序的共性(穩(wěn)定)成分:數(shù)據(jù)管理,產(chǎn)生了:數(shù)據(jù)庫管理系統(tǒng)(IMS=>),分離出了:應用軟件,操作系統(tǒng),,操作系統(tǒng),,,,數(shù)據(jù)存儲文件,,,數(shù)據(jù)庫管理系統(tǒng),,,應用程序,,,,,程序的共性(穩(wěn)定)成分:網(wǎng)
4、絡資源管理,產(chǎn)生了:中間件(應用服務器),分離出了:業(yè)務邏輯(構件),初始狀態(tài):硬件 + 操作系統(tǒng) + 數(shù)據(jù)庫管理系統(tǒng) +應用軟件,內 容,一、發(fā)展動因二、什么是中間件三、中間件的作用四、中間件規(guī)范五、中間件產(chǎn)品六、中間件的發(fā)展過程,二、什么是中間件,(1)終端仿真/屏幕轉換中間件 用以實現(xiàn) 客戶機圖形用戶接口 與 已有的字符接口方式的服務器應用程序的互操
5、作(2)數(shù)據(jù)訪問中間件為了建立數(shù)據(jù)應用資源互操作的模式 對異構環(huán)境下的數(shù)據(jù)庫實現(xiàn)聯(lián)接或文件系統(tǒng)實現(xiàn)聯(lián)接的中間件(3)遠程過程調用中間件程序員方便地編寫客戶端應用程序 調用位于遠端服務器上的過程,Gartner的觀點,(4)面向消息中間件用來屏蔽各種平臺及協(xié)議之間的特性進行相互通信實現(xiàn)應用程序之間的協(xié)同(5)事務(交易)中間件在分布、異構環(huán)境下提供保證交易完整性和數(shù)據(jù)完整性
6、的一種環(huán)境平臺(6)對象中間件在分布、異構的網(wǎng)絡計算環(huán)境中將各種分布對象有機地結合在一起完成 系統(tǒng)的快速集成實現(xiàn) 對象重用,中間件的發(fā)展與互聯(lián)網(wǎng)(Internet)的發(fā)展有著非常密切的關系可以說:是軟件運行環(huán)境從個人機向互聯(lián)網(wǎng)的轉變催生了中間件,1、軟件的運行環(huán)境,網(wǎng)絡環(huán)境帶來的好處網(wǎng)絡資源容易共享用戶操作容易并發(fā)系統(tǒng)可伸縮性強容錯措施實施方便……,硬件環(huán)境、用戶環(huán)境等與軟件進行交互的
7、各種實體,網(wǎng)絡環(huán)境帶來的挑戰(zhàn)軟件之間的通信問題不同資源的異構問題資源在網(wǎng)絡上的定位問題系統(tǒng)總體的可靠性問題安全問題維護問題 ……,硬件環(huán)境:,用戶環(huán)境:,用戶環(huán)境與人們運行軟件的目的直接相關軟件最初以科學計算為主要目標與用戶的交互比較少隨著軟件應用范圍的擴展多數(shù)用戶不是用軟件來進行某種計算而是將其作為一些日常工作與生活的工具尤其是網(wǎng)絡出現(xiàn)以后:軟件正在逐步成為人們協(xié)作的工具用戶與軟件交互量大不同
8、的交互之間互相有影響,應用目的與應用方式的變化 必然帶來軟件技術的新發(fā)展,2、中間件概念,中間件是網(wǎng)絡環(huán)境中運行于操作系統(tǒng)與應用軟件之間可以簡化應用軟件的復雜性克服網(wǎng)絡環(huán)境多種挑戰(zhàn)的一類系統(tǒng)軟件,,中間件與操作系統(tǒng)、應用系統(tǒng)之間的縱向關系,,硬件,,,,,,應用系統(tǒng),,,,,操作系統(tǒng),,操作系統(tǒng),,操作系統(tǒng),,硬件,,硬件,,,中間件,,,中間件,,,中間件,,,應用,,,應用,,,應用,,,,系統(tǒng),,軟件,,,中間件與應
9、用系統(tǒng)之間的橫向關系,另外一種“中間”視角:,中間件技術發(fā)展到今天其產(chǎn)品形態(tài)還沒有達到 操作系統(tǒng)、數(shù)據(jù)庫管理系統(tǒng) 那樣的成熟程度內涵與外延目前都還不是很清晰JVM是不是中間件?瀏覽器是不是中間件?Web Server 是不是開發(fā)平臺是不是?,操作系統(tǒng)、數(shù)據(jù)庫管理系統(tǒng)、中間件的類比,內 容,一、發(fā)展動因二、什么是中間件三、中間件的作用四、中間件規(guī)范五、中間件產(chǎn)品六、中間件的發(fā)展過程,三、中間
10、件的作用,操作系統(tǒng)的重要性一般人都能感覺到:所有的計算機都需要安裝操作系統(tǒng)后才能運行所有的應用軟件都運行在操作系統(tǒng)之上熟悉數(shù)據(jù)庫管理系統(tǒng)的人則要少得多:面向個人用戶的應用軟件一般不涉及大量的數(shù)據(jù)不需要數(shù)據(jù)庫管理系統(tǒng)的支持對于中間件:一般情況下許多用戶根本感覺不到中間件的存在原因:1)用戶一般只關心應用軟件,因為它直接為用戶提供支持;2)在網(wǎng)絡環(huán)境中,中間件通常在服務器端發(fā)揮作用。,,,,,,,,,,,,,銀行賬戶
11、系統(tǒng),,營業(yè)員,電腦,,瀏覽器,,民航票務系統(tǒng),,網(wǎng)上支付系統(tǒng),,,,,,,自動取款機,,,,,中間件,,,中間件在具體系統(tǒng)中的作用:銀行系統(tǒng)的例子,中間件主要是用來支持網(wǎng)絡環(huán)境中軟件實體之間的有效交互“軟件實體”是具有不同特征的軟件模塊 它們通常是具有不同粒度的軟件構造模塊“有效”是指所支持的實體之間的交互必須具有可靠、安全、快速等特點,1、支持軟件實體的交互模式,不同特征的模塊:過程、對象、構件與服務等等
12、它們不僅是構造軟件系統(tǒng)的不同粒度的模塊也通常在運行階段表現(xiàn)出不同的性質網(wǎng)絡環(huán)境中 它們之間的交互也分別需要不同類型的中間件的支持,,----------,,----------,,----------,,服務器端計算機,,客戶端計算機,,----------,,----------,,---------,,,,,,------------,,--------,-,,------------,,-----------,,----
13、--------,,,,服務器進程,,客戶進程,,客戶進程,,,網(wǎng)絡,,客戶-服務器模式,過程(Procedure)最基本的軟件模塊是大型程序從混沌向結構化走出的第一步每個過程都有具體的調用格式在 C/C++ 中,該格式用頭文件來說明對象(Object)方法與數(shù)據(jù)的封裝體是類(Class)的實例其中的方法與過程有直接的對應關系在一些基于對象的系統(tǒng)中,對象僅僅在編程階段存在,編譯器將對象映射為傳統(tǒng)的過程,這樣,在運行階段
14、不再保持對象實體了,構件(Component)更大粒度的構造模塊通常在運行階段保持構件形態(tài)通常構件是由一個或多個類組成的實體也可以直接由一個或多個過程組成服務(Service)更松散的軟件實體服務強調的是軟件實體的外在表現(xiàn)其內在實現(xiàn)則也是由某個構件、某個對象、甚至某個過程完成,,過程、對象、構件與服務之間的關系,,,,過程,,方法(過程),,,屬性,,過程,,對象,,服務,,構件,,,,,,對象,,過程,,方法(過程),
15、,不同構造模塊出現(xiàn)的時間不同后者直接發(fā)展了前者后者的實現(xiàn)中包含了前者的模塊只是強調的重點有所改變但后者不是替代了前者:盡管后續(xù)技術適合新的熱點以前的技術仍然有其適合的應用場景,這種現(xiàn)象構成了軟件系統(tǒng)構造方式的多樣性也造成了中間件產(chǎn)品的多樣性不同構造模塊在網(wǎng)絡環(huán)境中的交互模式是不同的:接口的定義方式、交互的協(xié)議等等都不同這就形成了分別 支持遠程過程調用支持對象互操作支持構件技術
16、支持服務概念等不同種類的中間件,2、支持軟件實體的交互質量,網(wǎng)絡環(huán)境中軟件實體僅僅能夠交互是不夠的因為網(wǎng)絡環(huán)境是一個有風險的環(huán)境必須要保障實體之間的交互質量當軟件在交互過程中出現(xiàn)一些潛在問題時交互的效果仍然能滿足人們的期望,可靠性,盡管硬件技術在不斷進步,通信設施不斷升級期望出現(xiàn)一個理想的可靠網(wǎng)絡環(huán)境的想法是不現(xiàn)實的大量基于網(wǎng)絡的并發(fā)操作很容易產(chǎn)生出沖突在資源的擁有者需要修改某組數(shù)據(jù)時可能恰好有
17、許多人此時正在訪問這組數(shù)據(jù)人們必須在高層尋找解決辦法我們不能保證不出現(xiàn)故障、不能保證不出現(xiàn)沖突 但如果發(fā)生了故障與沖突的話,別讓它產(chǎn)生危害總可以吧?我們應該可以取消相應的操作吧?在環(huán)境好的時候重新提交操作總能實現(xiàn)吧?,安全性,網(wǎng)絡環(huán)境為分布在不同物理節(jié)點上的軟件系統(tǒng)提供了方便的交互基礎也為有惡意的人員提供了更多的攻擊機會能否保證網(wǎng)絡環(huán)境中軟件之間進行好的交互的同時防止惡意的
18、攻擊關系到網(wǎng)絡環(huán)境能否有更廣泛、更深入的應用 如果沒有安全保障 人們寧愿回到?jīng)]有網(wǎng)絡的環(huán)境中工作、生活 盡管效率低 但不會損失什么,高效性,高效是操作系統(tǒng)管理單機資源的重要目的也是中間件管理網(wǎng)絡資源的重要目的高效地管理資源可以避免一部分節(jié)點超負荷運行而另一部分節(jié)點處于饑餓的狀況這不僅可以提高對用戶的響應速度還可以提供一部分的容錯功能通過不同節(jié)點間資源的共享不僅可以提
19、高對客戶請求的平均響應速度還可以提高系統(tǒng)總體的容錯能力負載共享! MapReduce!,3、更多的作用,交互模式!交互質量!將 核心業(yè)務邏輯代碼之外的 與網(wǎng)絡環(huán)境相關的代碼 剝離出來凝練為共性的代碼庫就構成某種領域的中間件消息傳遞中間件!MPI!,,,,,,,,,,等待,,,,,同步調用,,異步調用,,進程,a,,進程,b,,進程,a,,進程,b,,,,異步調用調用的發(fā)出方在發(fā)出調
20、用消息后不等待處理結果,繼續(xù)往下執(zhí)行消息的接受方處理完消息后,將處理結果返回給發(fā)出方也可能不返回處理結果,同步調用調用發(fā)出方在發(fā)出調用消息后 進入等待狀態(tài)調用消息的接收方處理完消息 將處理結果返回給發(fā)出方發(fā)出方繼續(xù)往下執(zhí)行,內 容,一、發(fā)展動因二、什么是中間件三、中間件的作用四、中間件規(guī)范五、中間件產(chǎn)品六、中間件的發(fā)展過程,四、中間件規(guī)范,OSF 的 DCEOMG 的O
21、MA微軟 的DNASUN 的J2EESOA,,,,,,與交互,模式,相關的技術,,與,交互,質量,,相關的技術,,遠程過程調用,,服務,協(xié)作,,構件容器,,安全,,可靠,,高效,,……,,O,M,A,,,DCE,,SOA,,對象互操作,,,,,,,,,……,,,……,,,,,,……,,,,Container,,J2EE,/DNA,,,ORB,,,Web Service,,,……,,,RPC,,,……,,,……,,,,,
22、……,,一些主要的“中間件系列規(guī)范”所覆蓋的范圍,(1)DCE,分布計算環(huán)境(DCE:Distributed Computing Environment)是開放軟件基金會(OSF:Open Software Foundation)制定的以遠程過程調用(RPC)為核心的一系列規(guī)范OSF成立于 1988年,并為RPC系統(tǒng)發(fā)布了技術請求(RFT)。OSF收到了兩個主要提案:HP/DEC,基于NCS(HP已收購了Apollo)的Sun,它
23、基于ONCOSF選擇NCS作為其 DCE 的PRC機制1991年,OSF頒布了 DCE 1.0,,,操作系統(tǒng)(含基本網(wǎng)絡傳輸功能),,DCE,線程,,DCE,遠程過程調用,,時間,,服務,,命名,,服務,,其它基,,本服務,,分布式文件服務,,其它服務,,,安,全,,,,,,管,理,,,,,應用,,DCE平臺的架構,DCE 由于受開放機構推薦一度有很大市場最成功之處是 RPC機制其次是安全服務、命名服務在微軟平臺上提供了許多D
24、CE/RPC的功能缺乏概念模型,給開發(fā)帶來困難后來引進了面向對象DCE(即OODCE),但這一包層,又給DCE帶來更多層次,使系統(tǒng)交互過多,也增加了維護困難,整個系統(tǒng)必須完整安裝安裝困難許多功能由于用不到而閑置,世界上最大的計算機工業(yè)聯(lián)盟、非贏利性組織于1989年4月由8個公司發(fā)起目前有800多家成員 全職工作人員只有一個20人左右自身不做標準制訂和開發(fā)工作僅提供一種組織和機制支持OMG成
25、員進行 交流、合作制訂 技術規(guī)范開發(fā) 符合標準的商用產(chǎn)品,兩個重要的基石:面向對象方法商業(yè)可用性,OMG:,(2)OMA,OMG的組織結構,Board of Directors(BOD),Platform Technology Committee(PTC),Domain Technology Committee(DTC),Architecture Board(AB),Task Force(TF),Special
26、 Interest Groups(SIG),Task Force(TF),Task Force(TF),Special Interest Groups(SIG),Special Interest Groups(SIG),…,…,,,,,,OMG技術采納過程:,,,,,RFI,RFP,Specification,Specification,Specification,,,,,,everyone,,Part of members,TF起草
27、DTC或PTC發(fā)行,TF起草AB評審DTC或PTC發(fā)行,,,,…,TF評估、推薦AB評審DTC或PTC批準,BOD批準,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,總線,計算機硬件中的模塊及互聯(lián)方式:,,Object Services,Application Interfaces,,,Domain Interfaces,,,Common Facilities,,,,,,,,,,,,,,OMA:
28、Object Management Architecture,ORB:,“Object interoperate bus”,,,,,,,Services:,“Abstractions for Classic System-Programming Functionality”,,,,,Facilities:,“High Level Services: Domain Specific and Generic”,,SystemMgt.,,C
29、omp.Doc.,,Bus.Object,,Manuf.,,,,,CORBA產(chǎn)品,IONA公司開發(fā)的 OrbixInprise IBM DSOMVisiBrokerTAO,(3)DNA,Presentation Level,DNA 提供多種表示服務開發(fā)者可以根據(jù)具體情況選擇最佳方案HTMLScriptingDHTMLComponentsWin32 API以支持豐富的界面與客戶環(huán)境從手持無線設備到高端工
30、作站,Business Logic Level,Component Services基于互操作模型Component Object Model(COM) 增強分布處理功能Microsoft Transaction Server (MTS) 目前已發(fā)展為COM+通過降低為利用底層系統(tǒng)服務而編寫的代碼量使開發(fā)分布式應用系統(tǒng)更為快速容易廉價,COM+ 服務包括新的
31、或增強的服務包括:Bring your own transaction. COM 構件可以參與由非COM+ 事務處理環(huán)境管理的事務 只要它支持Transaction Internet Protocol (TIP)Load balancing. 基于構件的應用程序可以以客戶透明的方式在應用程序群中分布工作負載In-memory database. 內存數(shù)據(jù)庫是一個事務性數(shù)據(jù)庫系統(tǒng)用以支持對數(shù)據(jù)的快速訪
32、問,Queued components. 異步執(zhí)行在網(wǎng)絡環(huán)境下是不可避免的隊列可以對異步執(zhí)行提供良好支持Event notification. COM+ 事件是同時支持單播/多播、發(fā)布/訂閱的事件機制允許多個客戶“訂閱”由各種服務器“發(fā)布”的事件Expanded security. 支持基于角色的安全與處理訪問許可安全COM+ 增加了方法級安全Centralized administration. Co
33、mponent Services Explorer提供了一致的管理模型減少了部署、管理及監(jiān)控 n層的應用程序,Messaging ServicesMicrosoft Message Queue Server 提供松耦合、可靠的通訊服務通過實現(xiàn) push 風格的商務事件方便了應用系統(tǒng)的集成在不可靠、代價低的網(wǎng)絡上建立起可靠的應用系統(tǒng)Microsoft Message Queue Server 還提供了
34、與其它消息隊列產(chǎn)品的無縫連接例如:IBM’s MQSeries等,Web Application ServicesInternet Information Server (IIS) 可用于開發(fā)基于Web的商務應用系統(tǒng)這樣的系統(tǒng)便于擴展、便于部署作為IIS技術之一的Active Server Pages(ASP) 具有語言中立編譯省缺 的特點是服務器端腳本環(huán)境用于創(chuàng)建、運行動態(tài)且交互的Web
35、服務器應用程序利用ASP腳本及其它協(xié)調構件構造的應用程序可以與現(xiàn)有的系統(tǒng)、應用程序及數(shù)據(jù)協(xié)同工作,Data Level,Universal Data Access 提供對各種信息資源的高性能訪問包括關系、非關系數(shù)據(jù)提供獨立于工具與語言的編程接口Universal Data Access 基于開放的工業(yè)規(guī)范得到了工業(yè)界及數(shù)據(jù)庫廠商的廣泛支持,DNA中基于Universal Data Access的
36、框架包含兩層:在系統(tǒng)層:OLE DB 定義了一個基于構件的體系結構封裝了各種數(shù)據(jù)庫管理系統(tǒng)服務OLE DB 不對數(shù)據(jù)源進行約束在應用層:ActiveX Data Objects (ADO) 提供了高層接口使開發(fā)者可以從任何編程語言訪問數(shù)據(jù)在每一層:eXtensible Markup Language (XML)使開發(fā)者可以在應用程序客戶之間進行描述、交付、交換結構化數(shù)據(jù)XML 也
37、可以在服務器之間進行結構化數(shù)據(jù)的傳送,Java? 2 Platform Enterprise Edition(1.2)JAVA: Language Runtime(virtual machine)Platform :J2SE J2EE J2ME,背景,(4)J2EE,JavaTM 2 Platform, Standard Edition (J2SETM) J2SE 為構造并部署網(wǎng)
38、絡為核心的企業(yè)應用系統(tǒng)提供一個完整的、安全的基礎,其范圍從PC桌面到工作組服務器。 J2SE 包括:Java 2 (SDK), Standard Edition and Java 2 Runtime Environment, Standard Edition,JavaTM 2 Platform, Enterprise Edition (J2EETM) J2EE是Java 2平臺的一個完整版本,將業(yè)務
39、緊要(Mission Critical)的企業(yè)應用系統(tǒng)推向任何 web 瀏覽器。 J2EE將SUN公司的多種技術集成到一個體系結構中,并提供了一種應用程序編程模型、兼容性測試套件,以降低開發(fā)網(wǎng)絡軟件的復雜性與代價。,JavaTM 2 Platform, Micro Edition (J2METM) J2ME是端到端(end-to-end)的Java 技術,適于正在增長的消費類與嵌入式市場。 J
40、2ME 是一個被高度優(yōu)化的運行環(huán)境,以下列消費類產(chǎn)品為目標:pagerscellular phonesscreenphonesdigital set-top boxes 以及 car navigation systems,總體結構,J2EE 支持4類構件:Application clientsAppletsServlets and JSP pagesEnterprise JavaBeans,包含的
41、構件,容器為應用構件提供了運行態(tài)支持在J2EE服務與應用構件之間增加一個服務器,使得容器可以透明地利用構件的部署信息( deployment descriptors )獲取J2EE服務提供的功能。例如:事務管理、安全檢查、資源緩沖、以及狀態(tài)管理等。一個典型的 J2EE 產(chǎn)品為每一類的構件提供一種容器:application client container,applet container,web component co
42、ntainer,以及 enterprise bean container。,構件容器,一個資源管理驅動器(驅動器)是一個系統(tǒng)級軟件構件實現(xiàn)與外部資源管理器的網(wǎng)絡連接。 一個驅動器能夠擴展J2EE平臺的功能途徑為:實現(xiàn)J2EE的一個標準服務接口 API (例如 JDBC driver)為一個外部應用系統(tǒng)的連接器( connector )定義并實現(xiàn)一個資源管理器驅動器。,資源管理器驅動器,,,,J2EE
43、平臺包含可以通過JDBC API訪問的數(shù)據(jù)庫,用于存儲業(yè)務數(shù)據(jù)。數(shù)據(jù)庫可以從 web components, enterprise beans, 以及 application client components 訪問 但不可以從 applets訪問,,數(shù)據(jù)庫,J2EE 標準服務,HTTPHTTPSJTARMI-IIOPJavaIDLJDBCJMSJNDIJavaMail
44、JAFConnectorJAXPJAAS…,HTTPHTTP client-side API 由 java.net package 定義。 HTTP server-side API 由 servlet and JSP 接口定義。HTTPS支持HTTP的上述接口同樣支持基于SSL協(xié)議的HTTP。,Java Transaction API (JTA) Java Transaction API 包括兩部分:
45、應用級接口,容器與應用構件用它來聲名事務邊界 J2EE SPI級接口,事務管理器與資源管理器之間的接口 SPI:service provider interface,RMI-IIOP 組成RMI-IIOP 的APIs 包括: 獨立于底層協(xié)議的 RMI風格的編程接口 上述API的實現(xiàn),支持J2SE RMI protocol (JRMP)
46、 及CORBA IIOP J2EE 應用系統(tǒng)可以使用RMI-IIOP(在IIOP協(xié)議的支持下)訪問與RMI編程約束兼容的 CORBA services,JavaIDL JavaIDL 使得J2EE 應用構件可以利用IIOP調用外部的CORBA 對象 這些 CORBA 對象可以用任何語言編寫,運行在 J2EE 之外 J2EE 應用程序可以使用JavaIDL,角色
47、為CORBA services的客戶,JDBC JDBC API 是與數(shù)據(jù)庫連接的 API,Java Message Service (JMS)JMS是支持可靠的點對點( point-to-point )與發(fā)布-訂閱(publish-subscribe)消息模型 的標準API,JNDIJNDI API 是命名與目錄訪問的標準接口,用于定位構件包含兩部分: 應用構件訪問命名與目錄服務時使用
48、的應用級接口(API) 提供增加命名與目錄服務時使用的服務提供接口(SPI),JavaMail 許多Internet 應用程序需要發(fā)送email的能力,因此J2EE 平臺包含 JavaMail API 及JavaMail SPI,使得應用構件能夠發(fā)送Internet mail。,JavaBeans Activation Framework (JAF) JavaMail API 所使用的一種功能,Java API
49、for XML Parsing (JAXP)JAXP 為工業(yè)標準 SAX 與 DOM 提供支持以 parsing XML 文檔SAX:The Simple API for XMLevent-based APIDOM:Document Object Model tree-based API,J2EE Connector Architecture Connector architecture 是將
50、訪問EIS(Enterprise Information Systems )的資源適配器插裝到任何J2EE產(chǎn)品中的 J2EE SPI Connector architecture 定義了J2EE 服務器與資源適配器之間的系統(tǒng)級合約(Contract) 包括:J2EE與外部資源的連接管理合約事務管理器與EIS的事務管理合約訪問EIS的安全管理合約,Java Authentication and Autho
51、rization Service (JAAS) JAAS 提供用戶認證及授權服務 JAAS 提供了 PAM (Pluggable Authentication Module) 框架標準的Java版實現(xiàn) 并擴展了支持基于用戶授權的訪問控制結構,最成功之處:促進了開源中間件的發(fā)展,Service Oriented Architecture: 面向服務的架構 Gartner
52、 1996 年最早提出應用程序是通過組合一些松耦合并且具有統(tǒng)一接口定義方式的服務而構建起來的 更加關注業(yè)務流程而不僅僅是底層的IT基礎結構松散耦合、集成之星從購買軟件到訂閱、定制服務的轉變!,(5)SOA,SOA是一種架構模型根據(jù)需求通過網(wǎng)絡對松散耦合的粗粒度應用組件進行分布式部署、組合和使用服務層是SOA的基礎,可以直接被應用調用,從而 有效控制系統(tǒng)中與軟件代理的人為依賴性。SOA的幾個關鍵特性:一種粗粒度、松
53、耦合服務架構,服務之間通過簡單、精確定義適配器進行通訊,不涉及 底層編程適配器和通訊模型 Web 服務并不是實現(xiàn) SOA 的惟一方式 RPC、CORBA也是實現(xiàn)方式,客戶/服務請求者,服務提供者,注冊,請求/應答,查找,基本結構:,服務信息注冊庫,,,,,,設計,,開發(fā),,與,,管理,,工具,,標準技術與協(xié)議,,資源層,,,控制器,,數(shù)據(jù),/,狀態(tài)管理,,通信服務,,安全容器,/,模型,,虛擬機,,客戶應用層,,服務層,,服
54、務調用,,服務容器,,核心服務,,服務提供接口(,SPI,),,注冊池,,,業(yè)務規(guī)則,/,工作流,,EIS,,數(shù)據(jù)庫,,遺留系統(tǒng),,消息隊列,,ECM,池,,目錄,,l,,一致的對象與事件模型,,l,,一致的架構模型,,相關概念:Software As A ServiceWeb 2.0, 3.0Cloud Computing,最成功之處:促進了松耦合、跨組織的協(xié)作 但使人們期望
55、過度,內 容,一、發(fā)展動因二、什么是中間件三、中間件的作用四、中間件規(guī)范五、中間件產(chǎn)品六、中間件的發(fā)展過程,五、中間件產(chǎn)品,任何規(guī)范都必須有對應產(chǎn)品的支持才會有影響力目前的中間件產(chǎn)品種類繁多,且對規(guī)范的實現(xiàn)也有很大的差距:有的產(chǎn)品僅實現(xiàn)某個特定的規(guī)范,象早期的事務中間件、消息中間件產(chǎn)品有的產(chǎn)品主要實現(xiàn)某個架構中系列規(guī)范的部分內容,這是多數(shù)中間件產(chǎn)品的現(xiàn)狀,因為全部實現(xiàn)系列規(guī)范的代價較大,也不必要有些產(chǎn)品實現(xiàn)多
56、個架構系列規(guī)范的部分內容。例如許多實現(xiàn) J2EE 規(guī)范的應用服務器也同時支持 SOA 中的一些訪問方式,早期的中間件市場中事務中間件與消息中間件占的份額最大近年來隨著 Web應用 的逐漸普及支持Web服務和應用的各種應用服務器慢慢蠶食事務中間件和消息中間件的部分市場目前應用服務器中間件的占有量已經(jīng)居于各類中間件的首位消息中間件和事務中間件分別居第二,三名在銀行,電信、證券等許多 對對效率、可靠性等方面要求嚴
57、格的關鍵任務系統(tǒng)中 消息中間件及事務中間件,仍然將占有重要的地位,根據(jù)開發(fā)組織的背景,可以將現(xiàn)有的應用服務器產(chǎn)品進行如下劃分: 中間件廠商開發(fā)的產(chǎn)品例如:BEA公司開發(fā)的WebLogicIONA公司開發(fā)的iPortal ApplicationServer等數(shù)據(jù)庫廠商開發(fā)的產(chǎn)品例如:Oracle公司開發(fā)的 Oracle 9i Application Server等操作系統(tǒng)廠商開發(fā)的產(chǎn)品例如:I
58、BM公司開發(fā)的WebsphereSUN開發(fā)的SUN ONE Application Server開發(fā)工具廠商開發(fā)的產(chǎn)品例如:Inprise公司開發(fā)的Borland Application Server等,1、應用服務器,其它大量由獨立開發(fā)組織完成的產(chǎn)品例如:JBOSS組織開發(fā)的JbossOpenEJB組織開發(fā)的OpenEjbIronflare AB開發(fā)的OrionMacromedia開發(fā)的JRUN
59、等等國內在應用服務器的研究與開發(fā)上也取得了顯著的進展國家863計劃支持了若干與應用服務器密切相關的項目北京大學自行開發(fā)的PKUAS在支持在線演化、支持多互操作協(xié)議等方面具有明顯特色金蝶公司發(fā)布了Apusic東方通公司發(fā)布了TongWeb 等等,在應用服務器的市場占有量來看,IBM,BEA,Oracle長期處于前3位據(jù)Gartner報告,2006年IBM占有31.8%的份額,BEA名列第二,占有10.5%的份額
60、; Oracle占8.6%,名列第三緊隨其后的是開源的應用服務器JBoss,Jonas國產(chǎn)中間件產(chǎn)品中,金蝶、東方通、普元等廠商的產(chǎn)品用戶認知度有明顯的提升,IBM 的WebSphere應用服務器,一個完善的、開放的Web應用服務器IBM e-business應用架構的核心WebSphere 應用服務器 提供三個等級的版本標準版(Standard Edition),高級版(Advanced Edition),
61、開始支持EJB的編程模型企業(yè)版(Enterprise Edition)。提供一個高可靠的解決方案,使其能夠移植到關鍵性的企業(yè)環(huán)境WebSphere是IBM整個一套開發(fā),應用服務器的套件把EJB和IBM其它的優(yōu)秀的產(chǎn)品(TXSerise 和Component Broker)結合在了一起在具體的應用中,基于安全的 考慮,性能考慮和系統(tǒng)管理考慮,還可以增加Firewall,WebShpere Performance Pack 和 Ti
62、voli,BEA 的Weblogic,BEA通過為BEA WebLogic Server 5.1提供一個附加的軟件包,實現(xiàn)了對EJB2.0的支持憑借BEA WebLogic Server對EJB2.0的支持,BEA可幫助開發(fā)人員更快地推出電子商務應用系統(tǒng),從而讓開發(fā)人員極大地受益于這一業(yè)內最新標準作為服務器端商務邏輯的行業(yè)標準和Java2平臺的基石,Enterprirse JavaBeans是BEA WebLogic應用服務器的主要
63、技術Enterprise JavaBeans使得開發(fā)人員能夠專心地開發(fā)其應用系統(tǒng)和電子商務設想的商務邏輯,而不必為基礎結構的構筑而分心憑借對EJB2.0 的支持,BEA WebLogic應用服務器系列可提供事實上的標準基礎構架,幫助用戶快速開發(fā)和部署下一代電子商務和企業(yè)應用系統(tǒng)。電子商務中最著名的Amozon.com所采用的就是BEA的WebLogic,Oracle 公司的應用服務器,最初的產(chǎn)品是Oracle Application
64、 Server2008年初,Oracle 收購了 BEA,合并后推出Oracle WebLogic Server 10g R3支持Java S E 6,具有新的安全標準,包括SAML 2.0, WS-Security 1.1及 WS-SecurityPolicy 1.2在Web services JAX-WS 2.1、WS-Reliable Messaging 1.1 及WS-Policy 1.5中支持Java EE 5為Spr
65、ing的拓展提供支持,Spring開發(fā)者將體驗Oracle WebLogic更強大、更穩(wěn)定、易管理的性能新的HTTP發(fā)布/訂閱通信特性提供了更具客戶化的性能,支持動態(tài)更新的Web 2.0風格的用戶界面,JBOSS組織的 JBoss 應用服務器,JBossAS是一個運行EJB的J2EE應用服務器,是JBoss組織的核心產(chǎn)品JBOSS AS是一個開源項目,遵循最新的J2EE規(guī)范從JBoss項目開始至今,它已經(jīng)從一個EJB容器發(fā) 展成為
66、一個基于的J2EE的一個web 操作系統(tǒng)(operating system for web)體現(xiàn)了J2EE規(guī)范中最新的技術,在JavaWorld Editors‘ Choice 2002評選中獲得“最佳Java應用服務器”獎無論是學習還是應用,JBoss為我們提供了一個非常優(yōu)秀的平臺2006年4月 redhat收購了JBoss,ObjectWeb 的 Jonas,一個純Java,開放源代碼(LGPL授權)的應用服務器2006年北
67、京大學自主開發(fā)的PKUAS與 ObectWeb的JOnAS對等合并為 JO2nAS,The serverside 上有關于應用服務器的更多對比信息:http://www.theserverside.com/tt/articles/article.tss?l=ServerMatrix,2、消息中間件,典型的消息中間件產(chǎn)品有IBM 的MQSeriesSUN 的JMS (Java Message Service)微軟的MSMQ (M
68、icrosoft Message Queue Server),IBM Web Sphere MQ,集成跨平臺:跨平臺,跨企業(yè),跨應用,確保應用間的信息順暢溝通異步性:在同步通信不能實現(xiàn)情況下,WebSphere MQ支持異步傳輸信息有保障的傳遞:防止數(shù)據(jù)丟失,確保數(shù)據(jù)萬無一失可擴展性:隨著企業(yè)信息系統(tǒng)對信息傳輸要求的不斷改變,WebSphere MQ具有良好的擴展與FTP相比,F(xiàn)TP需要人工手動操作,WebSphere MQ實現(xiàn)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 北京大學信息學院電子系教學所微機采購項目
- 北京大學信息學院邏輯分析儀
- 北京大學信息學院服務器招標采購項目
- 北京大學信息學院高性能計算集群招標采購項目
- 北京大學信息學院高性能計算集群招標采購項目
- 北京大學信息學院高性能計算集群招標采購項目
- 2020年北京大學軟微學院軟件工程專業(yè)考研復習必讀高分成功錄取經(jīng)驗分享
- 北京大學-北京大學工學院
- 2020年北京大學軟微學院軟件工程專業(yè)考研復習必讀高分成功錄取經(jīng)驗分享
- 軟件需求工程-北京大學軟件與微電子學院
- 北京大學信息學院高速可編程碼型發(fā)生器
- 北京大學信息學院視覺大數(shù)據(jù)高性能計算集群招標采購項目
- 北京大學信息學院視覺大數(shù)據(jù)高性能計算集群招標采購項目
- 北京大學臨床腫瘤學院
- 北京大學信息學院視覺大數(shù)據(jù)高性能計算集群招標采購項目
- 北京大學信息科學技術學院
- 2019-2020北京大學軟件工程(專碩)考研詳情介紹、必看經(jīng)驗指導
- 北京大學信息科學技術學院
- 2018年北京大學信息工程學院考研復試規(guī)則
- 北京大學
評論
0/150
提交評論