




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、軟件互操作軟件互操作 1/62高級(jí)軟件工程高級(jí)軟件工程在一定程度上在一定程度上人類的思想產(chǎn)生于人類的思想產(chǎn)生于簡(jiǎn)單個(gè)體之間的相互作用簡(jiǎn)單個(gè)體之間的相互作用Marvin Minsky軟件互操作軟件互操作 2/62高級(jí)軟件工程高級(jí)軟件工程軟件互操作軟件互操作 3/62高級(jí)軟件工程高級(jí)軟件工程內(nèi)內(nèi) 容容一、網(wǎng)絡(luò)編程根本架構(gòu)一、網(wǎng)絡(luò)編程根本架構(gòu)二、軟件互操作的根本架構(gòu)二、軟件互操作的根本架構(gòu)三、互操作協(xié)議三、互操作協(xié)議四、互操作接口定義四、互操作接口定義五、交互實(shí)體的查找五、交互實(shí)體的查找軟件互操作軟件互操作 4/62高級(jí)軟件工程高級(jí)軟件工程一、網(wǎng)絡(luò)編程根本架構(gòu)一、網(wǎng)絡(luò)編程根本架構(gòu)1、TCP/IP2、
2、基于、基于Socket的網(wǎng)絡(luò)軟件的網(wǎng)絡(luò)軟件3、直接基于、直接基于Socket編程的缺乏編程的缺乏軟件互操作軟件互操作 5/62高級(jí)軟件工程高級(jí)軟件工程ApplicationPresentationTransportNetworkData linkPhysicalSessionTCP, UDP、TCP/IPTCP/IP1ISO/OSI 參考模型 與TCP/IP的對(duì)照ISO/OSI 參考模型參考模型主機(jī)與網(wǎng)絡(luò)的銜接:ethernet、token-ring 因特網(wǎng)層:IP 運(yùn)用層:telnet、ftp、smtp、snmp、dns、nntp TCP/IP軟件互操作軟件互操作 6/62高級(jí)軟件工程高級(jí)軟
3、件工程0 Network Host 1 0 Network Host 1 1 0 Network Host 1 1 1 0 Multicast address 1 1 1 1 0 Reversed for future use ABCDE 55地址范圍地址范圍 55 55 55 55類類2 2IPIP:Internet ProtocolInternet Protocol軟件互操作軟
4、件互操作 7/62高級(jí)軟件工程高級(jí)軟件工程Vers. H.len Service type Total length Identification Flags Fragment offset dataTime to live Protocol Header checksum Source IP addressDestination IP address IP options (may be omitted) PaddingIPIP頭頭Service typeService type Precedence D T R unused20 bytes軟件互操作軟件互操作 8/62高級(jí)軟件工程高級(jí)軟件
5、工程3TCP :Transmission Control Protocol TCP 為兩個(gè)分布式的構(gòu)件提供了雙向的音訊通為兩個(gè)分布式的構(gòu)件提供了雙向的音訊通訊訊UNIX 中的命令中的命令 rsh, rcp 及及 rlogin 全部基于全部基于 TCP它是一個(gè)可靠但較慢的協(xié)議它是一個(gè)可靠但較慢的協(xié)議在客戶效力器雙方進(jìn)展緩沖在客戶效力器雙方進(jìn)展緩沖以提高速度以提高速度軟件互操作軟件互操作 9/62高級(jí)軟件工程高級(jí)軟件工程 TCP頭格式頭格式Source portDestination portSequence numberAcknowledgement numberChecksum Urgent
6、pointer Options (0 or more words)Data (optional)H.lenCode bitsReserved Window size軟件互操作軟件互操作 10/62高級(jí)軟件工程高級(jí)軟件工程UDP : User Datagram Protocol 一個(gè)構(gòu)件向另一個(gè)構(gòu)件發(fā)送音訊一個(gè)構(gòu)件向另一個(gè)構(gòu)件發(fā)送音訊另一個(gè)構(gòu)件的標(biāo)識(shí)包含在音訊中另一個(gè)構(gòu)件的標(biāo)識(shí)包含在音訊中不可靠但快速的協(xié)議不可靠但快速的協(xié)議音訊長(zhǎng)度固定音訊長(zhǎng)度固定音訊在接受方排隊(duì)音訊在接受方排隊(duì)UNIX rwho 命令基于命令基于UDP軟件互操作軟件互操作 11/62高級(jí)軟件工程高級(jí)軟件工程2、基于、基于Soc
7、ket的網(wǎng)絡(luò)軟件的網(wǎng)絡(luò)軟件效力器效力器 客戶客戶 創(chuàng)建 通訊套接字 通常經(jīng)過隨機(jī)分配得到端口 等待銜接套接字 通常對(duì)應(yīng)于一個(gè)固定端口 銜接懇求 軟件互操作軟件互操作 12/62高級(jí)軟件工程高級(jí)軟件工程面向銜接:面向銜接:效力器效力器客戶客戶Socket()bind()listen()read()close()Socket()connect()write()close()處置懇求write()read()accept()阻塞,等待阻塞,等待客戶銜接客戶銜接建立銜接建立銜接懇求效力懇求效力應(yīng)對(duì)數(shù)據(jù)應(yīng)對(duì)數(shù)據(jù)軟件互操作軟件互操作 13/62高級(jí)軟件工程高級(jí)軟件工程面向非銜接:面向非銜接:效力器效力器客
8、戶客戶Socket()bind()readfrom()sendto()close()Socket()bind()sendto()readfrom()close()處置懇求應(yīng)對(duì)數(shù)據(jù)應(yīng)對(duì)數(shù)據(jù)懇求效力懇求效力阻塞,等待阻塞,等待客戶數(shù)據(jù)客戶數(shù)據(jù)軟件互操作軟件互操作 14/62高級(jí)軟件工程高級(jí)軟件工程l套接字的出現(xiàn)l促進(jìn)了軟件從單機(jī)環(huán)境向網(wǎng)絡(luò)環(huán)境的開展l擴(kuò)展了軟件的運(yùn)用范圍l人們很快不滿足于直接基于套接字的開發(fā)過程l基于套接字的開發(fā)方式較為繁瑣l這種軟件的排錯(cuò)非常困難l特別是當(dāng)效力器端需求根據(jù)用戶的不同懇求內(nèi)容區(qū)分不同的處置過程時(shí)根本緣由在于基于套接字的交互層次較低根本緣由在于基于套接字的交互層次較低
9、 不同軟件之間需求商定專門的音訊格式、數(shù)據(jù)類型等不同軟件之間需求商定專門的音訊格式、數(shù)據(jù)類型等 軟件互操作軟件互操作 15/62高級(jí)軟件工程高級(jí)軟件工程二、軟件互操作的根本架構(gòu)二、軟件互操作的根本架構(gòu)為支持為支持運(yùn)用層的某一實(shí)體運(yùn)用另一實(shí)體運(yùn)用層的某一實(shí)體運(yùn)用另一實(shí)體而制定的一套技術(shù)規(guī)范而制定的一套技術(shù)規(guī)范軟件互操作軟件互操作 16/62高級(jí)軟件工程高級(jí)軟件工程 互操作音訊互操作音訊 客戶端指代客戶端指代 互操作接口定義言語(yǔ)互操作接口定義言語(yǔ) 互操作協(xié)議互操作協(xié)議 網(wǎng)絡(luò)根底設(shè)備網(wǎng)絡(luò)根底設(shè)備 網(wǎng)絡(luò)根底設(shè)備網(wǎng)絡(luò)根底設(shè)備 互操作音訊互操作音訊 效力器端指代效力器端指代 客戶端程序客戶端程序 效力器端
10、程序效力器端程序 互操作實(shí)現(xiàn)以互操作實(shí)現(xiàn)以RPC 為例為例 實(shí)體查找方式實(shí)體查找方式 互操作規(guī)范互操作規(guī)范 底層協(xié)議底層協(xié)議 決議決議 決議決議 軟件互操作軟件互操作 17/62高級(jí)軟件工程高級(jí)軟件工程軟件互操作體系與人類交互過程的比較軟件互操作體系與人類交互過程的比較 底層協(xié)議提供了根本的通訊根底底層協(xié)議提供了根本的通訊根底 互操作音訊是軟件之間進(jìn)展交互時(shí)所表述的言語(yǔ)互操作音訊是軟件之間進(jìn)展交互時(shí)所表述的言語(yǔ)互操作協(xié)議是對(duì)這些言語(yǔ)的語(yǔ)法闡明互操作協(xié)議是對(duì)這些言語(yǔ)的語(yǔ)法闡明 互操作接口定義是軟件之間的一種商定互操作接口定義是軟件之間的一種商定接口定義言語(yǔ)是合約的撰寫規(guī)那么接口定義言語(yǔ)是合約的撰
11、寫規(guī)那么 實(shí)體查找方式是交互雙方建立聯(lián)絡(luò)的途徑實(shí)體查找方式是交互雙方建立聯(lián)絡(luò)的途徑包括白頁(yè)、黃頁(yè)、綠頁(yè)等多種途徑包括白頁(yè)、黃頁(yè)、綠頁(yè)等多種途徑軟件互操作軟件互操作 18/62高級(jí)軟件工程高級(jí)軟件工程1、 底層協(xié)議底層協(xié)議底層協(xié)議是互操作協(xié)議所依賴的底層通訊機(jī)制底層協(xié)議是互操作協(xié)議所依賴的底層通訊機(jī)制目前最受注重的協(xié)議目前最受注重的協(xié)議 是前面講過的是前面講過的 TCP/IP協(xié)議協(xié)議也可以是也可以是 ATM等其它協(xié)議等其它協(xié)議軟件互操作軟件互操作 19/62高級(jí)軟件工程高級(jí)軟件工程2、互操作協(xié)議、互操作協(xié)議音訊中關(guān)于字節(jié)序、數(shù)據(jù)表示等問題的處理方法音訊中關(guān)于字節(jié)序、數(shù)據(jù)表示等問題的處理方法表達(dá)了
12、通訊雙方之間關(guān)于音訊的表達(dá)了通訊雙方之間關(guān)于音訊的數(shù)據(jù)格式數(shù)據(jù)格式 音訊的類型音訊的類型 等的商定等的商定類似的商定還有類似的商定還有 效力器的管理效力器的管理 等等等等一切這些商定一切這些商定 共同構(gòu)成了互操作的高層協(xié)議共同構(gòu)成了互操作的高層協(xié)議互操作協(xié)議普通獨(dú)立于底層協(xié)議互操作協(xié)議普通獨(dú)立于底層協(xié)議即互操作協(xié)議可以向不同的底層協(xié)議進(jìn)展映射即互操作協(xié)議可以向不同的底層協(xié)議進(jìn)展映射從而由不同的底層協(xié)議進(jìn)展支持從而由不同的底層協(xié)議進(jìn)展支持互操作協(xié)議普通都比較煩瑣互操作協(xié)議普通都比較煩瑣其實(shí)現(xiàn)由運(yùn)用效力器開發(fā)者承當(dāng)其實(shí)現(xiàn)由運(yùn)用效力器開發(fā)者承當(dāng)運(yùn)用系統(tǒng)的開發(fā)者在開發(fā)詳細(xì)系統(tǒng)時(shí)運(yùn)用系統(tǒng)的開發(fā)者在開發(fā)詳
13、細(xì)系統(tǒng)時(shí)不用關(guān)懷協(xié)議的實(shí)現(xiàn)問題不用關(guān)懷協(xié)議的實(shí)現(xiàn)問題軟件互操作軟件互操作 20/62高級(jí)軟件工程高級(jí)軟件工程 3、互操作接口定義言語(yǔ)、互操作接口定義言語(yǔ)客戶指代主要完成上層代碼客戶程序、效力器程序客戶指代主要完成上層代碼客戶程序、效力器程序與底層代碼與底層代碼RPC API等之間的等之間的“映射映射 其參數(shù)傳送、編排、效力器定位等功能完全其參數(shù)傳送、編排、效力器定位等功能完全與運(yùn)用系統(tǒng)詳細(xì)的業(yè)務(wù)邏輯實(shí)現(xiàn)細(xì)節(jié)無關(guān)與運(yùn)用系統(tǒng)詳細(xì)的業(yè)務(wù)邏輯實(shí)現(xiàn)細(xì)節(jié)無關(guān)因此因此只需系統(tǒng)明確定義了效力器的接口只需系統(tǒng)明確定義了效力器的接口即可以產(chǎn)生與該接口對(duì)應(yīng)的指代即可以產(chǎn)生與該接口對(duì)應(yīng)的指代接口定義言語(yǔ)接口定義言語(yǔ)I
14、nterface Definition Language描畫了描畫了 客戶與效力器之間的接口客戶與效力器之間的接口軟件互操作軟件互操作 21/62高級(jí)軟件工程高級(jí)軟件工程4、實(shí)體查找方式、實(shí)體查找方式實(shí)體查找方式主要是指效力器的定位實(shí)體查找方式主要是指效力器的定位根據(jù)本人掌握的信息根據(jù)本人掌握的信息客戶如何才干查找到詳細(xì)效力器客戶如何才干查找到詳細(xì)效力器這實(shí)踐上涉及這實(shí)踐上涉及 效力器端效力信息的發(fā)布效力器端效力信息的發(fā)布效力信息的管理等問題效力信息的管理等問題軟件互操作軟件互操作 22/62高級(jí)軟件工程高級(jí)軟件工程互操作體系稱號(hào)互操作體系稱號(hào)互操作協(xié)議互操作協(xié)議接口定義言語(yǔ)接口定義言語(yǔ)實(shí)體查
15、找實(shí)體查找RPCRPCIDLRPC注冊(cè)注冊(cè)DCOMORPCMIDL系統(tǒng)注冊(cè)系統(tǒng)注冊(cè)CORBAGIOPIIOPIDL命名效力命名效力EJBJRMPJava InterfaceJNDIWeb ServiceSOAPWSDLUDDI現(xiàn)有互操作架構(gòu)比較現(xiàn)有互操作架構(gòu)比較軟件互操作軟件互操作 23/62高級(jí)軟件工程高級(jí)軟件工程通訊音訊通訊音訊 對(duì)于計(jì)算機(jī)的重要性對(duì)于計(jì)算機(jī)的重要性 完全類似于人類的言語(yǔ)對(duì)于人類的重要性完全類似于人類的言語(yǔ)對(duì)于人類的重要性協(xié)議是協(xié)議是通訊雙方傳輸音訊時(shí)必需遵守的規(guī)那么的集合通訊雙方傳輸音訊時(shí)必需遵守的規(guī)那么的集合 Protocol: IP、 TCP、UDP、 IIOP、JR
16、MP、SOAP FTP、SMTP、SNMP1、概念、概念軟件互操作軟件互操作 24/62高級(jí)軟件工程高級(jí)軟件工程對(duì)于互操作協(xié)議,雖然其開展的歷史不長(zhǎng)對(duì)于互操作協(xié)議,雖然其開展的歷史不長(zhǎng)但目前也曾經(jīng)有許多協(xié)議被設(shè)計(jì)、實(shí)現(xiàn)但目前也曾經(jīng)有許多協(xié)議被設(shè)計(jì)、實(shí)現(xiàn)例如:例如:RPC協(xié)議、協(xié)議、IIOP、JRMP、SOAP等等等等與人類言語(yǔ)類似,它們的實(shí)現(xiàn)方式也非常豐富與人類言語(yǔ)類似,它們的實(shí)現(xiàn)方式也非常豐富可以建立在不同的底層協(xié)議之上可以建立在不同的底層協(xié)議之上例如例如TCP/IP、ATM等等等等到目前為止,在互操作方面運(yùn)用得最廣泛的協(xié)議是到目前為止,在互操作方面運(yùn)用得最廣泛的協(xié)議是IIOP這主要得益于這
17、主要得益于CORBA的宏大勝利的宏大勝利以及以及IIOP對(duì)異構(gòu)平臺(tái)的支持對(duì)異構(gòu)平臺(tái)的支持軟件互操作軟件互操作 25/62高級(jí)軟件工程高級(jí)軟件工程所謂互操作協(xié)議要素是指所謂互操作協(xié)議要素是指設(shè)計(jì)一個(gè)互操作協(xié)議時(shí)必需思索的主要問題設(shè)計(jì)一個(gè)互操作協(xié)議時(shí)必需思索的主要問題這些問題主要包括:這些問題主要包括:數(shù)據(jù)表示數(shù)據(jù)表示音訊格式音訊格式援用表示援用表示 等等等等其它需求思索的問題包括:其它需求思索的問題包括:如何將協(xié)議映射究竟層協(xié)議之上如何將協(xié)議映射究竟層協(xié)議之上如何管理銜接過程如何管理銜接過程如何提高協(xié)議的效率如何提高協(xié)議的效率等等等等 2 2、互操作協(xié)議要素、互操作協(xié)議要素軟件互操作軟件互操作
18、26/62高級(jí)軟件工程高級(jí)軟件工程在單機(jī)環(huán)境內(nèi),數(shù)據(jù)表示屬于硬件層、言語(yǔ)層在單機(jī)環(huán)境內(nèi),數(shù)據(jù)表示屬于硬件層、言語(yǔ)層而在網(wǎng)絡(luò)環(huán)境下,調(diào)用參數(shù)必需經(jīng)由網(wǎng)絡(luò)進(jìn)展傳輸而在網(wǎng)絡(luò)環(huán)境下,調(diào)用參數(shù)必需經(jīng)由網(wǎng)絡(luò)進(jìn)展傳輸這意味著這些數(shù)據(jù)將變成一種字節(jié)流的方式這意味著這些數(shù)據(jù)將變成一種字節(jié)流的方式以便于參數(shù)數(shù)據(jù)在網(wǎng)絡(luò)上傳輸以便于參數(shù)數(shù)據(jù)在網(wǎng)絡(luò)上傳輸就產(chǎn)生了如何在網(wǎng)絡(luò)傳輸上表示程序中的數(shù)據(jù)問題就產(chǎn)生了如何在網(wǎng)絡(luò)傳輸上表示程序中的數(shù)據(jù)問題數(shù)據(jù)表示是一種傳輸語(yǔ)法數(shù)據(jù)表示是一種傳輸語(yǔ)法描畫各種數(shù)據(jù)類型在傳輸線路上描畫各種數(shù)據(jù)類型在傳輸線路上以字節(jié)流的方式表示出來的格式以字節(jié)流的方式表示出來的格式ONC-RPCONC-RP
19、C中運(yùn)用的格式為外部數(shù)據(jù)表示中運(yùn)用的格式為外部數(shù)據(jù)表示XDRXDR:eXternal Data RepresentationeXternal Data Representation而而CORBACORBA中運(yùn)用的格式為公共數(shù)據(jù)表示中運(yùn)用的格式為公共數(shù)據(jù)表示CDRCDR:Common Data RepresentationCommon Data Representation 1數(shù)據(jù)表示數(shù)據(jù)表示軟件互操作軟件互操作 27/62高級(jí)軟件工程高級(jí)軟件工程底層協(xié)議底層協(xié)議 主要處理通訊的主要處理通訊的 可行性可行性 以及部分以及部分 可靠性可靠性 等問題等問題高層協(xié)議不同于底層協(xié)議的一個(gè)明顯特征在于高層
20、協(xié)議不同于底層協(xié)議的一個(gè)明顯特征在于高層協(xié)議帶有一定的語(yǔ)義信息高層協(xié)議帶有一定的語(yǔ)義信息幾乎每種高層協(xié)議幾乎每種高層協(xié)議都對(duì)音訊進(jìn)展分類都對(duì)音訊進(jìn)展分類定義了多種不同類型的音訊格式定義了多種不同類型的音訊格式對(duì)于互操作協(xié)議而言對(duì)于互操作協(xié)議而言一次調(diào)用通常至少包含懇求與應(yīng)對(duì)兩種音訊一次調(diào)用通常至少包含懇求與應(yīng)對(duì)兩種音訊音訊的種類較為類似音訊的種類較為類似但音訊格式差別較大但音訊格式差別較大 2音訊格式音訊格式軟件互操作軟件互操作 28/62高級(jí)軟件工程高級(jí)軟件工程互操作協(xié)議必需映射究竟層協(xié)議上互操作協(xié)議必需映射究竟層協(xié)議上方能得到實(shí)現(xiàn)方能得到實(shí)現(xiàn)目前的互操作協(xié)議都定義協(xié)議一到多種向傳輸層的映射
21、目前的互操作協(xié)議都定義協(xié)議一到多種向傳輸層的映射例如例如GIOPGIOP定義了向定義了向TCP/IPTCP/IP的映射:的映射:IIOPIIOPSOAPSOAP主要定義了向主要定義了向HTTPHTTP的映射的映射3向底層協(xié)議的映射向底層協(xié)議的映射軟件互操作軟件互操作 29/62高級(jí)軟件工程高級(jí)軟件工程2、協(xié)議比較、協(xié)議比較1互操作開銷不同互操作開銷不同IIOP、JRMP運(yùn)用二進(jìn)制的字節(jié)流方式編排音訊運(yùn)用二進(jìn)制的字節(jié)流方式編排音訊 CDR、XDRSOAP采用字符型的采用字符型的XML編排音訊編排音訊 SOAP音訊要比音訊要比IIOP、JRMP音訊長(zhǎng)得多音訊長(zhǎng)得多SOAP的編排開銷大、占用內(nèi)存空間
22、大的編排開銷大、占用內(nèi)存空間大2表達(dá)才干不同表達(dá)才干不同SOAP易于學(xué)習(xí)、易于開發(fā)、易于調(diào)試易于學(xué)習(xí)、易于開發(fā)、易于調(diào)試SOAP不支持音訊的批處置、對(duì)象援用、對(duì)象激活等特性不支持音訊的批處置、對(duì)象援用、對(duì)象激活等特性降低了降低了SOAP的表達(dá)才干的表達(dá)才干并使得基于并使得基于SOAP的交互遭到限制的交互遭到限制而而IIOP、JRMP等那么不存在這種限制等那么不存在這種限制軟件互操作軟件互操作 30/62高級(jí)軟件工程高級(jí)軟件工程3順應(yīng)才干不同順應(yīng)才干不同IIOP、JRMP嚴(yán)重制約于防火墻嚴(yán)重制約于防火墻防火墻普通由兩個(gè)路由器與一個(gè)運(yùn)用程序網(wǎng)關(guān)構(gòu)成防火墻普通由兩個(gè)路由器與一個(gè)運(yùn)用程序網(wǎng)關(guān)構(gòu)成 路由
23、器擔(dān)任路由器擔(dān)任IP層的分組信息層的分組信息列出可接受、制止的源端和目的端等信息列出可接受、制止的源端和目的端等信息 運(yùn)用程序網(wǎng)關(guān)在運(yùn)用程序級(jí)進(jìn)展控制運(yùn)用程序網(wǎng)關(guān)在運(yùn)用程序級(jí)進(jìn)展控制 根據(jù)頭信息字段、音訊長(zhǎng)度、音訊內(nèi)容等根據(jù)頭信息字段、音訊長(zhǎng)度、音訊內(nèi)容等 決議傳送還是丟棄音訊決議傳送還是丟棄音訊這是這是IIOP、JRMP的運(yùn)用遭到限制的中心要素之一的運(yùn)用遭到限制的中心要素之一SOAP那么根本不受其限制那么根本不受其限制4適用環(huán)境不同適用環(huán)境不同JRMP適用于運(yùn)用適用于運(yùn)用JAVA的運(yùn)用系統(tǒng)的運(yùn)用系統(tǒng)IIOP、SOAP支持各種言語(yǔ),因此適用面更廣支持各種言語(yǔ),因此適用面更廣IIOP適宜于同一個(gè)
24、防火墻內(nèi)部之間的交互適宜于同一個(gè)防火墻內(nèi)部之間的交互而而SOAP那么適宜于跨越防火墻的交互那么適宜于跨越防火墻的交互軟件互操作軟件互操作 31/62高級(jí)軟件工程高級(jí)軟件工程1、概念、概念接口(Interface)軟件互操作軟件互操作 32/62高級(jí)軟件工程高級(jí)軟件工程運(yùn)用編程接口運(yùn)用編程接口API對(duì)象接口對(duì)象接口構(gòu)件接口構(gòu)件接口籠統(tǒng)?真實(shí)?籠統(tǒng)?真實(shí)?模塊通常由接口和實(shí)現(xiàn)兩部分組成模塊通常由接口和實(shí)現(xiàn)兩部分組成模塊的接口部分模塊的接口部分描寫了各個(gè)模塊是如何耦合的描寫了各個(gè)模塊是如何耦合的其他模塊的設(shè)計(jì)者和運(yùn)用者需求知道其他模塊的設(shè)計(jì)者和運(yùn)用者需求知道模塊的實(shí)現(xiàn)部分模塊的實(shí)現(xiàn)部分是各個(gè)模塊的內(nèi)
25、部事務(wù)是各個(gè)模塊的內(nèi)部事務(wù)其他模塊的設(shè)計(jì)者和運(yùn)用者不需求知道其他模塊的設(shè)計(jì)者和運(yùn)用者不需求知道包含什么詳細(xì)內(nèi)容?功能性、約束性包含什么詳細(xì)內(nèi)容?功能性、約束性利用什么方式描畫?接口定義言語(yǔ)利用什么方式描畫?接口定義言語(yǔ)含義解釋含義解釋軟件互操作軟件互操作 33/62高級(jí)軟件工程高級(jí)軟件工程單機(jī)環(huán)境下的不同軟件模塊之間單機(jī)環(huán)境下的不同軟件模塊之間主要定義模塊的功能性主要定義模塊的功能性FunctionalFunctional內(nèi)容內(nèi)容類似于一個(gè)函數(shù)的映射過程類似于一個(gè)函數(shù)的映射過程接口的功能性定義是對(duì)接口中各個(gè)操作調(diào)用方式的描畫接口的功能性定義是對(duì)接口中各個(gè)操作調(diào)用方式的描畫操作操作是由操作符標(biāo)識(shí)
26、的實(shí)體是由操作符標(biāo)識(shí)的實(shí)體指明了一個(gè)不可再分的效力原語(yǔ)指明了一個(gè)不可再分的效力原語(yǔ)懇求一個(gè)操作的動(dòng)作被稱為調(diào)用一個(gè)操作懇求一個(gè)操作的動(dòng)作被稱為調(diào)用一個(gè)操作對(duì)一個(gè)操作功能的描畫由輸入、輸出兩部分組成對(duì)一個(gè)操作功能的描畫由輸入、輸出兩部分組成 也被稱為一個(gè)基調(diào)也被稱為一個(gè)基調(diào)signaturesignature用于描畫操作的輸入、輸出參數(shù)稱號(hào)及類型用于描畫操作的輸入、輸出參數(shù)稱號(hào)及類型功能性功能性FunctionalFunctional軟件互操作軟件互操作 34/62高級(jí)軟件工程高級(jí)軟件工程網(wǎng)絡(luò)環(huán)境下的不同軟件模塊的協(xié)作需求思索的要素網(wǎng)絡(luò)環(huán)境下的不同軟件模塊的協(xié)作需求思索的要素不僅僅包含功能方面不
27、僅僅包含功能方面還涉及分布性、可靠性、平安性等方面的要素還涉及分布性、可靠性、平安性等方面的要素網(wǎng)絡(luò)環(huán)境下的接口網(wǎng)絡(luò)環(huán)境下的接口 除需求定義模塊的功能性內(nèi)容外除需求定義模塊的功能性內(nèi)容外還需求定義模塊的約束性內(nèi)容還需求定義模塊的約束性內(nèi)容接口的約束性定義是指對(duì)功能以外特征的描畫接口的約束性定義是指對(duì)功能以外特征的描畫簡(jiǎn)單的包括:例外處置、執(zhí)行語(yǔ)義等簡(jiǎn)單的包括:例外處置、執(zhí)行語(yǔ)義等復(fù)雜一些的包括:復(fù)雜一些的包括:1 1行為特征行為特征: :用于描畫操作的輸出用于描畫操作的輸出 經(jīng)過對(duì)操作添加前置與后置條件而實(shí)現(xiàn)經(jīng)過對(duì)操作添加前置與后置條件而實(shí)現(xiàn)2 2同步特征同步特征: :用于描畫分布性與并發(fā)性用
28、于描畫分布性與并發(fā)性約束性約束性ConstraintConstraint軟件互操作軟件互操作 35/62高級(jí)軟件工程高級(jí)軟件工程2、接口定義言語(yǔ)、接口定義言語(yǔ)IDL: Interface Definition LanguageWSDL: Web Service Description Language效力描畫言語(yǔ)效力描畫言語(yǔ)interface Hospital typedef string PatientId;PatientId admit_patient ( );void release_patient ( in PatientIdpatient );軟件互操作軟件互操作 36/62高級(jí)軟件
29、工程高級(jí)軟件工程有的以描畫構(gòu)造化程序的功能為主有的以描畫構(gòu)造化程序的功能為主例如例如RPC-IDLRPC-IDL微軟的微軟的-IDL-IDL有的以描畫對(duì)象的功能為主有的以描畫對(duì)象的功能為主例如例如CORBACORBA的的IDLIDL有的以描畫效力為主有的以描畫效力為主例如例如web serviceweb service的的WSDLWSDL1 1描畫對(duì)象不同描畫對(duì)象不同比較比較軟件互操作軟件互操作 37/62高級(jí)軟件工程高級(jí)軟件工程有的以詳細(xì)計(jì)算機(jī)言語(yǔ)的方式表達(dá)有的以詳細(xì)計(jì)算機(jī)言語(yǔ)的方式表達(dá)例如例如SUNSUN的的Java InterfaceJava Interface有的以獨(dú)立于詳細(xì)的計(jì)算機(jī)言
30、語(yǔ)有的以獨(dú)立于詳細(xì)的計(jì)算機(jī)言語(yǔ)但非常類似于計(jì)算機(jī)言語(yǔ)的方式表達(dá)但非常類似于計(jì)算機(jī)言語(yǔ)的方式表達(dá)例如:例如:RPC-IDLRPC-IDL微軟的微軟的-IDL-IDLCORBACORBA的的IDLIDL有的以有的以XMLXML為方式表達(dá)為方式表達(dá)例如:例如:web serviceweb service的的WSDLWSDL2 2描畫方式不同描畫方式不同軟件互操作軟件互操作 38/62高級(jí)軟件工程高級(jí)軟件工程有的僅描畫接口的語(yǔ)法信息有的僅描畫接口的語(yǔ)法信息例如:例如:RPC-IDLRPC-IDL微軟的微軟的-IDL-IDLCORBACORBA的的IDLIDL有的還包括與底層協(xié)議的綁定信息有的還包括與底
31、層協(xié)議的綁定信息例如:例如:WSDLWSDL等等在在CORBACORBA中這部分信息包含在中這部分信息包含在IORIOR中中3描畫內(nèi)容不同描畫內(nèi)容不同軟件互操作軟件互操作 39/62高級(jí)軟件工程高級(jí)軟件工程網(wǎng)絡(luò)環(huán)境中的資源具有明顯的分布性這些資源能夠分布于不同的節(jié)點(diǎn)之上問題: 分布在不同節(jié)點(diǎn)上的實(shí)體如何查找到其他的實(shí)體?軟件互操作軟件互操作 40/62高級(jí)軟件工程高級(jí)軟件工程1、三種查找方式、三種查找方式2、命名效力、命名效力3、目錄效力、目錄效力4、合約效力、合約效力內(nèi)內(nèi) 容容軟件互操作軟件互操作 41/62高級(jí)軟件工程高級(jí)軟件工程l命名命名(Naming)效力:效力:l經(jīng)過外部名字定位構(gòu)件
32、經(jīng)過外部名字定位構(gòu)件l類似于本白頁(yè)類似于本白頁(yè). 公司甲公司甲 67890001 公司乙公司乙 67890002 公司丙公司丙 67890003CORBA的命名效力的命名效力TCP/IP中的中的DNSCOM、JVM中的注冊(cè)表等中的注冊(cè)表等 皆提供了類似的效力皆提供了類似的效力 1、三種查找方式、三種查找方式軟件互操作軟件互操作 42/62高級(jí)軟件工程高級(jí)軟件工程l目錄目錄(Directory)效力:效力:l經(jīng)過效力特性定位構(gòu)件經(jīng)過效力特性定位構(gòu)件l類似于本黃頁(yè)類似于本黃頁(yè) IT領(lǐng)域領(lǐng)域 存儲(chǔ)器公司存儲(chǔ)器公司 公司甲公司甲 67890001 計(jì)算機(jī)公司計(jì)算機(jī)公司公司乙公司乙 67890002公司
33、丙公司丙 67890003公司丁公司丁 67890004SUN的網(wǎng)絡(luò)信息系統(tǒng)的網(wǎng)絡(luò)信息系統(tǒng)Network Information System:NISNovell目錄效力目錄效力Novell Directory Service:NDSIUT/ISO的的X.500以及以及LDAPCORBA的買賣效力的買賣效力微軟的微軟的Active Directory Service等等提供了類似的效力提供了類似的效力 軟件互操作軟件互操作 43/62高級(jí)軟件工程高級(jí)軟件工程l合約合約(Contract)效力:效力:l經(jīng)過技術(shù)規(guī)范定位構(gòu)件經(jīng)過技術(shù)規(guī)范定位構(gòu)件l綠頁(yè)綠頁(yè) IT領(lǐng)域領(lǐng)域 計(jì)算機(jī)公司計(jì)算機(jī)公司 公司乙
34、公司乙 67890002地址地址 北京市海淀區(qū)中關(guān)村大街北京市海淀區(qū)中關(guān)村大街XX號(hào)號(hào) foo CPU Intel P4 硬盤硬盤 Seagate 40G 鼠標(biāo)鼠標(biāo) 雙飛燕雙飛燕 USB Web Service的的UDDI即包含這方面的信息即包含這方面的信息CORBA的接口池也具有部分的接口池也具有部分“綠頁(yè)功能綠頁(yè)功能 軟件互操作軟件互操作 44/62高級(jí)軟件工程高級(jí)軟件工程不同的查找效力提供的功能:不同的查找效力提供的功能: 白頁(yè)黃頁(yè)綠頁(yè)DNS CORBA Naming CORBA Trading CORBA IR X.500/LDAP UDDI軟件互操作軟件互操作 45/62高級(jí)軟件工程
35、高級(jí)軟件工程名字是知識(shí)的根底名字是知識(shí)的根底本體論本體論Ontology名實(shí)論名,所以謂也,實(shí),所謂也名實(shí)論名,所以謂也,實(shí),所謂也 墨墨子子操作系統(tǒng)中的進(jìn)程名操作系統(tǒng)中的進(jìn)程名文件系統(tǒng)中的文件名文件系統(tǒng)中的文件名程序文語(yǔ)中的程序文語(yǔ)中的變量名、過程名、變量名、過程名、數(shù)據(jù)構(gòu)造名、對(duì)象名數(shù)據(jù)構(gòu)造名、對(duì)象名網(wǎng)絡(luò)環(huán)境下的計(jì)算機(jī)名、數(shù)據(jù)庫(kù)名網(wǎng)絡(luò)環(huán)境下的計(jì)算機(jī)名、數(shù)據(jù)庫(kù)名 、構(gòu)件名、構(gòu)件名2、命名效力、命名效力軟件互操作軟件互操作 46/62高級(jí)軟件工程高級(jí)軟件工程名字與標(biāo)識(shí)、援用名字與標(biāo)識(shí)、援用 標(biāo)識(shí)標(biāo)識(shí) 援用援用 名字與援用的關(guān)聯(lián)名字與援用的關(guān)聯(lián) 指代指代 名字名字 效力運(yùn)用者的空間效力運(yùn)用者的空
36、間 效力提供者的空間效力提供者的空間 查找 注冊(cè) 綁定 調(diào)用 解析 名字 引用 軟件互操作軟件互操作 47/62高級(jí)軟件工程高級(jí)軟件工程名字系統(tǒng)名字系統(tǒng)主要功能是將名字映射到對(duì)象主要功能是將名字映射到對(duì)象一組一組context的集合的集合這些這些context是銜接的是銜接的運(yùn)用同樣的命名規(guī)那么運(yùn)用同樣的命名規(guī)那么提供同樣的操作集合并具有同樣的語(yǔ)義提供同樣的操作集合并具有同樣的語(yǔ)義 例如:例如: c:/win98/system軟件互操作軟件互操作 48/62高級(jí)軟件工程高級(jí)軟件工程名字分類名字分類Atomic name(原子名字原子名字)名字中不可分割的部分名字中不可分割的部分U
37、sr/local/bin中的中的usr, local, 中的中的www, pku, edu, cnCompound name復(fù)合名字復(fù)合名字包含了零個(gè)或多個(gè)原子名字的一個(gè)序列包含了零個(gè)或多個(gè)原子名字的一個(gè)序列Usr/local/bin, 軟件互操作軟件互操作 49/62高級(jí)軟件工程高級(jí)軟件工程lComposite Name合成名字合成名字l與復(fù)合名字與復(fù)合名字(compound name)不同不同l是跨越多個(gè)命名系統(tǒng)的名字是跨越多個(gè)命名系統(tǒng)的名字l包含了一個(gè)有序的復(fù)合或原子名字的列包含了一個(gè)有序的復(fù)合或原子名字的列表表l每個(gè)復(fù)合或原子名字屬于不同的命名系每個(gè)復(fù)
38、合或原子名字屬于不同的命名系統(tǒng)名字空間統(tǒng)名字空間/public/index.htmll : 來自來自“URL scheme-id名字空間名字空間/in-notes/rfc2195.txt : 來自來自DNS名字空間名字空間lPublic/index.html : 來自主機(jī)文件的名字來自主機(jī)文件的名字空間空間軟件互操作軟件互操作 50/62高級(jí)軟件工程高級(jí)軟件工程軟件互操作軟件互操作 51/62高級(jí)軟件工程高級(jí)軟件工程l命名效力命名效力Naming Servicel維護(hù)了分布或集中式系統(tǒng)中資源的維護(hù)了分布或集中式系統(tǒng)中資源的名字與地址之間的映射關(guān)系名字與地
39、址之間的映射關(guān)系binding軟件互操作軟件互操作 52/62高級(jí)軟件工程高級(jí)軟件工程 命名上下文命名上下文lContextl是一個(gè)對(duì)象是一個(gè)對(duì)象l其形狀屬性是一組其形狀屬性是一組binding的集合,這些的集合,這些binding的原子名字各不一樣的原子名字各不一樣l每個(gè)每個(gè)Context都有本人的命名規(guī)那么都有本人的命名規(guī)那么l至少提供至少提供lookup操作操作l允許用戶查找指定原子允許用戶查找指定原子名字的對(duì)象名字的對(duì)象l也能夠提供建立也能夠提供建立/刪除刪除/枚舉枚舉binding的操作的操作lInitial Contextl用戶運(yùn)用命名效力的入口用戶運(yùn)用命名效力的入口軟件互操作軟件
40、互操作 53/62高級(jí)軟件工程高級(jí)軟件工程lSubcontextl某個(gè)某個(gè)Context對(duì)象中的原子名字可以與另一個(gè)對(duì)象中的原子名字可以與另一個(gè)Context對(duì)象綁定,此時(shí)后者就是前者的對(duì)象綁定,此時(shí)后者就是前者的subcontextl目的是為了支持復(fù)合名字的查找目的是為了支持復(fù)合名字的查找l按照原子名字的順序在對(duì)應(yīng)的按照原子名字的順序在對(duì)應(yīng)的subcontext中查找中查找bindingl在在UNIX文件系統(tǒng)中,目錄類似文件系統(tǒng)中,目錄類似subcontextusr, local,而途徑名類似復(fù)合名字,而途徑名類似復(fù)合名字(usr/local/bin)軟件互操作軟件互操作 54/62高級(jí)軟件
41、工程高級(jí)軟件工程 解析名字解析名字根據(jù)名字查找屬性的過程根據(jù)名字查找屬性的過程 軟件互操作軟件互操作 55/62高級(jí)軟件工程高級(jí)軟件工程 developer manager U1 1 M1 U3 M2 MIS Network M1 N1 M2 user NamingContext Contains Name & OR U2 2 3 4 5 6 7 8 Root Context Server 軟件互操作軟件互操作 56/62高級(jí)軟件工程高級(jí)軟件工程 3、目錄效力、目錄效力根本實(shí)現(xiàn)根本實(shí)現(xiàn) 目錄效力目錄效力是加強(qiáng)的命名效力是加強(qiáng)的命名效力存儲(chǔ)了一組名字與屬性的關(guān)聯(lián)集合存儲(chǔ)了一組名字與屬性的
42、關(guān)聯(lián)集合 軟件互操作軟件互操作 57/62高級(jí)軟件工程高級(jí)軟件工程l目錄對(duì)象目錄對(duì)象(Directory object)l命名系統(tǒng)中一類特殊的對(duì)象,用以表達(dá)計(jì)算環(huán)命名系統(tǒng)中一類特殊的對(duì)象,用以表達(dá)計(jì)算環(huán)境的多種信息境的多種信息l換言之,維護(hù)了分布或集中式系統(tǒng)中資源換言之,維護(hù)了分布或集中式系統(tǒng)中資源的名字與及其多種信息的映射關(guān)系的名字與及其多種信息的映射關(guān)系l一個(gè)目錄對(duì)象具有多個(gè)屬性一個(gè)目錄對(duì)象具有多個(gè)屬性(attributes)l一個(gè)屬性具有一個(gè)標(biāo)識(shí)符一個(gè)屬性具有一個(gè)標(biāo)識(shí)符(identifier)以及一組以及一組值值(values)l一個(gè)目錄對(duì)象同時(shí)可以是一個(gè)一個(gè)目錄對(duì)象同時(shí)可以是一個(gè)context,因此,因此,這種特殊的對(duì)象不僅可以維護(hù)名字到對(duì)象的映這種特殊的對(duì)象不僅可以維護(hù)名字到對(duì)象的映射,也可以維護(hù)與這個(gè)射,也可以維護(hù)與這個(gè)binding相關(guān)的一些信息相關(guān)的一些信息lCORBA Trader Service軟件互操作軟件互操作 58/62高級(jí)軟件工程高級(jí)軟件工程 Naming System Directory Object Context Binding Attribute Attribute Attribute ( as a context
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 河北省邢臺(tái)市祁村中學(xué)2025年高二下化學(xué)期末質(zhì)量跟蹤監(jiān)視試題含解析
- 山東禹城市綜合高中2025屆化學(xué)高二下期末復(fù)習(xí)檢測(cè)模擬試題含解析
- 公共停車收費(fèi)管理辦法
- 醫(yī)用健康賬戶管理辦法
- 園區(qū)企業(yè)年金管理辦法
- 農(nóng)業(yè)農(nóng)村農(nóng)舍管理辦法
- 景區(qū)排隊(duì)擁堵管理辦法
- 前期中心報(bào)建管理辦法
- 信息文化視角下高校圖書館“三全育人”的實(shí)踐與關(guān)鍵路徑探索
- 智能康復(fù)輔具的國(guó)際化推廣策略研究-洞察及研究
- 2025年廣東省中考英語(yǔ)試題卷(含答案解析)
- 2025年吉林省中考物理試卷真題及答案詳解(精校打印版)
- 2025至2030中國(guó)羅伊氏乳桿菌行業(yè)市場(chǎng)現(xiàn)狀分析及競(jìng)爭(zhēng)格局與投資發(fā)展報(bào)告
- 標(biāo)準(zhǔn)的編寫講課件
- 學(xué)堂在線 護(hù)理研究方法 期末考試答案
- 2025年湖南省中考英語(yǔ)試卷真題(含答案解析)
- 航圖zbyn太原武宿-機(jī)場(chǎng)細(xì)則
- 浙江省城市體檢工作技術(shù)導(dǎo)則(試行)
- 義務(wù)教育歷史課程標(biāo)準(zhǔn)(2022年版)
- 防火封堵施工方案(新版)
評(píng)論
0/150
提交評(píng)論