中間件-0技術(shù)概述課件_第1頁
中間件-0技術(shù)概述課件_第2頁
中間件-0技術(shù)概述課件_第3頁
中間件-0技術(shù)概述課件_第4頁
中間件-0技術(shù)概述課件_第5頁
已閱讀5頁,還剩39頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)

文檔簡介

中間件技術(shù)鹿旭東發(fā)展路線主要技術(shù)介紹程序設(shè)計方法的發(fā)展結(jié)構(gòu)化程序設(shè)計——以數(shù)據(jù)為中心面向?qū)ο蟪绦蛟O(shè)計——以對象為中心組件程序設(shè)計——以組件為中心綜合使用軟件需求的變化計算實用管理(MIS)分布式系統(tǒng)軟件環(huán)境的變化單任務(wù)多任務(wù)文字界面圖形界面單線程多線程平臺相關(guān)跨平臺單機(本地)網(wǎng)絡(luò)(分布式)單一語言多種語言發(fā)展路線面向過程語言crpc面向?qū)ο笳Z言javarmi組件Webservice中間件技術(shù)分布式技術(shù)分布式技術(shù)分布式就是把整個網(wǎng)絡(luò)作為一臺大型計算機,在不同的地方做不同的工作分布式軟件系統(tǒng)(DistributedSoftwareSystems)是支持分布式處理的軟件系統(tǒng),是在由通信網(wǎng)絡(luò)互聯(lián)的多處理機體系結(jié)構(gòu)上執(zhí)行任務(wù)的系統(tǒng)。它包括分布式操作系統(tǒng)、分布式程序設(shè)計語言及其編譯(解釋)系統(tǒng)、分布式文件系統(tǒng)和分布式數(shù)據(jù)庫系統(tǒng)等分布式計算是一門計算機科學(xué),它研究如何把一個需要非常巨大的計算能力才能解決的問題分成許多小的部分,然后把這些部分分配給許多計算機進行處理,最后把這些計算結(jié)果綜合起來得到最終的結(jié)果分布式計算是近年提出的一種新的計算方式。所謂分布式計算就是在兩個或多個軟件互相共享信息,這些軟件既可以在同一臺計算機上運行,也可以在通過網(wǎng)絡(luò)連接起來的多臺計算機上運行。分布式計算比起其它算法具有以下幾個優(yōu)點:

1、稀有資源可以共享,

2、通過分布式計算可以在多臺計算機上平衡計算負(fù)載,

3、可以把程序放在最適合運行它的計算機上,

其中,共享稀有資源和平衡負(fù)載是計算機分布式計算的核心思想之一。概念:類、對象類是定義,它封裝了狀態(tài)和操作對象是實例,它反映了具體的事物對象由類來定義一個對象可以與多個具有繼承關(guān)系的類相聯(lián)系概念:組件定義:可獨立發(fā)布的二進制單元有的地方稱作“package”比喻:零件容易混淆:服務(wù)器(server)、對象例如:COM組件、JavaAppletCOM:組件COM對象的載體包含多個COM對象進程內(nèi)組件DLLExportEntrys進程外組件IPC:RPC/LPC中間件中間件(Middleware)是一種軟件,處于系統(tǒng)軟件(操作系統(tǒng)和網(wǎng)絡(luò)軟件)與應(yīng)用軟件之間,它能使應(yīng)用軟件之間進行跨網(wǎng)絡(luò)的協(xié)同工作(也就是互操作),這時允許各應(yīng)用軟件之下所涉及的“系統(tǒng)結(jié)構(gòu)、操作系統(tǒng)、通信協(xié)議、數(shù)據(jù)庫和其它應(yīng)用服務(wù)”各不相同中間件是一類軟件,而非一種軟件;中間件不僅僅實現(xiàn)互連,還要實現(xiàn)應(yīng)用之間的互操作;中間件是基于分布式處理的軟件,最突出的特點是其網(wǎng)絡(luò)通信功能?,F(xiàn)代應(yīng)用系統(tǒng)的基本特征分布任務(wù)已不只是在單機上運行,而是由網(wǎng)絡(luò)中多臺計算機上的相關(guān)應(yīng)用共同協(xié)作完成,需考慮網(wǎng)絡(luò)傳輸、數(shù)據(jù)安全、數(shù)據(jù)一致性、同步等諸多問題;異構(gòu)計算機硬件、操作系統(tǒng)、網(wǎng)絡(luò)協(xié)議、數(shù)據(jù)庫系統(tǒng)以及開發(fā)工具種類繁多,需考慮數(shù)據(jù)表示、調(diào)用接口、處理方式等諸多問題;動態(tài)協(xié)作參與協(xié)作的應(yīng)用允許位置透明性、遷移透明性、負(fù)載平衡性等需求。問題分布異構(gòu)環(huán)境中,通常存在:多種硬件系統(tǒng)平臺,各種各樣的系統(tǒng)軟件,多種風(fēng)格各異的用戶界面,不同的網(wǎng)絡(luò)協(xié)議和網(wǎng)絡(luò)體系結(jié)構(gòu)連接。1.1中間件的特性易用性位置透明性:應(yīng)用不必知道對方網(wǎng)絡(luò)和應(yīng)用的地址;不經(jīng)重新編譯,就可把一個應(yīng)用從一臺機器上轉(zhuǎn)移到另一臺機器消息傳輸?shù)耐暾裕合⒉粦?yīng)丟失或重復(fù)消息格式的完整性:消息格式不應(yīng)被破壞語言透明性:使用中間件的程序應(yīng)能與另一個用不同語言編寫的程序通信;如果用不同語言重寫一個程序,其他程序應(yīng)不受影響中間件中要解決的問題互操作問題(通信)提供一個基本的環(huán)境(基礎(chǔ)服務(wù))互操作問題Stub,skeleton注冊C語言中函數(shù)函數(shù)調(diào)用f(inta2,intb2){intx,y,z;…return(z)}main(){inta1,b1,c;c=f(a1,b1);}a2b2xya1b1102102z30c30Java中的調(diào)用public

class

PassParameter{

static

void

showMe(int

pi,

Object

po){

System.out.println("pi

=

"

+

pi

+

"

;

po

=

"

+

po);

//

Step

2

(示意圖:3-2-2)

pi++;

po

=

new

Object();

System.out.println("pi

=

"

+

pi

+

"

;

po

=

"

+

po);

//

Step

3

(示意圖:3-2-3)

}

public

static

void

main(String[]

args){

int

i

=

1;

Object

o

=

new

Object();

System.out.println("i

=

"

+

i

+

"

;

o

=

"

+

o);

//

Step

1

(示意圖:3-1-1)

showMe(i,

o);

System.out.println("i

=

"

+

i

+

"

;

o

=

"

+

o);

//

Step

4

(示意圖:3-2-3)

}int

i

=

1;Object

o

=

new

Object();

System.out.println("i

=

"

+

i

+

"

;

o

=

"

+

o);

//

Step

1

(示意圖:3-1-1)static

void

showMe(int

pi,

Object

po){

System.out.println("pi

=

"

+

pi

+

"

;

po

=

"

+

po);

//

Step

2

(示意圖:3-2-2

po

=

new

Object();

System.out.println(“pi

=

+

pi

+

;

po

=

+

po);

//

Step

3

(示意圖:3-2-3)……System.out.println("i

=

"

+

i

+

"

;

o

=

"

+

o);

//

Step

4

(示意圖:3-2-3)Rpc的調(diào)用從一個程序片調(diào)用另一個程序片的過程稱為遠程過程調(diào)用,即RPC。RPC是一個Client/Server模型,調(diào)用程序片(本地程序)稱為rpcclient,被調(diào)用程序片(遠程程序)稱為rpcserver。RPC調(diào)用模型main(…)...調(diào)用A...退出主程序A(…)...調(diào)用B...退出過程A代碼B(…).......退出過程B代碼機器1機器2機器3rmi在分布式程序中,遠程對象的方法能被運行在不同主機上的其他java虛擬機的方法調(diào)用類似于rpc遠程對象:方法能被不同宿主機上的Java虛擬機調(diào)用的對象。遠程接口:一個聲明遠程對象的方法的接口。遠程服務(wù)器:創(chuàng)建遠程對象的實例客戶端:使用遠程對象基本概念存在于客戶端遠程對象的本地映象:調(diào)用遠程對象時,實際調(diào)用的是樁對象上的方法負(fù)責(zé)初始化并與遠程對象所在的遠程VM連接將參數(shù)打包,傳遞到遠程VM等待方法調(diào)用的結(jié)果解包返回值和異常將值返回給調(diào)用者Stub(存根/樁)框架存在于服務(wù)器接收客戶樁的請求和真正的遠程對象進行交互傳送服務(wù)器響應(yīng)到客戶負(fù)責(zé)解包客戶端輸入的遠程方法的參數(shù)調(diào)用實際的遠程對象的方法將結(jié)果打包返回給調(diào)用者傳至遠程引用層RMI系統(tǒng)體系結(jié)構(gòu)ClientVirtualMachineClientServerVirtualMachineStubRemoteObjectSkeletonRegistryVirtualMachine“Fred”ServerRMI流程(1)ClientVirtualMachineClientServerVirtualMachineStubRemoteObjectSkeletonRegistryVirtualMachine“Fred”Server121.ServerCreatesRemoteObject

2.ServerRegistersRemoteObjectRMI流程(2)ClientVirtualMachineClientServerVirtualMachineStubRemoteObjectSkeletonRegistryVirtualMachine“Fred”Server43.ClientrequestsobjectfromRegistry4.Registryreturnsremotereference(andstubgetscreated)3RMI流程(3)ClientVirtualMachineClientServerVirtualMachineStubRemoteObjectSkeletonRegistryVirtualMachine“Fred”Server65.Clientinvokesstubmethod6.Stubtalkstoskeleton7.Skeletoninvokesremoteobjectmethod57CORBA客戶程序與對象實現(xiàn)之間的界面(interface)是對象的接口定義,對象接口是服務(wù)雙方共同訂立的合約對象實現(xiàn)可以采用多種方式實現(xiàn):獨立服務(wù)程序,一個程序庫,被包裝的非面向?qū)ο髴?yīng)用程序等對象接口是對象結(jié)構(gòu)與行為的外部可見的規(guī)格說明,用IDL描述對象實現(xiàn)提供對象內(nèi)部的具體數(shù)據(jù)表示與可執(zhí)行代碼,同一接口的實現(xiàn)可采用不同語言編寫所有接口均未規(guī)定組件的具體實現(xiàn),為開發(fā)的實現(xiàn)活動留下自由corba靜態(tài)工作方式客戶對象實現(xiàn)IDLstubs客戶方代理StaticIDLskeleton服務(wù)方代理ORB內(nèi)核對象適配器OAORB內(nèi)核基礎(chǔ)服務(wù)定位消息安全事件事務(wù)數(shù)據(jù)WebService的概念提供一個與操作系統(tǒng)無關(guān)、與程序設(shè)計語言無關(guān)、與機器類型無關(guān)、與運行環(huán)境無關(guān)的平臺,實現(xiàn)網(wǎng)絡(luò)上應(yīng)用的共享AServiceisapieceofsoftwarethatisnottightlycoupledwithClientapplications.ServicesaredynamicallydiscoverableandcomposableentitiesWeb服務(wù)的體系結(jié)構(gòu)與Web應(yīng)用的N層結(jié)構(gòu)類似,區(qū)別在于頂層的面向瀏覽器的WebServer被面向程序的(WebServiceClient)的Web服務(wù)所取代。WebService特點Web服務(wù)是用標(biāo)準(zhǔn)的、規(guī)范的XML概念描述一些操作的接口(利用標(biāo)準(zhǔn)化的XML消息傳遞機制可以通過網(wǎng)絡(luò)訪問這些操作)該接口隱藏了實現(xiàn)服務(wù)的細節(jié),允許獨立于實現(xiàn)服務(wù)所基于的硬件或軟件平臺和編寫服務(wù)所用的編程語言使用服務(wù)。Web服務(wù)履行一項特定的任務(wù)或一組任務(wù)。Web

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論