【正文】
論文 (設(shè)計(jì) )過程中教師的指導(dǎo)安排 對計(jì)劃的說明 西安郵電學(xué)院 畢業(yè)設(shè)計(jì) (論文 )開題報(bào)告 計(jì)算機(jī) 學(xué)院 網(wǎng)絡(luò)工程 專業(yè) 06 級 04 班 課題名稱: 簡單對象訪問協(xié)議 SOAP 原理及抓包分析 學(xué)生姓名: 學(xué)號: 指導(dǎo)教師: 報(bào)告日期: 2021年 3 月 16 日 1. 本課題所涉及的問題及應(yīng)用現(xiàn)狀綜 本課題所涉及的問題: 1) 理解 Web 服務(wù),掌握其原理及簡單對象訪問協(xié)議( SOAP Simple Object Access Protocol)在其中所起的所用,工作過程; 2) 掌握簡單對象訪問協(xié)議( SOAP)的格式; 3) 掌握 tcp monitor 工具的使用方法,對 Web 服務(wù)中 SOAP 協(xié)議作用 下所抓到的報(bào)文進(jìn)行分析。這就要求企業(yè)解決方案具有廣泛的兼容能力,可以支持不同的系統(tǒng)平臺、數(shù)據(jù)格式和多種連接方式,要求在 Inter 環(huán)境下,系統(tǒng)是松散耦合的、跨平臺的,與語言無關(guān)的,與特定接口無關(guān)的,而且要提供對 Web 應(yīng)用程序的可靠訪問。 Web services 希望實(shí)現(xiàn)不同的系統(tǒng)之間能夠用 軟件 軟件對話 的方式相互調(diào)用,打破了軟件應(yīng)用、網(wǎng)站和各種設(shè)備之間的格格不入的狀態(tài),實(shí)現(xiàn) 基于 WEB 無縫集成 的目標(biāo)。 IBM 公司啟動了 Apache SOAP 項(xiàng)目計(jì)劃,微軟又推出了 的 正式版,主要包括如下的一些特征: SOAP 的高層接口和低層接口,消息對象接口,完全支持 WSDL 標(biāo)準(zhǔn),支持用戶自定義類型映射,并且提供了豐富和完整的開發(fā)文檔以及應(yīng)用實(shí)例??梢詷酚^的估計(jì),不用多久, SOAP 互操作性的時(shí)代就將來臨。 解決的思路: 1)通過參考互聯(lián)網(wǎng)和書本上的有關(guān) Web 服務(wù)的過程,以及相關(guān)的文獻(xiàn)來了解 Web 服務(wù); 2) 或者與同學(xué)互相交流相關(guān)自己研究課題的內(nèi)容,以便補(bǔ)充自己了解的不足; 3)或者在與同學(xué)交流中也解決不了問題時(shí)同老師交流,來解決??梢酝ㄟ^互聯(lián)網(wǎng)、從圖書館借閱圖書,與同學(xué)老師交流來對其進(jìn)行了解,抓包分析可以在實(shí)驗(yàn) 室中進(jìn)行,應(yīng)用 tcp monitor 來進(jìn)行抓包分析,以便更系統(tǒng)和形象的了解整個 Web 服務(wù)過程中 SOAP 所起到的作用。 3.完成本課題的工作方案 工作方案: 1) 3 月 4 月查閱資料,對 Web 先進(jìn)行基本的了解,同時(shí)了解 SOAP 在 Web 中應(yīng)用的實(shí)例; 2) 4 月 5 月進(jìn)行更深入的了解 SOAP,此時(shí)要熟練掌握 Web 服務(wù)中 SOAP 怎么樣運(yùn)用,SOAP 消息包的格式,并進(jìn)行初步的抓包分析準(zhǔn)備; 3) 5 月開始就要深入的對 SOAP 消息包進(jìn)行分析,更進(jìn)一 步的了解 SOAP 在 Web 服務(wù)中的工作流程,熟練掌握 Web 服務(wù)的工作過程及 SOAP 協(xié)議的原理; 4) 以上進(jìn)行在 6 月之前完畢,并開始準(zhǔn)備畢業(yè)論文,進(jìn)行畢業(yè)答辯。 該生已對本課題有了一定的理解和學(xué)習(xí)。 指導(dǎo)教師 (簽字 ): 2021 年 3 月 18 日 說明: 本 報(bào)告必須由承擔(dān)畢業(yè)論文 (設(shè)計(jì) )課題任務(wù)的學(xué)生在畢業(yè)論文 (設(shè)計(jì) ) 正式開始的第 1 周周五之前獨(dú)立撰寫完成,并交指導(dǎo)教師審閱。 SOAP 規(guī)范描述了四個主要 的構(gòu)件 .使用信封形式的封裝數(shù)據(jù)和路由路徑的格式化規(guī)范 ,傳輸或是綁定協(xié)議,編碼規(guī)則, RPC 調(diào)用機(jī)制 . 信封定義一個為描述消息內(nèi)容的規(guī)范,這個消息有一種輪流排隊(duì)處理的含義 .協(xié)議綁定能夠使用低級別的 HTTP 協(xié)議傳遞 SOAP 消息提供一個一般的機(jī)制 .編碼規(guī)則提夠一種規(guī)范為了映射各種各樣應(yīng)用數(shù)據(jù)到基于標(biāo)簽表現(xiàn)的 TAG。 網(wǎng)絡(luò)中,不管你的 Web service 是用什么工具,什么語言寫出來的,只要你用SOAP 協(xié)議通過 HTTP 來調(diào)用它,總體結(jié)構(gòu)都一致。于是,任何語言,任何平臺上的客戶都可以閱讀其 WSDL 文檔,以調(diào)用這個 Web service。 Web service 都是放在 Web 服務(wù)器 (如 IIS) 后面的,客戶生成的 SOAP 請求會被嵌入在一個 HTTP POST 請求中,發(fā)送到 Web 服務(wù)器來。 請求處理器的作用在于,解析收到的 SOAP 請求,調(diào)用 Web service,然后再生成相應(yīng)的 SOAP 應(yīng)答。 關(guān)鍵字 : RFC, Web Service, HTTP, WSDL II Abstract SOAP (Simple Object Access Protocol), which is a standard messaging protocol, often the de facto standard Web Service. SOAP specification describes four main ponents. Use the envelope forms of packaging and routing path data format specifications, transmission or binding agreement, coding rules, RPC call mechanism. Envelope to define a standard for describing the message content, the news There is a rotation queue processing means. protocol bindings to the HTTP protocol using lowlevel SOAP message passed to provide a general mechanism. encoding rules provide enough of a standard application for mapping data to a variety of labels based on the performance of TAG. Finally, a RPC mechanism to provide enough distance call and they said the method return value. Whether your Web service is what tools, what language to write out, as long as you use SOAP protocol via HTTP to call it, are consistent with the overall structure. Typically, you use your own preferred language (such as VB 6 or ) to build your Web service, then use the SOAP Toolkit or. NET39。這就要求今天的企業(yè)解決方案具有廣泛的兼容能力,可以支持不同的系統(tǒng)平臺、數(shù)據(jù)格式和多種連接方式,要求在 Inter 環(huán)境下,實(shí)現(xiàn)系統(tǒng)是松散耦合的、跨平臺的,與語言無關(guān)的,與特定接口無關(guān)的,而且要提供對 Web 應(yīng)用程序的可靠訪問。 Web services 希望實(shí)現(xiàn)不同的系統(tǒng)之間能夠用 軟件 軟 件對話 的方式相互調(diào)用,打破了軟件應(yīng)用、網(wǎng)站和各種設(shè)備之間的格格不入的狀態(tài),實(shí)現(xiàn) 基于 WEB 無縫集成 的目標(biāo)。 Web 服務(wù)使用中性平臺標(biāo)準(zhǔn)(例如: HTTP 和 XML),這使我們可以對客戶完全隱藏執(zhí)行任務(wù)的細(xì)節(jié),客戶只需要知道這個服務(wù)的 URL或方法調(diào)用使用的數(shù)據(jù)類型,而不需要知道該任務(wù)到底是一個在 Linux 上運(yùn)行的還是一個在 Windows 上運(yùn)行的用 Java 編程的 服務(wù)。而對于 Web 服務(wù)來講, SOAP 協(xié)議又有何獨(dú)特的意義。 Web service 到底是什么;在什么情況下你應(yīng)該使用 Web service。這當(dāng)然不是因?yàn)槭芸蛻裟軌蛱峁└玫挠脩艚缑?,而是因?yàn)樗軌虮苊饣ㄔ谧烂鎽?yīng)用程序發(fā)布上的高成本。 傳統(tǒng)的 Windows 富客戶應(yīng)用程序使用 DCOM 來與服務(wù)器進(jìn)行通信和調(diào)用遠(yuǎn)程對象。事實(shí)上,許多 IT 工程師寧愿忍受瀏覽器所帶來的功能限制,也不愿在局域網(wǎng)上去運(yùn)行一個 DCOM。極端的說,就是你花了更多的資金和時(shí)間,卻開發(fā)出從用戶看來功能更弱的應(yīng)用程序。 關(guān)于客戶端與服務(wù)器的通信問題,一個完美的解決方法是使用 HTTP 協(xié)議來通信。同時(shí),當(dāng)前許多防火墻也配置為只允許 HTTP 連接 。一個典型的WS 過程是:一個業(yè)務(wù)應(yīng)用通過使用 HTTP 的 SOAP 協(xié)議向某個指定 URL 上的一個服務(wù)發(fā)出請求,這個服務(wù)接受并且處理該請求后返回一個響應(yīng)。這是最簡單的 WS 例子,其請求幾乎瞬間即可被滿足,請求和響應(yīng)是同一個方法調(diào)用的不同組成部分。其中,商店發(fā)出的請求中包含遞送的目的地,服務(wù)經(jīng)過處理后確定 成本最簡單對象訪問協(xié)議 SOAP 原理及抓包分析 3 低的配送線路。 WS 和 WS 的消費(fèi)者通常都是交易者,這使得 WS 的主流是企業(yè)對企業(yè)( B2B)間的業(yè)務(wù)處理。例如:對于一個香料批發(fā)企業(yè),當(dāng)他使用 WS 核對香草豆是否有活的時(shí)候,其角色時(shí) WS 的消費(fèi)者;當(dāng)他把不同賣主的價(jià)格提供給未來消費(fèi)者的時(shí)候,其角色又是 WS 的提供者。 服務(wù)請求者( Service Requester):從商務(wù)角度看,它是指需要請求特定功能的企業(yè),從體系結(jié)構(gòu)看,它是指查找和調(diào)用服務(wù)的客戶端應(yīng)用程序。它負(fù)責(zé)為服務(wù)提供方發(fā)布服務(wù),為服務(wù)請求方查找服務(wù),并且將獲取服務(wù)的信息綁定給請求 方。在發(fā)布操作中,服務(wù)提供者需要通過注冊服務(wù)器的神恩驗(yàn)證才能對服務(wù)描述信息進(jìn)行發(fā)布和修改。在查找操作中,一般有兩種查找模式。另一種是直接獲取模式( Drill Down Pattern),即通過惟一的關(guān)鍵詞直接得到特定服務(wù)的描述信息,其查找結(jié)果是唯一的。 對應(yīng)上述三種操作,給出了三種標(biāo)準(zhǔn)如下: SOAP( Simple Object Access Protocol,簡單對象訪問協(xié)議),它實(shí)現(xiàn)的是低層協(xié)議,定義了服務(wù)請求者和服務(wù)提供者 之間的消息傳輸規(guī)范。 SOAP 包括四部分:一是封皮,定義了描述消息和如何處理消息的框架;二是表達(dá)應(yīng)用程序定義的數(shù)據(jù)類型實(shí)例的編碼規(guī)則( SOAP 編碼規(guī)則);三是 SOAP RPC 表示,定義遠(yuǎn)程過程調(diào)用和應(yīng)答的協(xié)議;四是 SOAP 綁定( Bind),定義法如何使用底層傳輸協(xié)議進(jìn)行 SOAP 消息的交換。 WSDL 為服務(wù)提供者提供以 XML 格式描述 WS 請求的標(biāo)準(zhǔn)格式,將網(wǎng)絡(luò)服務(wù)描述為能夠進(jìn)行消息交換的通信端點(diǎn)的集合,以表達(dá)一個 WS 能做什么,它的位置在哪里,如何調(diào)用它等。 Web 服務(wù) Web 服務(wù)( Web Service)是基于 XML 和 HTTPS 的一種服務(wù),其通信協(xié)議主要基于 SOAP,服務(wù)的描述通過 WSDL,通過 UDDI 來發(fā)現(xiàn)和獲得服務(wù)的元數(shù)據(jù)?;ヂ?lián)網(wǎng)是 Web 服務(wù)器的集合體。這就是說,你能 夠用編程的方法通過 Web 來調(diào)用這個應(yīng)用程序。例如,你想創(chuàng)建一個Web service ,它的作用是返回當(dāng)前的天氣情況。要調(diào)用這個 ASP 頁面,客戶端需要發(fā)送下面的這個 HTTP GET請求: Web service 更精確的解釋: Web services 是建立可互操作的分布式應(yīng)用程序的新平臺。 COM 是一個非常好的組件技術(shù),但是我們也很容易舉出COM 并不能滿足要求的情況。如表 21 簡單對象訪問協(xié)議 SOAP 原理及抓包分析 5 表 21 Web服務(wù)器軟件 Web 服務(wù)器軟件 運(yùn)行環(huán)境 說明 IIS( Inter Information Serber) WindowsNT/2021 Serber 是在 Windows 系列網(wǎng)絡(luò)OS 的 NT 或 2021 上運(yùn)行的 Web 服務(wù)器軟件同 OS捆綁在一起或者實(shí)地安裝提供 ASP 環(huán)境的服務(wù)器有增加的傾向 Apache 主要是 UNIX 系列的 OS(也有對應(yīng)于WindowsNT/2021/98/Me) 是以 NCSA HTTPd 的 版本為基礎(chǔ),進(jìn)行了各種各樣的功能擴(kuò)展而發(fā)布了的 Web 服務(wù)器軟件之一 簡單對象訪問協(xié)議 SOAP 原理及抓包分析 6 3 SOAP 協(xié)議 SOAP 協(xié)議 隨著計(jì)算機(jī)技術(shù)的不斷發(fā)展,現(xiàn)代企業(yè)面臨的環(huán)境越來越復(fù)雜,其信息系統(tǒng)大多數(shù)為多平臺、多系統(tǒng)的復(fù)雜系統(tǒng)。 隨著異種計(jì)算環(huán)境的不斷增加,各種系統(tǒng)間的互操作性就愈顯得必要,要求系統(tǒng)能夠無縫地進(jìn)行通信和共享數(shù)據(jù),從而在 Inter 環(huán)境下,消除巨大的信息孤島,實(shí)現(xiàn)信息共享、進(jìn)行數(shù)據(jù)交換,達(dá)到信息的一致性。 今年四月份的時(shí)候, W3C 聯(lián)盟召開了第一次 Web 服務(wù)專題研討會,目的為探索 W3C 應(yīng)向哪個方向發(fā)展才能實(shí)現(xiàn)新興的 Web 服務(wù)架構(gòu)的標(biāo)準(zhǔn)化,期間提出了一個 Web 服務(wù)堆棧 的構(gòu)想,如下圖,從