公務(wù)員期刊網(wǎng) 精選范文 soap協(xié)議范文

soap協(xié)議精選(九篇)

前言:一篇好文章的誕生,需要你不斷地搜集資料、整理思路,本站小編為你收集了豐富的soap協(xié)議主題范文,僅供參考,歡迎閱讀并收藏。

soap協(xié)議

第1篇:soap協(xié)議范文

AMBA 3 高級(jí)擴(kuò)展界面(AXI)協(xié)議由于大幅度擴(kuò)展了AMBA 2.0片上總線的性能和靈活性,因而具備了更多的優(yōu)勢(shì),同時(shí)也增加了設(shè)計(jì)的復(fù)雜度。DesignWare IP為AMBA 3 AXI協(xié)議的解決方案讓設(shè)計(jì)者能快速、簡(jiǎn)便地集成此高速協(xié)議,同時(shí)降低了風(fēng)險(xiǎn),加快了設(shè)計(jì)周期。為AMBA 3 AXI協(xié)議的DesignWare IP解決方案提供了存取三種主要需求元件的權(quán)限,包括綜合實(shí)現(xiàn)IP、驗(yàn)證IP和使用Synopsys的CoreAssembler工具實(shí)現(xiàn)子系統(tǒng)自動(dòng)集成。在基于AMBA 3 AXI協(xié)議的下一代高速設(shè)計(jì)中,這三部分的組合使得設(shè)計(jì)人員能充分降低設(shè)計(jì)和驗(yàn)證時(shí)間。

技術(shù)背景――AMBA 3 AXI協(xié)議為了正確領(lǐng)會(huì)面向基于AMBA 3 AXI協(xié)議的工程設(shè)計(jì)挑戰(zhàn)的復(fù)雜性,我們必須理解AMBA 3 AXI協(xié)議自身的技術(shù)特點(diǎn)。AMBA 3 AXI協(xié)議是專門為實(shí)現(xiàn)下一代IC設(shè)計(jì),由包括Synopsys在內(nèi)的30多家公司合作開發(fā)的。AMBA 3 AXI協(xié)議定義了一種單向通道的架構(gòu),它能有效使用寄存器片斷實(shí)現(xiàn)管道的高速連接。它支持多重突發(fā)事務(wù)、完成無(wú)序處理事務(wù),和高效使用讀、寫和地址/控制操作的通道的聯(lián)系,能使系統(tǒng)具有較高的性能和效率。這種性能只受設(shè)備能力的限制。

AMBA 3 AXI協(xié)議:通道的作用AMBA 3 AXI協(xié)議的架構(gòu)和以前的AMBA協(xié)議有很大不同,因?yàn)樗肓送ǖ?。五個(gè)獨(dú)立通道均由一組信息信號(hào)組成,使用一種雙向“VALID”和“READY”的握手機(jī)制。當(dāng)通道具有有效數(shù)據(jù)或者控制信息時(shí),信息源使用“VALID”信號(hào)。目標(biāo)則使用“READY”信號(hào)表示可以接收數(shù)據(jù)。讀數(shù)據(jù)和寫數(shù)據(jù)的通道均包含“LAST”信號(hào)來(lái)表示最終的數(shù)據(jù)傳輸。讀和寫處理都有各自的地址通道。地址通道包含了某種事務(wù)處理所需要的所有地址和控制信息。讀數(shù)據(jù)的通道傳輸由從模塊到主模塊的讀數(shù)據(jù)和讀響應(yīng)信息。讀數(shù)據(jù)的通道包含了8、16、32、64、128、256、512或1024位的數(shù)據(jù)總線,以及用來(lái)表示讀處理過(guò)程完成狀態(tài)的讀響應(yīng)信息。寫數(shù)據(jù)的通道傳輸由主模塊到從模塊的寫數(shù)據(jù)和寫響應(yīng)信息。數(shù)據(jù)的通道包含了8、16、32、64、128、256、512或1024位的數(shù)據(jù)總線,同時(shí)對(duì)每8個(gè)數(shù)據(jù)位使用一個(gè)字節(jié)用來(lái)表示數(shù)據(jù)總線中哪個(gè)字節(jié)是有效的。支持非對(duì)齊的傳輸能更有效地使用總線以獲得更高的性能,更低的存取時(shí)間和更高帶寬。

AMBA 3 AXI的DesignWare IP解決方案隨著AMBA 3 AXI協(xié)議的復(fù)雜化,基于此協(xié)議的子系統(tǒng)的設(shè)計(jì)和驗(yàn)證成為一關(guān)鍵問(wèn)題,它需要大量的專門技術(shù)。DesignWare IP的解決方案專門為簡(jiǎn)化設(shè)計(jì)任務(wù),給工程師提供存取通用設(shè)計(jì)和驗(yàn)證IP模塊,以加快從模塊到子系統(tǒng)級(jí)別的實(shí)現(xiàn)和驗(yàn)證過(guò)程。另外,coreAssember工具可自動(dòng)集成子系統(tǒng)和測(cè)試實(shí)例。 設(shè)計(jì)人員使用為AMBA 3 AXI的DesignWare IP的解決方案可以快速集成,綜合和驗(yàn)證基于AMBA 3 AXI的設(shè)計(jì)。

為AMBA 3 AXI的DesignWare綜合IPDesignWare綜合IP是解決方案三部分的第一部分,它可以快速實(shí)現(xiàn)高帶寬,低存取時(shí)間和高性能的基于AMBA 3 AXI的設(shè)計(jì)。綜合IP包含三個(gè)關(guān)鍵元素:互連總線制造,AXI到AHB的橋,主模塊和從模塊的通用接口。這些是新建任何片上系統(tǒng)的基本構(gòu)建模塊,它們使設(shè)計(jì)人員易于實(shí)現(xiàn)基于AMBA 3 AXI的架構(gòu)。這些IP元件也能幫助已有IP和專門應(yīng)用模塊轉(zhuǎn)化為基于AMBA 3 AXI,從而保證了產(chǎn)品的高重用性。

為AMBA 3 AXI的DesignWare Interconnect Fabric(DW_axi)具有的特點(diǎn)使其目前為止是基于AMBA 3 AXI協(xié)議設(shè)計(jì)的標(biāo)準(zhǔn)互連制造的最佳方案。DW_axi靈活的配置為工程師提供了一系列特色來(lái)匹配他們的具有優(yōu)先順序的設(shè)計(jì)需求。DW_axi是AMBA 3 AXI協(xié)議的RTL級(jí)互連實(shí)現(xiàn),它可以同時(shí)實(shí)現(xiàn)不同主從模塊之間的傳輸。它能配置支持最多16對(duì)支持所有協(xié)議中指定的地址和數(shù)據(jù)寬度的主模塊和從模塊。DW_axi是基于多重地址、多重?cái)?shù)據(jù)總線架構(gòu)的,它有選項(xiàng)內(nèi)置于系統(tǒng)譯碼器。每個(gè)處理過(guò)程在地址通道包含有地址和控制信息,它們描述了所要傳輸?shù)臄?shù)據(jù)的自然狀態(tài)。數(shù)據(jù)在主模塊到從模塊之間傳輸時(shí),從模塊使用寫數(shù)據(jù)通道,主模塊使用讀數(shù)據(jù)通道。在寫處理過(guò)程中,所有數(shù)據(jù)均從主模塊流向從模塊,AMBA 3 AXI協(xié)議具有一個(gè)額外的寫響應(yīng)通道來(lái)允許從模塊給主模塊發(fā)出信號(hào)表示寫過(guò)程的完成。這種多層互連架構(gòu)允許在所有5個(gè)AMBA 3 AXI的通道的不同主/從模塊對(duì)之間進(jìn)行并行傳輸。因此其系統(tǒng)帶寬并不受DW_axi限制,而是受外部主從模塊的限制。

除了提供組合式地址和數(shù)據(jù)通道的控制以外,DW_axi提供了內(nèi)部和外部流水線操作,稱為寄存器分割(register slicing)。它能使設(shè)計(jì)人員可以得到盡可能高的工作頻率、帶寬和性能??膳渲玫膬?nèi)部和外部寄存器分割能應(yīng)用于單個(gè)的通道,無(wú)論是全路徑還是向前控制路徑,以提供時(shí)間和制造優(yōu)化性能的最大靈活性。為優(yōu)化SW_axi以獲得最佳性能和最小面積,它包含了一個(gè)從屬的可見特征,當(dāng)不是所有的從模塊對(duì)所有的主模塊是可見的情況下可以使用該特征。它定制主模塊的可見性用于對(duì)于正常和boot模式的從模塊的存取,結(jié)果使得任何邏輯的復(fù)雜度降低。這樣能以最少的邏輯得到優(yōu)化的性能。

AMBA 3 AXI協(xié)議的一個(gè)關(guān)鍵目標(biāo)是能互用已有的AMBA 2.0技術(shù)。為達(dá)到互用的目標(biāo),DesignWare IP解決方案包含了一個(gè)AMBA 3 AXI的橋梁,連接AMBA 2.0 AHB,稱為DW_axi_x2h。DW_axi_x2h支持和完整的基于AMBA 2.0的子系統(tǒng)之間的聯(lián)系,可以提供已有的基于AHB的子系統(tǒng)的復(fù)用。在lite模式中,單獨(dú)的受控元件可以直接連接至基于AMBA 3 AXI協(xié)議的總線。這種互用的一個(gè)明顯的優(yōu)點(diǎn)在于設(shè)計(jì)人員已經(jīng)擁有了大量的經(jīng)DesignWare驗(yàn)證的AMBA 2.0 AHB和APB的綜合IP和驗(yàn)證IP。它能提高復(fù)用的選擇,增加了設(shè)計(jì)人員用于有差異的設(shè)計(jì)的時(shí)間,而不用于通用子系統(tǒng)的創(chuàng)建和驗(yàn)證。DesignWare綜合IP解決方案包括了另外一些基于模塊的通用AMBA 2.0的設(shè)計(jì),比如AHB總線制造,DW_ahb,APB橋和制造,DW_apb,和一些設(shè)備,例如DMA、內(nèi)存控制器、I2C、SSI、GPTI、RTC,定時(shí)器和中斷控制器等。

還有一些可復(fù)用的基礎(chǔ)元件也易于實(shí)現(xiàn)基于AMBA 3 AXI協(xié)議設(shè)計(jì),它們就是DesignWare的為主模塊和從模塊的通用接口模塊,稱為DW_axi_gm/gs。DW_axi_gm/gs采用了一種通用的接口,減少了從定制的IP或者專用應(yīng)用模塊轉(zhuǎn)為基于AMBA 3 AXI協(xié)議的總線的時(shí)間。當(dāng)定制的應(yīng)用或者IP連接至基于AMBA 3 AXI的總線時(shí),設(shè)計(jì)人員不用擔(dān)心協(xié)議的細(xì)節(jié),因?yàn)镈W_axi/gs模塊能處理大部分AMBA 3 AXI接口的細(xì)節(jié)。當(dāng)使用通用的接口時(shí),一旦設(shè)計(jì)和AMBA 3 AXI的總線相連時(shí),設(shè)計(jì)人員可以有更多的時(shí)間專注于驗(yàn)證和檢查。

本文為全文原貌 未安裝PDF瀏覽器用戶請(qǐng)先下載安裝 原版全文

為AMBA 3 AXI的DesignWare Verification IPDesignWare IP的解決方案的第二部分是為AMBA 3 AXI的Synopsys的DesignWare驗(yàn)證IP(VIP)。通過(guò)引入更多產(chǎn)品驗(yàn)證的高級(jí)技術(shù),這些驗(yàn)證IP提供了一種快速有效的方法來(lái)驗(yàn)證基于AMBA 3 AXI的片上系統(tǒng)。AMBA 3 AXI的DesignWare的驗(yàn)證IP包含以下元件:主模塊、從模塊、監(jiān)視器和驗(yàn)證互連。每個(gè)元件均支持所有的AMBA 3 AXI的地址和數(shù)據(jù)寬度,以及所有協(xié)議傳輸和響應(yīng)的字節(jié)。VIP的主模塊和從模塊用于產(chǎn)生和響應(yīng)處理事務(wù)。驗(yàn)證互連能產(chǎn)生一個(gè)具有完整互連功能的子系統(tǒng),以幫助在模塊級(jí)對(duì)多重模塊相互作用的集成過(guò)程中的測(cè)試。驗(yàn)證IP包含完整的命令集,它可以完成定向事務(wù)處理,基于level命令的測(cè)試。驗(yàn)證IP將迅速修正互連錯(cuò)誤,功能錯(cuò)誤,通過(guò)特殊例子的測(cè)試。

驗(yàn)證IP已經(jīng)獲得AMBA3所確認(rèn)的認(rèn)證標(biāo)志。這個(gè)標(biāo)志表示DesignWare驗(yàn)證IP已被證明能正確實(shí)現(xiàn)于AMBA 3 AXI的規(guī)范系統(tǒng),此系統(tǒng)是由來(lái)自ARM公司的規(guī)則集合所組成的基于斷言的AXI測(cè)試系統(tǒng)。當(dāng)驗(yàn)證IP被應(yīng)用于模塊級(jí),對(duì)于工程師,這些模塊的接口可以保證和AMBA 3 AXI協(xié)議規(guī)范一致。 由于這些模塊均已證明在AMBA 3 AXI上的正確性,因此設(shè)計(jì)人員能輕易在模塊級(jí)集成最終的子系統(tǒng)。DesignWare的驗(yàn)證IP除了能用于創(chuàng)建現(xiàn)實(shí)的應(yīng)用系統(tǒng)外,還能被用于在子系統(tǒng)級(jí)進(jìn)行完全測(cè)試主模塊和從模塊之間作用。使用這些IP可以確定符合AMBA 3 AXI協(xié)議規(guī)范。

DesignWare驗(yàn)證IP和參考驗(yàn)證方法DesignWare驗(yàn)證IP采用重用分層的、覆蓋驅(qū)動(dòng)的、隨機(jī)約束的驗(yàn)證方法,它可用于快速產(chǎn)生上千種傳輸過(guò)程。

帶約束的隨機(jī)驗(yàn)證的生成是通過(guò)Synopsys的參考驗(yàn)證方法(RVM)定義的。RVM是在驗(yàn)證方法手冊(cè)中目前可以獲取的最好的實(shí)踐方法。它為自動(dòng)產(chǎn)生處理事務(wù)來(lái)強(qiáng)調(diào)協(xié)議組合的最大數(shù)目制定了一種強(qiáng)大的方法。隨機(jī)約束、覆蓋驅(qū)動(dòng)的方法相比于傳統(tǒng)的定向測(cè)試方法,可以為大而復(fù)雜的設(shè)計(jì)提供更好的產(chǎn)品和質(zhì)量的驗(yàn)證。在定向測(cè)試的方法下,工程師通過(guò)寫單個(gè)的測(cè)試來(lái)驗(yàn)證特殊的設(shè)計(jì)特點(diǎn)。此方法耗時(shí)巨大,尤其對(duì)于擁有大量相互作用的復(fù)雜設(shè)備更是可觀。慢慢地,設(shè)計(jì)往往在達(dá)到驗(yàn)證質(zhì)量目標(biāo)前就流片,因而加大了提高成本的可能。

通過(guò)一種隨機(jī)約束、覆蓋驅(qū)動(dòng)的方法,工程師可以為設(shè)計(jì)寫出描述實(shí)際輸入情形的高級(jí)的約束。先進(jìn)的驗(yàn)證工具和驗(yàn)證IP將使用這些約束自動(dòng)產(chǎn)生成千種測(cè)試校驗(yàn)實(shí)例而不用工程師去設(shè)計(jì)。功能覆蓋用于指導(dǎo)驗(yàn)證和測(cè)量過(guò)程。它可以使驗(yàn)證質(zhì)量目標(biāo)可以在流片之前較容易達(dá)到,即使對(duì)于更復(fù)雜的設(shè)計(jì)也是如此。參考驗(yàn)證方法建于一種能重用的架構(gòu)之上,用于實(shí)現(xiàn)帶約束的隨機(jī)驗(yàn)證環(huán)境,它能使模塊級(jí)的測(cè)試重用于模塊級(jí)、子系統(tǒng)級(jí)和多重項(xiàng)目之間。RVM驅(qū)動(dòng)的驗(yàn)證IP意味著設(shè)計(jì)人員只需寫最少的代碼,即可按順序產(chǎn)生成千上萬(wàn)的測(cè)試,通過(guò)實(shí)際的總線流量足以強(qiáng)調(diào)模塊或子系統(tǒng)?;赟ynopsys的RVM的環(huán)境提供了對(duì)于所有的驗(yàn)證元件一種統(tǒng)一的接口,它極易理解,而且能加快地在其他的項(xiàng)目之間重用。

為加快一個(gè)基于AMBA 3 AXI協(xié)議系統(tǒng)的驗(yàn)證,DesignWare驗(yàn)證IP應(yīng)被用來(lái)依次驗(yàn)證單個(gè)的元件接口,子系統(tǒng),最終是完整的系統(tǒng)。在模塊級(jí),驗(yàn)證IP可產(chǎn)生有效準(zhǔn)確的激勵(lì)以測(cè)試AMBA 3 AXI接口的應(yīng)用。如果測(cè)試是根據(jù)RVM指南生成的,此級(jí)別的測(cè)試可以在子系統(tǒng)級(jí)再次運(yùn)行。由于DesignWare為AMBA 3 AXI的驗(yàn)證IP均以通過(guò)AMBA3認(rèn)證,設(shè)計(jì)人員可以對(duì)于驗(yàn)證過(guò)程的質(zhì)量足夠放心。

一個(gè)原始的基于AMBA 3 AXI的子系統(tǒng)的有效驗(yàn)證可以用許多松散連接的IP和DesignWare驗(yàn)證IP的設(shè)計(jì)模塊來(lái)實(shí)現(xiàn)。這樣可使互連、處理事務(wù)和特征能很快被驗(yàn)證,同時(shí)很快創(chuàng)建一套高覆蓋率的測(cè)試。DesignWare驗(yàn)證IP的主模塊和從模塊被用于替代元件,這樣主模塊的VIP即可用于創(chuàng)建定向和約束的隨機(jī)驗(yàn)證事務(wù)。這種方法允許快速地創(chuàng)建子系統(tǒng)的激勵(lì)和響應(yīng),可以快速解決任何設(shè)計(jì)互連的問(wèn)題。DesignWare驗(yàn)證IP的監(jiān)視器被用于檢查是否適應(yīng)AMBA的需求以及提供和基于測(cè)試標(biāo)準(zhǔn)的得分板(scoreboard)的直接接口。

得分板實(shí)質(zhì)是測(cè)試程序的一個(gè)模塊,可提供一種自動(dòng)智能的方法跟蹤事務(wù)、覆蓋和數(shù)據(jù)流。對(duì)于數(shù)據(jù),它可設(shè)置為跟蹤源標(biāo)準(zhǔn)數(shù)據(jù)并比較目標(biāo)數(shù)據(jù)來(lái)為所測(cè)試的數(shù)據(jù)路徑產(chǎn)生一個(gè)通過(guò)或失敗的標(biāo)準(zhǔn)。得分板和DesignWare驗(yàn)證IP的監(jiān)視器直接相連,以使所有的事務(wù)和覆蓋數(shù)據(jù)被提取,捕獲和驗(yàn)證。使用DesignWare驗(yàn)證IP監(jiān)視器的優(yōu)點(diǎn)在于當(dāng)主模塊和從模塊的驗(yàn)證IP被刪除或者被系統(tǒng)級(jí)別測(cè)試的真實(shí)RTL替代時(shí),相同的基于得分板的驗(yàn)證環(huán)境可以繼續(xù)使用。當(dāng)監(jiān)視器為無(wú)源元件時(shí),它們可以用于整個(gè)驗(yàn)證周期。

為了進(jìn)一步加快驗(yàn)證過(guò)程,在模塊和子系統(tǒng)級(jí)的環(huán)境中應(yīng)該加入斷言IP從而能使用formal和hybrid formal的驗(yàn)證工具,例如Synopsys的magllan工具。驗(yàn)證環(huán)境應(yīng)包括驗(yàn)證IP和斷言IP。驗(yàn)證IP監(jiān)視器提供了高級(jí)模擬特征,例如:cross-port的覆蓋和得分板通告。由于ARM提供定義了斷言的IP作為可執(zhí)行規(guī)范,所以它可以作為參考的標(biāo)準(zhǔn)結(jié)果。所有的DesignWare的驗(yàn)證IP元件已經(jīng)通過(guò)ARM提供的作為AMBA3確認(rèn)認(rèn)證過(guò)程的一部分的斷言IP的驗(yàn)證。此外,DesignWare驗(yàn)證IP的監(jiān)視器可以幫忙確定何時(shí)驗(yàn)證完成,通過(guò)跟蹤和記錄每個(gè)事務(wù),提供覆蓋信息,給出違反規(guī)范的錯(cuò)誤和警告。

驗(yàn)證的最后一階段就是完整系統(tǒng)級(jí)別的驗(yàn)證。在此階段,必須包括對(duì)于松散連接應(yīng)用的元件的RTL和IP。外部接口必須經(jīng)過(guò)驗(yàn)證,其他的DesignWare驗(yàn)證IP此時(shí)可以用來(lái)減少系統(tǒng)級(jí)測(cè)試的負(fù)擔(dān)。設(shè)計(jì)人員能廣泛使用DesignWare Verificaion IP,它是作為VCS Verification Library的一部分,DesignWare Library產(chǎn)品包括PCI Express?、串行IO、I2C、以太網(wǎng)、USB、USB-OTG以及成千上萬(wàn)種基于存儲(chǔ)器的模型。DesignWare Verification IP中為ABMA 3 AXI的主模塊仍應(yīng)用于產(chǎn)生激勵(lì)因?yàn)樵甲酉到y(tǒng)的測(cè)試能立即重用。另外的DesignWare Verification IP 還可以直接和得分板一起提供完整的智能驗(yàn)證平臺(tái)。

驗(yàn)證工程師也希望盡可能快地模擬驗(yàn)證設(shè)計(jì)、標(biāo)準(zhǔn)測(cè)試、驗(yàn)證IP和斷言IP。Synopsys VCS?模擬器可得到很高的模擬性能。VCS把完整的設(shè)計(jì)環(huán)境、設(shè)計(jì)、標(biāo)準(zhǔn)測(cè)試、驗(yàn)證IP和斷言IP優(yōu)化成單個(gè)統(tǒng)一的內(nèi)核。這單個(gè)編譯的內(nèi)核能消除傳統(tǒng)模擬環(huán)境中經(jīng)常出現(xiàn)的通信和同步的問(wèn)題。此方法具有5倍或者更多的模擬性能提高。對(duì)于驗(yàn)證工程,這意味著以前需5天運(yùn)行的測(cè)試現(xiàn)在可以在1天以內(nèi)完成。工程師能有更多的時(shí)間確保覆蓋數(shù)目,提高最終設(shè)計(jì)的信心。

集成一體:DesignWare IP和Synopsys的coreAssembler工具DesignWare IP的解決方案的第三部分,是Synopsys的coreAssembler工具。當(dāng)DesignWare Library IP和coreAssembler工具一起使用時(shí),設(shè)計(jì)人員可在更少的時(shí)間內(nèi)自動(dòng)集成模擬和綜合基于AMBA的子系統(tǒng)。coreAssembler工具能使子系統(tǒng)自動(dòng)生成設(shè)計(jì)和AMBA 3 AXI和AMBA 2.0 AHB/APB元件的模塊集成。coreAsembler工具可減少含有DesignWare IP的專用子系統(tǒng)的生成時(shí)間。這再次讓設(shè)計(jì)人員可以專注于產(chǎn)品的其他測(cè)試或者差異性設(shè)計(jì)。coreAssembler工具完全支持“在工具流程內(nèi)專為封裝、集成和重用IP的結(jié)構(gòu)”,SPIRIT,格式,適合SPIRIT的第三部分和定制IP模塊能輕而易舉地封裝到裝配子系統(tǒng)。

本文為全文原貌 未安裝PDF瀏覽器用戶請(qǐng)先下載安裝 原版全文

在打包DesignWare的可綜合IP和驗(yàn)證IP時(shí)使用了“裝配導(dǎo)向技術(shù)”。這是內(nèi)置的專門協(xié)議技術(shù),能使coreAssembler自動(dòng)完成IP模塊的相互連接。Synopsys集成的專門技術(shù)是從AMBA IP和基于AMBA子系統(tǒng)的創(chuàng)建中多年形成的。它支持任何AMBA 3 AXI或者AMBA 2.0或者多層子系統(tǒng)的配置,另外還支持AMBALITE的配置。例如,設(shè)計(jì)人員具有AMBA 3 AXI互連的制造和AMBA 3 AXI到AMBA 2 AHB的橋元件,coreAssebler內(nèi)置的集成系統(tǒng)可以自動(dòng)將兩個(gè)AMBA 3 AXI接口連接集成。這種自動(dòng)構(gòu)造方法可以消除印制產(chǎn)生線的錯(cuò)誤。所有的DesignWare Library 綜合IP元件和這種設(shè)計(jì)技術(shù)一起捆綁,還有一套缺省的參數(shù)。因此,產(chǎn)生一個(gè)子系統(tǒng)的初始設(shè)計(jì)就簡(jiǎn)單到只需點(diǎn)幾下鼠標(biāo),選擇幾個(gè)下拉菜單以及配置一些子系統(tǒng)參數(shù)即可完成。

coreAssembler通過(guò)設(shè)計(jì)參數(shù)和系統(tǒng)級(jí)別參數(shù)的交叉?zhèn)鞑ヒ灾С謱哟问皆O(shè)計(jì)的方法,可以避免多重IP的錯(cuò)誤配置。這些參數(shù),例如地址和數(shù)據(jù)寬度,可以在頂層被鎖住,然后傳播至低層次的IP模塊,可確保避免IP模塊的錯(cuò)誤配置。這種內(nèi)置的自動(dòng)化的參數(shù)檢查消除了IP配置錯(cuò)誤的出現(xiàn)幾率,能大大減少子系統(tǒng)調(diào)試的時(shí)間。工程師能越快地完成第一個(gè)子系統(tǒng)的模擬和運(yùn)行時(shí)間,驗(yàn)證工程師就有越多的時(shí)間來(lái)驗(yàn)證子系統(tǒng)需求功能的實(shí)現(xiàn)。

為得到最優(yōu)化的綜合結(jié)果,coreAssembler能自動(dòng)運(yùn)行Synopsys的綜合工具,包括PhysicalCompiler?和Design Compiler?。設(shè)計(jì)人員可以從多種綜合方法中選擇,例如面積-時(shí)延、時(shí)延-面積、ACS和低功耗優(yōu)化等等流程。coreAssembler 也可以將用戶定義的流程集成到其自動(dòng)化的流程中。

為減少第一次模擬的時(shí)間,coreAssembler自動(dòng)創(chuàng)建一個(gè)驗(yàn)證的基礎(chǔ)架構(gòu),其包括DesignWare Verification IP專門達(dá)到集成子系統(tǒng)的目標(biāo)。另外產(chǎn)生這個(gè)架構(gòu)的同時(shí),工具也產(chǎn)生DesignWare Verification IP用來(lái)測(cè)試子系統(tǒng)的激勵(lì)。目前,這些還是簡(jiǎn)單的基礎(chǔ)測(cè)試,例如寫入一個(gè)IP元件的寄存器,再讀出來(lái)保證寫入的內(nèi)容的正確性。雖然這些看似容易,但其確是很多子系統(tǒng)設(shè)計(jì)的第一個(gè)里程碑,在傳統(tǒng)的子系統(tǒng)開發(fā)過(guò)程中,通常需要幾周的時(shí)間。使用DesignWare Library IP和coreAssembler流程,子系統(tǒng)的基礎(chǔ)測(cè)試可在幾個(gè)小時(shí)之內(nèi)完成。

自動(dòng)化的流程也使設(shè)計(jì)新手變得很容易上手。比如,子系統(tǒng)以前是以32位數(shù)據(jù)線設(shè)計(jì),而設(shè)計(jì)師在最后一分鐘決定需要使用64位數(shù)據(jù)總線以達(dá)到性能的要求。在傳統(tǒng)的設(shè)計(jì)流程中,工程師需要重新配置和修改很多RTL文件,它需要花費(fèi)自己很多的時(shí)間,也許還會(huì)出現(xiàn)許多錯(cuò)誤。而使用coreAssembler流程中,只需要通過(guò)一個(gè)在頂層一個(gè)參數(shù)的簡(jiǎn)單修改就可以完成,這個(gè)修改可以自動(dòng)地傳遞到所有低層次的模塊中。新的RTL代碼會(huì)重新自動(dòng)產(chǎn)生,同時(shí)也生成新的測(cè)試架構(gòu)的文件。

總結(jié)

第2篇:soap協(xié)議范文

WebServices的基本元素是可擴(kuò)展標(biāo)記語(yǔ)言(ExtensibleMarkupLanguage,XML)、SOAP、Web服務(wù)描述語(yǔ)言(WebServicesDescriptionLanguage,WSDL)。XML用來(lái)編解碼數(shù)據(jù),SOAP用來(lái)傳輸數(shù)據(jù),WSDL用來(lái)描述WebServices及如何訪問(wèn)WebServices。XML與超文本標(biāo)記語(yǔ)言(HypertextMarkupLanguage,HTML)一樣,都是標(biāo)準(zhǔn)通用標(biāo)記語(yǔ)言(StandardGeneralizedMarkupLanguage,SGML)。XML是Internet環(huán)境中跨平臺(tái)的依賴于內(nèi)容的技術(shù),是當(dāng)前處理結(jié)構(gòu)化文檔信息的有力工具。SOAP是一種簡(jiǎn)單的基于XML的協(xié)議,使應(yīng)用程序通過(guò)超文本傳送協(xié)議(hypertexttransportprotocol,HTTP)交換信息。WSDL是基于XML的用來(lái)描述WebServices及如何訪問(wèn)WebServices的一種語(yǔ)言。WSDL可描述WebServices,用于WebServices的消息格式和協(xié)議的細(xì)節(jié)。使用WebServices技術(shù)作為接口技術(shù)的基礎(chǔ)有以下優(yōu)點(diǎn)。1)數(shù)據(jù)交換。WebServices使數(shù)據(jù)交換更方便,實(shí)現(xiàn)跨防火墻的通信,以一種最簡(jiǎn)單的方式實(shí)現(xiàn)異構(gòu)系統(tǒng)間的互通信和數(shù)據(jù)交換,且能跨平臺(tái)。2)數(shù)據(jù)封裝。WebServices使用XML對(duì)數(shù)據(jù)封裝,使用者能且僅能看到該對(duì)象提供的功能列表。3)應(yīng)用程序集成。不同編程語(yǔ)言編寫的應(yīng)用程序通常都有一定的應(yīng)用環(huán)境,集成起來(lái)會(huì)有很多技術(shù)壁壘,需要花費(fèi)較多資源才能實(shí)現(xiàn)。通過(guò)WebServices,應(yīng)用程序可用標(biāo)準(zhǔn)的方法把功能和數(shù)據(jù)“暴露”出來(lái),供其他應(yīng)用程序使用,簡(jiǎn)單方便。4)低成本。在實(shí)際項(xiàng)目中的開發(fā)成本最低,無(wú)論從軟件開發(fā)人員的培訓(xùn)和WebServices產(chǎn)品的購(gòu)買都較廉價(jià)。

2接口的技術(shù)方案

2.1采用基于中間數(shù)據(jù)庫(kù)視圖方式

根據(jù)需要對(duì)外發(fā)送的數(shù)據(jù),組織SQL語(yǔ)句,把結(jié)果以數(shù)據(jù)庫(kù)視圖的方式建立。其他系統(tǒng)的接口程序通過(guò)分配具有一定權(quán)限的賬戶,訪問(wèn)中間數(shù)據(jù)庫(kù)視圖獲取數(shù)據(jù)。該方式的優(yōu)點(diǎn):程序可自由訪問(wèn)數(shù)據(jù)庫(kù),訪問(wèn)的內(nèi)容和訪問(wèn)的組合方式均可由應(yīng)用程序自定義,并且可自定義SQL語(yǔ)句組織查詢結(jié)果。缺點(diǎn):數(shù)據(jù)庫(kù)安全性差,非系統(tǒng)內(nèi)部程序可直接接觸到數(shù)據(jù)庫(kù)層面,對(duì)信息保密有隱患。

2.2采用基于REST風(fēng)格服務(wù)方式

表述性狀態(tài)轉(zhuǎn)移(RepresentationalStateTrans-fer,REST)代表了分布式超媒體系統(tǒng)的體系結(jié)構(gòu)風(fēng)格,是一種針對(duì)網(wǎng)絡(luò)應(yīng)用的設(shè)計(jì)和開發(fā)方式,可降低開發(fā)的復(fù)雜性,提高系統(tǒng)的可伸縮性。REST提出一些設(shè)計(jì)概念和準(zhǔn)則:①網(wǎng)絡(luò)上的所有事物都被抽象為資源;②每個(gè)資源對(duì)應(yīng)一個(gè)唯一的資源標(biāo)識(shí);③通過(guò)通用的連接器接口對(duì)資源進(jìn)行操作;④對(duì)資源的各種操作不會(huì)改變資源標(biāo)識(shí);⑤所有操作都是無(wú)狀態(tài)的。該方式的優(yōu)點(diǎn):可利用緩存提高相應(yīng)速度。通信本身的無(wú)狀態(tài)性能使不同的服務(wù)器處理一系列請(qǐng)求中的不同請(qǐng)求,提高服務(wù)器可擴(kuò)展性。瀏覽器可作為客戶端,簡(jiǎn)化軟件需求。缺點(diǎn):安全性比SOAP低。對(duì)HTTP的依賴性高,需要通過(guò)HTTP的返回碼區(qū)分返回結(jié)果。

2.3用基于SOAP協(xié)議的WebServices調(diào)用方式

SOAP可以和現(xiàn)存的多種因特網(wǎng)協(xié)議和格式結(jié)合使用,包括HTTP,簡(jiǎn)單郵件傳輸協(xié)議(SimpleMailTransferProtocol,SMTP),多用途網(wǎng)際郵件擴(kuò)充協(xié)議(MultipurposeInternetMailExtensions,MIME)。還支持從消息系統(tǒng)到遠(yuǎn)程過(guò)程調(diào)用協(xié)議(RemoteProcedureCallProtocol,RPC)等大量的應(yīng)用程序。該方式具備以下優(yōu)點(diǎn)。1)具有可擴(kuò)展性。SOAP客戶端、服務(wù)器和協(xié)議自身均能吸納新技術(shù)不斷發(fā)展,而且升級(jí)更新時(shí)也不必中斷已有的應(yīng)用程序。2)SOAP調(diào)用簡(jiǎn)單??蛻舳酥恍璋l(fā)送一個(gè)請(qǐng)求,服務(wù)器獲取請(qǐng)求后調(diào)用相應(yīng)的對(duì)象,然后把調(diào)用的結(jié)果返回給客戶端,完成一次調(diào)用交互。3)SOAP完全和廠商無(wú)關(guān),與編程語(yǔ)言、平臺(tái)無(wú)關(guān)。缺點(diǎn):較復(fù)雜,對(duì)于大量并發(fā)應(yīng)用,效率不高。根據(jù)以上方案的比較,結(jié)合智能電網(wǎng)通信管理系統(tǒng)對(duì)接口方面的要求,綜合利弊,采用基于SOAP的WebServices方式實(shí)現(xiàn)接口功能。

3接口的設(shè)計(jì)與解析

3.1功能結(jié)構(gòu)

智能電網(wǎng)通信管理系統(tǒng)接口軟件(以下簡(jiǎn)稱接口)采用接口調(diào)用方主動(dòng)發(fā)起數(shù)據(jù)請(qǐng)求,接口提供方返回相應(yīng)請(qǐng)求數(shù)據(jù)的應(yīng)答模式。接互示意如圖1所示。

3.2技術(shù)約定

為保證不同廠家開發(fā)的接口服務(wù)端和客戶端軟件能順利實(shí)現(xiàn)接口調(diào)用,對(duì)WebServices具體接口實(shí)現(xiàn)過(guò)程作出如下規(guī)范及版本約定:1)整個(gè)接口消息基于XML語(yǔ)言,必須符合XMLV1.0(及更高版本)規(guī)范和XMLSchema(及更高版本)規(guī)范;2)接口實(shí)現(xiàn)必須使用SOAP協(xié)議,接口描述必須使用WSDL語(yǔ)言;3)接口實(shí)現(xiàn)方必須向接口調(diào)用方提供本端服務(wù)的WSDL文件,建議使用WebURL方式實(shí)時(shí)提供;4)接口實(shí)現(xiàn)必須符合SOAPV1.1版本規(guī)范,高版本SOAP協(xié)議必須保證與1.1版本的兼容性;5)接口實(shí)現(xiàn)必須至少支持SOAP在HTTPV1.0協(xié)議上的傳輸;6)接口實(shí)現(xiàn)必須符合WSDLV1.1版本規(guī)范,高版本W(wǎng)SDL語(yǔ)言必須保證與1.1版本的兼容性;7)接口描述必須至少支持WSDL在SOAPV1.1協(xié)議上的綁定;8)接口實(shí)現(xiàn)必須支持WS-IBasicProfileV1.0(及更高版本)互聯(lián)互通協(xié)議。

4結(jié)語(yǔ)

第3篇:soap協(xié)議范文

1系統(tǒng)概述

企業(yè)服務(wù)總線的核心是由消息監(jiān)聽器、適配器、協(xié)議轉(zhuǎn)換器、消息路由器和服務(wù)調(diào)度器五部分組成.協(xié)議轉(zhuǎn)換作為企業(yè)服務(wù)總線的核心功能之一,可以為注冊(cè)到企業(yè)服務(wù)總線上的服務(wù)提供者和服務(wù)請(qǐng)求者提供可靠的交互服務(wù).ESB系統(tǒng)總體框架圖如圖1所示.企業(yè)服務(wù)總線的主要功能包括如下部分:1.消息監(jiān)聽功能:監(jiān)聽基于不同協(xié)議的消息.2.服務(wù)請(qǐng)求者與服務(wù)提供者之間的應(yīng)用協(xié)議的轉(zhuǎn)換:如果服務(wù)請(qǐng)求消息基于的協(xié)議與服務(wù)提供者所注冊(cè)的協(xié)議不同或者服務(wù)提供者所提供的服務(wù)消息是服務(wù)請(qǐng)求者無(wú)法解析,則需要對(duì)該協(xié)議進(jìn)行轉(zhuǎn)換.3.服務(wù)之間的消息轉(zhuǎn)發(fā)(路由):把請(qǐng)求消息轉(zhuǎn)發(fā)到目標(biāo)的服務(wù)地址.4.服務(wù)定位:查找服務(wù)的目標(biāo)地址.5.服務(wù)安全:對(duì)請(qǐng)求消息進(jìn)行認(rèn)證授權(quán).在企業(yè)服務(wù)總線中,協(xié)議轉(zhuǎn)換器主要功能就是如果請(qǐng)求消息基于的協(xié)議與服務(wù)者所采用的協(xié)議不同,則需要對(duì)該協(xié)議進(jìn)行轉(zhuǎn)換.

2協(xié)議轉(zhuǎn)換器的需求分析

各個(gè)系統(tǒng)在需要與其他系統(tǒng)交互的時(shí)候,要通過(guò)調(diào)用ESB來(lái)訪問(wèn)目標(biāo)系統(tǒng)提供的服務(wù)接口獲取數(shù)據(jù),完成業(yè)務(wù)操作.各應(yīng)用系統(tǒng)作為服務(wù)消費(fèi)方在調(diào)用ESB的時(shí)候,需要明確每個(gè)參數(shù)代表的含義,按照參數(shù)書寫格式要求來(lái)發(fā)送參數(shù),然后ESB會(huì)自動(dòng)調(diào)用消費(fèi)方服務(wù).但連接到ESB上的服務(wù)請(qǐng)求者和服務(wù)提供者可能采用不同的應(yīng)用協(xié)議,針對(duì)不同的應(yīng)用協(xié)議,ESB的監(jiān)聽器接收到的請(qǐng)求消息有不同的協(xié)議格式.如果ESB能夠支持現(xiàn)有的各種通信協(xié)議,那么對(duì)消息的處理就完全不考慮傳輸細(xì)節(jié),而直接通過(guò)消息請(qǐng)求和獲取服務(wù).如果沒有將一種協(xié)議轉(zhuǎn)換為另一種協(xié)議的工具,則服務(wù)請(qǐng)求者很難與給定的服務(wù)提供者進(jìn)行通信.與此需求相關(guān)的需求是使用者的數(shù)據(jù)格式可能與服務(wù)提供者使用的數(shù)據(jù)格式不同.因此,需要一種能夠提供此轉(zhuǎn)換的工具.

關(guān)鍵技術(shù)

1基本定義

SOAP即簡(jiǎn)單對(duì)象訪問(wèn)協(xié)議,是一個(gè)輕量級(jí)的、簡(jiǎn)單的、基于XML進(jìn)行信息交換的通信協(xié)議.它可以和現(xiàn)存的許多因特網(wǎng)協(xié)議進(jìn)行結(jié)合使用,包括HTTP,SMTP.JMS是實(shí)現(xiàn)JAVA領(lǐng)域遠(yuǎn)程通信的一種手段和方法,是個(gè)遠(yuǎn)程通信協(xié)議,在其他的語(yǔ)言體系中也存在著類似JMS的東西,可以統(tǒng)一的將這類機(jī)制稱為消息機(jī)制.XML(ExtensibleMarkupLanguage)即可擴(kuò)展標(biāo)記語(yǔ)言,它是萬(wàn)維網(wǎng)協(xié)會(huì)的XML工作小組所定義的可擴(kuò)展標(biāo)記語(yǔ)言,是一組規(guī)則與準(zhǔn)則的集合.XML作為通用的、自解釋的數(shù)據(jù)交換格式,已成為大多數(shù)應(yīng)用程序所采用,XML技術(shù)可以有效地解決不同協(xié)議下的數(shù)據(jù)之間的共享與交互.

XML現(xiàn)在已經(jīng)成為一種通用的數(shù)據(jù)交換格式,它的平臺(tái)無(wú)關(guān)性,語(yǔ)言無(wú)關(guān)性,系統(tǒng)無(wú)關(guān)性,給數(shù)據(jù)集成與交互帶來(lái)了極大的方便.XML是從標(biāo)準(zhǔn)通用標(biāo)記語(yǔ)言(SGML)中簡(jiǎn)化修改出來(lái)的.XML將SGML的靈活性和強(qiáng)大功能與已經(jīng)被廣泛采用的HTML結(jié)合起來(lái),簡(jiǎn)化了計(jì)算機(jī)對(duì)文檔和數(shù)據(jù)交換的處理,使得現(xiàn)有的協(xié)議和軟件更為協(xié)調(diào),從而簡(jiǎn)化了數(shù)據(jù)的處理和傳輸.使用XML標(biāo)記語(yǔ)言可以做到數(shù)據(jù)或數(shù)據(jù)結(jié)構(gòu)在任何編程語(yǔ)言環(huán)境下的共享.XML最大的優(yōu)勢(shì)在于它能對(duì)各種編程語(yǔ)言編寫的數(shù)據(jù)進(jìn)行管理,使得在任何平臺(tái)下都能通過(guò)解析器來(lái)讀取XML數(shù)據(jù).XML標(biāo)記語(yǔ)言的語(yǔ)法非常簡(jiǎn)單,可以通過(guò)解析器在任何機(jī)器上解讀.并可以在各種計(jì)算機(jī)平臺(tái)上使用.逐漸成為一種數(shù)據(jù)交換的語(yǔ)言.

2協(xié)議轉(zhuǎn)換思想

ESB支持廣泛使用的協(xié)議(HTTP,JMS,SOAP等等).目前,我們?cè)O(shè)計(jì)的ESB系統(tǒng)支持的協(xié)議有:HTTP、SOAP和JMS協(xié)議,以后還將對(duì)其進(jìn)行擴(kuò)展.協(xié)議轉(zhuǎn)換模型用于當(dāng)服務(wù)的請(qǐng)求者與服務(wù)提供者基于不同協(xié)議時(shí)的消息轉(zhuǎn)換.消息監(jiān)聽部分監(jiān)聽到消息后,對(duì)其進(jìn)行適配,然后將其傳遞給協(xié)議轉(zhuǎn)換部分,協(xié)議轉(zhuǎn)換器主要負(fù)責(zé)將采用不同協(xié)議的消息轉(zhuǎn)換成內(nèi)部標(biāo)準(zhǔn)消息,經(jīng)由消息路由器路由后將其封裝成目標(biāo)方要求的協(xié)議形式的消息傳遞到目標(biāo)方.在進(jìn)行協(xié)議轉(zhuǎn)換時(shí),標(biāo)準(zhǔn)消息的內(nèi)容主要由以下幾部分組成:用戶名、角色類型、IP地址、端口號(hào)、消息的狀態(tài)、消息的尋址信息和業(yè)務(wù)數(shù)據(jù).

網(wǎng)絡(luò)上傳輸?shù)南⒌膬?nèi)容常常分為消息頭和消息體,如應(yīng)用層的HTTP、SOAP、JMS消息.業(yè)務(wù)相關(guān)內(nèi)容存入消息體中,消息頭中包含與業(yè)務(wù)無(wú)關(guān)的管理信息,比如消息的優(yōu)先級(jí)、序列號(hào)、地址信息等.因此,對(duì)消息進(jìn)行解析時(shí),可以對(duì)其消息頭和消息體分別進(jìn)行解析.譬如SOAP消息都使用XML形式編碼.處理接收到的SOAP消息應(yīng)該有兩個(gè)步驟,首先,識(shí)別應(yīng)用程序需要的SOAP消息的頭部分;其次,識(shí)別應(yīng)用程序需要的SOAP消息體部分;最后,檢驗(yàn)該SOAP消息是否滿足要求,即消息的目的地址、參數(shù)信息等是否和目標(biāo)地址名稱、參數(shù)等相對(duì)應(yīng).

協(xié)議轉(zhuǎn)換模型設(shè)計(jì)與實(shí)現(xiàn)

1并行XML解析

XML在不同的語(yǔ)言里解析方式通常都是一樣的.基本的解析方式有兩種:SAX和DOM.利用SAX解析XML文檔,牽涉到兩個(gè)部分:解析器和事件處理器.解析器負(fù)責(zé)讀取XML文檔,并向事件處理器發(fā)生事件,如元素開始和元素結(jié)束事件;而事件處理器則負(fù)責(zé)對(duì)事件做出響應(yīng),對(duì)傳遞的XML數(shù)據(jù)進(jìn)行處理.DOM是基于XML文檔樹結(jié)構(gòu)的解析,DOM在分析XML文檔時(shí),將組成XML文檔的各個(gè)部分映射為一個(gè)對(duì)象,在內(nèi)存中,這些節(jié)點(diǎn)形成一棵文檔樹,整棵樹是一個(gè)節(jié)點(diǎn),樹中的每一個(gè)節(jié)點(diǎn)也是一棵樹,通過(guò)訪問(wèn)樹中的節(jié)點(diǎn)來(lái)存取XML文檔的內(nèi)容.為了提高系統(tǒng)的效率,在這個(gè)協(xié)議解析器中,我們將采用一種并行的XML解析方式.并行XML解析可以充分利用多核計(jì)算機(jī)的優(yōu)勢(shì)來(lái)提高系統(tǒng)的性能.具體實(shí)現(xiàn)方式為:首先對(duì)XML文件進(jìn)行預(yù)解析,根據(jù)預(yù)解析的結(jié)果將XML文件劃分為多個(gè)小的XML文件,并將這些XML文件分配到不同的線程上,從而這些劃分后的XML文件就可以并行地進(jìn)行解析.

2協(xié)議轉(zhuǎn)換模型

在不同系統(tǒng)或不同系統(tǒng)的組成部分之間傳輸數(shù)據(jù)時(shí),必須考慮接口參數(shù)差異問(wèn)題.不同格式的數(shù)據(jù)是難以在系統(tǒng)內(nèi)部或者系統(tǒng)間傳輸?shù)?因此協(xié)議轉(zhuǎn)換器要解決這種異構(gòu)的問(wèn)題.鑒于業(yè)務(wù)相關(guān)內(nèi)容通常存入消息體中,消息頭中包含與業(yè)務(wù)無(wú)關(guān)的管理信息,協(xié)議轉(zhuǎn)換器以分層方式進(jìn)行轉(zhuǎn)換,主要包括2個(gè)部分:消息頭轉(zhuǎn)換和消息體的轉(zhuǎn)換.在進(jìn)行協(xié)議轉(zhuǎn)換時(shí),要對(duì)ESB系統(tǒng)支持的各個(gè)協(xié)議建立模型,每當(dāng)需要某種協(xié)議解析時(shí),都要讀取對(duì)應(yīng)的協(xié)議模型信息.協(xié)議轉(zhuǎn)換可能會(huì)出現(xiàn)解析失敗的情況,這就要求將失敗信息記錄到日志文件中,方便系統(tǒng)查閱并進(jìn)行處理.

為進(jìn)行協(xié)議轉(zhuǎn)換,消息或服務(wù)必須要先進(jìn)行適配,在初次連接或者其協(xié)議發(fā)生變化時(shí),要填寫其協(xié)議的格式,在此設(shè)計(jì)一個(gè)表格存儲(chǔ)在注冊(cè)庫(kù)中.這一表格包括字段序號(hào)(SQ),消息名稱,消息序號(hào),消息類型,字段名稱,起始位,長(zhǎng)度,字段類型,字段描述.其中,消息類型是指消息所使用的協(xié)議.協(xié)議轉(zhuǎn)換示意圖如圖2所示。協(xié)議轉(zhuǎn)換器要把收到的不同協(xié)議格式的消息轉(zhuǎn)換為內(nèi)部統(tǒng)一的消息格式即XML的格式,以方便內(nèi)部消息路由器對(duì)消息的路由;消息路由器對(duì)消息路由后,由系統(tǒng)內(nèi)向服務(wù)提供方或者服務(wù)請(qǐng)求方發(fā)送數(shù)據(jù)時(shí),協(xié)議轉(zhuǎn)換器實(shí)現(xiàn)讀取XML文件,按照數(shù)據(jù)庫(kù)中對(duì)應(yīng)的注冊(cè)的協(xié)議的要求,形成指定的消息類型,并發(fā)送到目的地.而這里的轉(zhuǎn)換是需要服務(wù)請(qǐng)求方和服務(wù)提供方提前注冊(cè)他們支持的協(xié)議的詳細(xì)信息,我們將這些信息分別都保存在不同的表格里,并存入注冊(cè)庫(kù).

因此,協(xié)議轉(zhuǎn)換器有兩個(gè)功能要實(shí)現(xiàn).一個(gè)是將接收到的消息轉(zhuǎn)換為內(nèi)部數(shù)據(jù)格式即XML文件.另一個(gè)功能是將內(nèi)部表示的XML文件轉(zhuǎn)換為注冊(cè)庫(kù)中查找到的目標(biāo)協(xié)議格式,在這一過(guò)程中,需要使用并行XML解析方式對(duì)XML文件進(jìn)行解析,從而能夠快速地實(shí)現(xiàn)協(xié)議轉(zhuǎn)換.在這個(gè)轉(zhuǎn)換的過(guò)程中,ESB系統(tǒng)首先要建立所支持的JMS、HTTP和SOAP協(xié)議的模型,從而為協(xié)議轉(zhuǎn)換提供相關(guān)的信息.協(xié)議轉(zhuǎn)換器過(guò)程圖如圖3所示,在這里以JMS和SOAP協(xié)議轉(zhuǎn)換為例.若獲取到對(duì)方的JMS或者SOAP消息,則在存入數(shù)據(jù)庫(kù)的同時(shí),要首先根據(jù)之前注冊(cè)的JMS或者SOAP模型將JMS或者SOAP消息轉(zhuǎn)換為XML的格式,統(tǒng)一消息格式,方便系統(tǒng)對(duì)數(shù)據(jù)的處理.當(dāng)傳輸數(shù)據(jù)時(shí),若傳輸?shù)氖瞧渌问降南?則其消息格式 為消息描述指定的格式,協(xié)議轉(zhuǎn)換器就利用消息描述表中對(duì)消息的內(nèi)容的描述進(jìn)行轉(zhuǎn)換,將XML格式的消息轉(zhuǎn)換為JMS或者SOAP消息.實(shí)質(zhì)上,在協(xié)議轉(zhuǎn)換器中,消息的轉(zhuǎn)換包括兩個(gè)層次上的協(xié)議轉(zhuǎn)換:服務(wù)請(qǐng)求方的數(shù)據(jù)到系統(tǒng)內(nèi)部的協(xié)議轉(zhuǎn)換,系統(tǒng)內(nèi)部的消息到服務(wù)提供方的協(xié)議轉(zhuǎn)換;服務(wù)提供方的消息到系統(tǒng)內(nèi)部的協(xié)議轉(zhuǎn)換,以及系統(tǒng)內(nèi)部的消息到服務(wù)提供方的協(xié)議轉(zhuǎn)換.

3協(xié)議轉(zhuǎn)換器的可擴(kuò)展性

設(shè)計(jì)模式使人們可以更加簡(jiǎn)單方便地復(fù)用成功的設(shè)計(jì)和體系結(jié)構(gòu).為了實(shí)現(xiàn)協(xié)議轉(zhuǎn)換器的可擴(kuò)展性,協(xié)議轉(zhuǎn)換器的實(shí)現(xiàn)中應(yīng)用了工廠模式和適配器模式.協(xié)議轉(zhuǎn)換器的類圖如圖4所示:在協(xié)議轉(zhuǎn)換器的實(shí)現(xiàn)中,AbstractTransformer是所有協(xié)議轉(zhuǎn)換的一個(gè)基類,并且是一個(gè)抽象類,實(shí)現(xiàn)了接口Transformer和Amnotatedobject.其它的轉(zhuǎn)換類都實(shí)現(xiàn)了AbstractTransformer.

結(jié)語(yǔ)

第4篇:soap協(xié)議范文

關(guān)鍵詞: Android; Web Service; 智能家居; 嵌入式網(wǎng)關(guān); 視頻監(jiān)控

中圖分類號(hào):TP311 文獻(xiàn)標(biāo)志碼:A 文章編號(hào):1006-8228(2017)03-44-04

Abstract: For the smart home system controlled by PC has disadvantages in price, mobility and operation, a new design and implantation scheme of smart home system based Web Service is proposed. The embedded Web Service server and ONVIF video monitoring server are built by transplanting gSOAP, the client end is realized by using KSOAP2 development kit. Users can control and monitor the remote smart home devices via Android phone and tablet. The system has advantage of simple, low cost, portable and practical, and it is worth to be promoted.

Key words: Android; Web Service; smart home; embedded gateway; video monitor

0 引言

智能家居(smart home)系統(tǒng)通過(guò)將家居設(shè)備進(jìn)行組網(wǎng),將計(jì)算機(jī)技術(shù)和自動(dòng)化技術(shù)進(jìn)行整合,實(shí)現(xiàn)居家環(huán)境監(jiān)測(cè)、視頻監(jiān)控、家電控制,以及危險(xiǎn)預(yù)警系統(tǒng)等諸多服務(wù),提高了人們的生活水平,現(xiàn)在正在慢慢走進(jìn)人們的生活[1]。目前,大多數(shù)的智能家居系統(tǒng)采用PC機(jī)進(jìn)行控制,這種控制系統(tǒng)造價(jià)高,不能移動(dòng),不方便操作。采用手機(jī)或者平板電腦遠(yuǎn)程連接家庭網(wǎng)絡(luò),可以方便快捷的實(shí)施監(jiān)控[2-5]。但是,目前采用這種手機(jī)或平板控制的智能家居系統(tǒng)比較少,而且大部分的功能比較單一,界面設(shè)計(jì)簡(jiǎn)單,無(wú)法提供良好的用戶體驗(yàn)。

本文提出了一種采用Web Service技術(shù)的智能家居系統(tǒng)實(shí)現(xiàn)方案。用戶可以通過(guò)運(yùn)行Android系統(tǒng)的智能手機(jī)或者平板,連接家庭網(wǎng)關(guān),對(duì)家用電器進(jìn)行遠(yuǎn)程控制,對(duì)居家環(huán)境進(jìn)行遠(yuǎn)程視頻監(jiān)控。

1 系統(tǒng)硬件平臺(tái)

智能家居網(wǎng)絡(luò)總體框架如圖1所示。家庭中各個(gè)網(wǎng)傳感節(jié)點(diǎn)和Zigbee協(xié)調(diào)器組成星型通信網(wǎng)絡(luò)。各個(gè)傳感器節(jié)點(diǎn)和家居設(shè)備以Zigbee方式和協(xié)調(diào)器通信,協(xié)調(diào)器通過(guò)串口連接網(wǎng)關(guān)。本系統(tǒng)的網(wǎng)關(guān)采用基于ARM1176JZF-S內(nèi)核,主頻533MHz的高性能嵌入式芯片S3C6410。網(wǎng)關(guān)上組建嵌入式Web服務(wù)器和視頻服務(wù)器,提供Web Service服務(wù)。運(yùn)行在手機(jī)或平板上的智能家居控制系統(tǒng)客戶端通過(guò)調(diào)用Web Service服務(wù)實(shí)現(xiàn)以下功能。

⑴ 通過(guò)獲取溫度傳感器、濕度傳感器、光照度傳感器、紅外傳感器的數(shù)據(jù),實(shí)現(xiàn)對(duì)居室環(huán)境數(shù)據(jù)進(jìn)行持續(xù)的采集。

⑵ 對(duì)智能家電、智能窗簾和智能燈具等設(shè)備的控制。

⑶ 調(diào)用攝像機(jī)實(shí)現(xiàn)遠(yuǎn)程視頻監(jiān)控。

2 軟件框架

2.1 程序架構(gòu)

本系統(tǒng)采用目前流行的Web Service技術(shù),實(shí)現(xiàn)安卓客戶端和網(wǎng)關(guān)服務(wù)器之間的通信。Web Service是一種跨平臺(tái)的分布式Web應(yīng)用程序。Web Service服務(wù)由服務(wù)器提供,客戶端可以在網(wǎng)絡(luò)上的任何一個(gè)位置調(diào)用此服務(wù)。Web Service三個(gè)重要的組成部分是SOAP、WSDL(Web Services Description Language)和UDDI(Universal Description Discovery and Integration) [6]。SOAP是一個(gè)基于XML的輕量型分布式計(jì)算協(xié)議,定義了調(diào)用Web Service服務(wù)的標(biāo)準(zhǔn)方法;WSDL用于描述訪問(wèn)具體的接口的方式;UDDI用來(lái)管理、分發(fā)和查詢Web Service。

軟件框架如圖2所示??蛻舳撕头?wù)器之間通過(guò)HTTP協(xié)議進(jìn)行SOAP消息的傳遞。網(wǎng)關(guān)服務(wù)器運(yùn)行Linux操作系統(tǒng),提供基于SOCKET的HTTP協(xié)議通信協(xié)議。然后再移植開源Web Service工具gSOAP來(lái)提供Web Service服務(wù)所需要的XML解析器和SOAP處理器。

2.2 服掌鞫順絳蟶杓

服務(wù)器端程序設(shè)計(jì)步驟:首先生成C/C++頭文件;然后使用SOAP編譯器編譯后生成RPC服務(wù)框架和序列化的數(shù)據(jù)類型代碼;最后將這些代碼鏈接到服務(wù)應(yīng)用程序中,就成為可供客戶端調(diào)用的Web Service。gSOAP編譯器同時(shí)會(huì)生成一個(gè)WSDL文檔用于描述這些服務(wù)。

在本設(shè)計(jì)中,客戶端的請(qǐng)求分為POST和GET兩種方法。GET方法用來(lái)處理靜態(tài)網(wǎng)頁(yè),進(jìn)而為描述接口的WSDL文件提供支持。POST方法用來(lái)實(shí)現(xiàn)SOAP消息的傳輸,將接收到的HTTP數(shù)據(jù)包保存在內(nèi)存緩沖區(qū),然后再進(jìn)行進(jìn)一步的處理。網(wǎng)關(guān)服務(wù)器對(duì)SOAP消息的處理過(guò)程如圖3所示。服務(wù)器在接受到客戶端的HTTP請(qǐng)求以后,調(diào)用相關(guān)模塊解析SOAP消息,然后根據(jù)解析結(jié)果提供相應(yīng)的服務(wù)。最后將執(zhí)行結(jié)果封裝成SOAP響應(yīng)信息返回給客戶端。

2.3 視頻服務(wù)器程序設(shè)計(jì)

采用建立在Web Service的SOAP通信框架基礎(chǔ)之上的ONVIF通信標(biāo)準(zhǔn),進(jìn)行視頻服務(wù)器設(shè)計(jì)。ONVIF通過(guò)定義網(wǎng)絡(luò)視頻設(shè)備之間信息交換的通用標(biāo)準(zhǔn),以實(shí)現(xiàn)不同廠家的視頻產(chǎn)品之間的互通性。ONVIF也是使用WSDL定義服務(wù),使用XML語(yǔ)言描述數(shù)據(jù),采用SOAP通信協(xié)議傳輸信息。ONVIF標(biāo)準(zhǔn)包括設(shè)備發(fā)現(xiàn)和設(shè)備管理兩大功能模塊,前者通過(guò)基于IP組播技術(shù)實(shí)現(xiàn),后者通過(guò)傳遞SOAP消息進(jìn)行通信。SOAP通信框架按照以下步驟生成[7]。

⑴ 登錄ONVIF網(wǎng)下載WSDL文件,該文件描述了與媒體服務(wù)相關(guān)的Web服務(wù)消息格式、操作、數(shù)據(jù)類型、協(xié)議綁定和服務(wù)地址。

⑵ 從網(wǎng)上下載gSOAP 2.8.21工具,解壓后得到的wsdl2h和soapcpp2文件。

⑶ 使用wsdl2h工具將WSDL文件轉(zhuǎn)換成C/C++風(fēng)格的頭文件。

⑷ 使用soapcpp2工具將上一步產(chǎn)生的頭文件生成服務(wù)器端提供SOAP服務(wù)的框架(Skeleton)代碼。

3 安卓客戶端程序設(shè)計(jì)

3.1 客戶端與服務(wù)器之間的通信

在Android客戶端平臺(tái)上,調(diào)用服務(wù)器端的Web Service必須使用開發(fā)包KSOAP2,以實(shí)現(xiàn)SOAP協(xié)議的處理。KSOAP2是一個(gè)用于資源受限制的Java環(huán)境如Applets或J2ME應(yīng)用程序的第三方類庫(kù)。

安卓客戶端通過(guò)調(diào)用服務(wù)器端的Web Service服務(wù),通過(guò)對(duì)遠(yuǎn)程數(shù)據(jù)庫(kù)的查詢、控制和管理操作,從而實(shí)現(xiàn)對(duì)家居設(shè)備進(jìn)行控制和監(jiān)視。本設(shè)計(jì)采用的KSOAP2軟件工具可以封裝用戶請(qǐng)求,以SOAP格式來(lái)調(diào)用Web Service,然后將返回的SOAP格式的數(shù)據(jù)信息解析為SOAP Objecet對(duì)象。KSOAP2調(diào)用Web Service步驟如下。

⑴ 下載Ksoap2-Android工具,并導(dǎo)入工程。

⑵ 指定Web Service的命名空間和調(diào)用Web Service方法的名稱。

⑶ 借助Soap Object對(duì)象傳遞參數(shù)。

⑷ 生成調(diào)用Web Service方法的SOAP請(qǐng)求信息,并指定SOAP的版本。

⑸ 調(diào)用Web Service,根據(jù)返回的數(shù)據(jù),解析出結(jié)果。

3.2 客戶端設(shè)計(jì)

客戶端連接服務(wù)器的第一步是登錄,進(jìn)行身份驗(yàn)證,其流程如圖4所示。首先輸入服務(wù)器的用戶名和密碼。如果服務(wù)器驗(yàn)證通過(guò),就可以建立客戶端與服務(wù)器之間的交互通道,在主界面中接收服務(wù)器響應(yīng)數(shù)據(jù)幀,同時(shí)更新所有家居設(shè)備的狀態(tài)信息。用戶登錄成功后,可以執(zhí)行如下相應(yīng)的動(dòng)作。

⑴ 如果要控制設(shè)備或者查詢?cè)O(shè)備狀態(tài)信息,則通過(guò)Get方法發(fā)送控制幀或者查詢幀。

⑵ 如果要執(zhí)行視頻監(jiān)控則通過(guò)POST方法發(fā)送視頻控制命令。

⑶ 如果用戶需要更改密碼,就要輸入舊、新兩種密碼,如果密碼匹配,則服務(wù)器返回響應(yīng)碼“201”,表示密碼更改成功;否則可以向服務(wù)器發(fā)送控制或者查詢請(qǐng)求,服務(wù)器收到后,先返回一個(gè)響應(yīng),然后執(zhí)行相應(yīng)的動(dòng)作。

3.3 視頻監(jiān)控客戶端設(shè)計(jì)

3.3.1 設(shè)備發(fā)現(xiàn)和管理

設(shè)備發(fā)現(xiàn)的主要目的就是獲取ONVIF設(shè)備的服務(wù)功能和服務(wù)地址,為后面的視頻數(shù)據(jù)接收和播放提供基礎(chǔ)。ONVIF協(xié)議的設(shè)備發(fā)現(xiàn)模塊可以讓客戶端發(fā)現(xiàn)服務(wù)器的RPC的入口,本設(shè)計(jì)采用WS-Discovery發(fā)現(xiàn)協(xié)議實(shí)現(xiàn)該功能。WS-Discovery [8]協(xié)議采用SOAP和UDP組播協(xié)議,客戶端使用239.255.255.250:3702地址發(fā)送組播消息自動(dòng)搜索ONVIF設(shè)備。服務(wù)器端的ONVIF設(shè)備收到組播消息后進(jìn)行響應(yīng),客戶端根據(jù)收到響應(yīng)數(shù)據(jù)包來(lái)獲取相應(yīng)的設(shè)備信息,統(tǒng)計(jì)搜索到的設(shè)備個(gè)數(shù)。

3.3.2 流媒體數(shù)據(jù)接收及分片打包

網(wǎng)關(guān)服務(wù)器攝像頭自帶視頻采集、視頻壓縮編碼功能,輸H.264格式編碼的標(biāo)準(zhǔn)數(shù)據(jù)流。客戶端通過(guò)RTSP會(huì)話接收服務(wù)器端的流媒體數(shù)據(jù),一次完整的會(huì)話過(guò)程如下。

⑴ 連接服務(wù)器,同時(shí)發(fā)送一個(gè)RTSP DESCRIBE命令。服務(wù)器返回一個(gè)描述媒體類型、流數(shù)量等信息SDP。

⑵ 分析收到的SDP,為會(huì)話中的流發(fā)送一個(gè)SETUP命令建立RTSP。客戶端通過(guò)此命令將自己的端口號(hào)告訴服務(wù)器。

⑶ 流媒體連接過(guò)程建立成功以后,客戶端發(fā)送PLAY命令和TERADOWN來(lái)開始和結(jié)束視頻的播放,還可以發(fā)送快進(jìn)、快進(jìn)和暫停命令。在播放過(guò)程中,服務(wù)器使用UDP發(fā)送流媒體RTP包給客戶端。

本系統(tǒng)需要多個(gè)ONVIF IPC設(shè)備通信,為了提高數(shù)據(jù)傳輸速率和數(shù)據(jù)處理的效率,課題組采用Select網(wǎng)絡(luò)模型完成標(biāo)準(zhǔn)的RTSP會(huì)話過(guò)程。

3.3.3 流媒體解碼及顯示

為了能顯示視頻,客戶端需要首先移植FFMPGE。使用FFMPGE對(duì)接收到的RTSP流媒體文件進(jìn)行解碼,再將解碼后的信息轉(zhuǎn)換成為YUNV420P格式,然后再轉(zhuǎn)換為RGB24格式。最后再轉(zhuǎn)換成可在安卓設(shè)備上播放的ARGB_8888格式。轉(zhuǎn)換完畢之后,就可以將每一幀顯示在屏幕上。

4 結(jié)論

本文結(jié)合嵌入式系統(tǒng)和安卓平臺(tái)優(yōu)勢(shì), 采用目前流行的Web Service技術(shù),設(shè)計(jì)和實(shí)現(xiàn)了智能家居系統(tǒng)的服務(wù)器端和安卓客戶端程序。服務(wù)器端通過(guò)移植gSOAP和ONVIF協(xié)議來(lái)組建嵌入式Web服務(wù)器,提供Web Service服務(wù)。安卓客戶端程序給予KSOAP2開發(fā)包進(jìn)行設(shè)計(jì),實(shí)現(xiàn)了服務(wù)器端的Web Service服務(wù)的調(diào)用。系統(tǒng)主要采用JAVA語(yǔ)言進(jìn)行開發(fā),具有結(jié)構(gòu)簡(jiǎn)單,開發(fā)難度低的優(yōu)點(diǎn)。系統(tǒng)操作簡(jiǎn)單、成本低、使用方便,可以實(shí)現(xiàn)家居設(shè)備的遠(yuǎn)程控制和居家環(huán)境的遠(yuǎn)程視頻監(jiān)視,給人們生活帶來(lái)極大的便利,具有較高的使用價(jià)值和推廣價(jià)值。

參考文獻(xiàn)(References):

[1] Lin H T. Implementing smart homes with open sourcesolutions[J]. International Journal of Smart Home,2013.7.

[2] 周恩,李文軍,鄭永軍等.Android平臺(tái)的智能家居控制系統(tǒng)設(shè)計(jì)[J].中國(guó)計(jì)量學(xué)院學(xué)報(bào),2013.24(3):261-265

[3] Z陽(yáng)靜,鄒念育,雷冬鳴等.基于Android和WIFI通信的智能家居系統(tǒng)設(shè)計(jì)[J].大連工業(yè)大學(xué)學(xué)報(bào),2016.1:67-71

[4] 黃成云,盧選民,李戈.基于Android的智能家居控制軟件設(shè)計(jì)與實(shí)現(xiàn)[J].計(jì)算機(jī)與現(xiàn)代化,2014.11:102-105

[5] Kumar S. Ubiquitous Smart Home System Using AndroidApplication[J]. Computer Science,2014.6(1).

[6] 龔瑞琴,畢利.基于Web Service的Android技術(shù)應(yīng)用研究[J].電子技術(shù)應(yīng)用,2014.40(1):134-136

第5篇:soap協(xié)議范文

關(guān)鍵詞:Web服務(wù);端到端安全;SSL;ESSL

中圖分類號(hào):TP309文獻(xiàn)標(biāo)識(shí)碼:A文章編號(hào):1009-3044(2009)13-3383-02

1 引言

Web 服務(wù)是一個(gè)嶄新的分布式計(jì)算模型,是Web上數(shù)據(jù)和信息集成的有效機(jī)制[3]。Web服務(wù)的新型構(gòu)架,Web服務(wù)的高效執(zhí)行方式,Web服務(wù)與其他成熟技術(shù)的有機(jī)結(jié)合以及Web服務(wù)的集成是解決現(xiàn)實(shí)應(yīng)用問(wèn)題的重要技術(shù)。但是,Web 服務(wù)的安全問(wèn)題也日益的突出,并逐漸成為Web 服務(wù)向前發(fā)展的一個(gè)瓶頸。當(dāng)然國(guó)內(nèi)外,Web 服務(wù)安全的研究有也不少的成果。但是還是不能夠完全滿足Web服務(wù)的端到端的安全需求。本文討論了SSL在保障Web服務(wù)安全方面不足,并在此基礎(chǔ)上提出擴(kuò)展的SSL,用以滿足Web 服務(wù)端到端的安全需求,在最后對(duì)擴(kuò)展的協(xié)議進(jìn)行分析,說(shuō)明了它的優(yōu)勢(shì)以及應(yīng)用的意義。

2 SSL在Web 服務(wù)安全機(jī)制中的應(yīng)用分析

2.1 Web 服務(wù)安全需求分析

作為典型的分布式應(yīng)用,Web 服務(wù)的安全要求包括:數(shù)據(jù)的機(jī)密性、數(shù)據(jù)的完整性、不可否認(rèn)性、身份認(rèn)證、訪問(wèn)控制、審計(jì)和安全管理等多個(gè)方面,同時(shí)還具有自身的特點(diǎn)[1]。對(duì)于Web 服務(wù)來(lái)說(shuō),保障其安全需要end-to-end的安全。當(dāng)然這并不是說(shuō)point-to-point的安全機(jī)制以及其他的傳統(tǒng)的安全不可以應(yīng)用到Web 服務(wù),恰恰相反,由于目前大多數(shù)哦Web 服務(wù)使用http作為其傳輸層,因此在依賴于http原來(lái)的安全機(jī)制都可以在Web services中使用[1],例如防墻、SSL等。Web 服務(wù)在實(shí)施的過(guò)程中也許需要point-to-point 和end-to-end其中的一種或兩種的安全機(jī)制,這取決于受到的威脅的所處層次[1]。如果對(duì)于安全性要求不高或者威脅的層次比較低的話,像SSL、防火墻等都可以發(fā)揮很好的作用[1]。

2.2 SSL協(xié)議概述

SSL 協(xié)議(Secure Socket Layer)是Netscape 推出的一種安全通信協(xié)議,它提供Internet上保密通信的安全協(xié)議。SSL的Client和Server在正式交換應(yīng)用數(shù)據(jù)之前,需要建立會(huì)話密鑰以及有選擇地進(jìn)行身份驗(yàn)證。會(huì)話和連接是SSL的兩個(gè)重要的貫穿始終的概念。連接建立在會(huì)話的基礎(chǔ)上,每個(gè)連接與一個(gè)會(huì)話關(guān)聯(lián)。Cipher Spec和master secret組成一個(gè)會(huì)話的主要加密參數(shù),可被多個(gè)連接共享。每個(gè)連接有獨(dú)立的會(huì)話密鑰。

SSL的安全服務(wù)位于TCP和應(yīng)用層之間,對(duì)應(yīng)用層是透明的[2,5],可為應(yīng)用層如:HTTP、FTP、SMTP等提供安全業(yè)務(wù),服務(wù)對(duì)象主要是Web 應(yīng)用,即客戶瀏覽器和服務(wù)器。

SSL有三種驗(yàn)證模式[5]:

1) Client和Server都被驗(yàn)證;

2) 只驗(yàn)證Server、不驗(yàn)證Client;

3) 完全匿名。

SSL協(xié)議提供的服務(wù)可以歸納為如下三個(gè)方面[5]:

1) 連接是保密的,對(duì)稱加密用于加密數(shù)據(jù);

2) 實(shí)體的身份通過(guò)公鑰加密得到驗(yàn)證;

3) 連接是可靠的,帶密鑰的MAC用于保證信息的完整性。

2.3 和SSL在Web服務(wù)中的應(yīng)用分析

盡管SSL在Web 服務(wù)中能夠提供一定的安全保障,但是它只能夠提供點(diǎn)對(duì)點(diǎn)的安全,如圖1所示,而無(wú)法保障端到端的安全,如圖2所示,在高要求或者威脅層次較高的時(shí)候,它就無(wú)法滿足要求。在Web 服務(wù)的典型應(yīng)用中,SOAP消息往往不僅僅只是在兩個(gè)節(jié)點(diǎn)間傳輸,更多的情況下是要經(jīng)過(guò)很多的中間節(jié)點(diǎn)[6-7],而且每個(gè)中間節(jié)點(diǎn)都可能會(huì)對(duì)SOAP消息進(jìn)行處理。雖然SSL可以確保SOAP消息在兩個(gè)相鄰的節(jié)點(diǎn)之間的安全,但是由于在節(jié)點(diǎn)內(nèi)部SOAP消息是以明文出現(xiàn)的,所以,一旦其中一個(gè)節(jié)點(diǎn)受到了攻擊或者惡意的修改SOAP消息,都會(huì)造成SOAP消息的泄漏或異常。因此,SSL對(duì)于SOAP消息的端到端的安全性是不夠的[4],必須有一種更高級(jí)級(jí)別的安全機(jī)制作為保障。

3 擴(kuò)展的ESSL

為了解決上面我們提到SSL協(xié)議在保障Web服務(wù)安全中的不足,對(duì)SLL進(jìn)行擴(kuò)展,稱之為擴(kuò)展的SSL協(xié)議(Extended SSL,簡(jiǎn)稱ESSL),這個(gè)改進(jìn)保留了SSL原有的安全特性,又可以滿足Web服務(wù)的end-to-end的安全需求。(ESSL術(shù)語(yǔ)只在本文中適用)

3.1 相關(guān)標(biāo)記

為了準(zhǔn)確表達(dá),我們使用下面標(biāo)記:

Ii:第i個(gè)節(jié)點(diǎn),其中I1是消息的原始發(fā)送者(Requester/Provider),In是消息最終收到的消息的(Requester/Provider),0

info:原始的信息

infoi:經(jīng)過(guò)Ii修改后的信息,由Ii加密后發(fā)送給Ii+1

Ceri:Ii的證書

h():使用安全的hash函數(shù)進(jìn)行對(duì)消息的摘要

ski:Ii的私鑰

pki:Ii的公鑰

sgni:Ii數(shù)字的簽名

Sign(ski,m):Ii用自己的私鑰對(duì)消息m進(jìn)行數(shù)字簽名

Rec(pki,s):用Ii的公鑰對(duì)簽名s進(jìn)行驗(yàn)證

E(pki,m):用Ii的公鑰加密消息m

D(ski,s):Ii用自己的私鑰解密加密的消息s

ki:Ii隨機(jī)生成的對(duì)稱密鑰

E(ki,m):用ki進(jìn)行加密

D(ki,s):用ki進(jìn)行解密

3.2 協(xié)議的流程的詳細(xì)描述

首先要說(shuō)明的是,兩個(gè)相互通信的節(jié)點(diǎn),在進(jìn)行消息的傳遞之前要進(jìn)行握手,在握手的過(guò)程主要是交換相互的數(shù)字證書以及協(xié)商相關(guān)的加密算法等。

協(xié)議的流程如下:

1) I1:生成簽名:sgn1=Sign(sk1,h(info)),加密信息:E(k1,info),生成數(shù)字信封:E(pk2,k1),I1把(sgn1,E(k1,info),E(k1,info),E(pk2,k1),(sgn1,Cer1))發(fā)送給下一個(gè)通信節(jié)點(diǎn)。

2) 中間節(jié)點(diǎn)Ii(1

3) In:收到消息(sgnn-1,E (kn-1,infon-1), E (kn-1,info),E(pkn,kn-1),(sgn1,Cer1,)),In首先解開數(shù)字信封D(skn,E(pkn,kn-1)),獲得對(duì)稱密鑰kn-1,然后獲取信息info=D(kn-1,E(kn-1,info))和infon-1= D(kn-1,E(kn-1,infon-1)),驗(yàn)證In-1的簽名Rec (pkn-1,sgnn-1)=h(D(kn-1,E(kn-1,infon-1)))?,然后在驗(yàn)證I1的簽名和原始信息的完整性Rec (pk1,sgn1)=h(D(kn-1,E(kn-1,info)))?。如果驗(yàn)證通過(guò)就進(jìn)行下一步的操作,如果沒有就終止通信。

協(xié)議中對(duì)消息的解密以及驗(yàn)證的流程如圖3所示。

協(xié)議中對(duì)消息加密處理的流程圖如圖4所示。

說(shuō)明:當(dāng)i=1的時(shí)候,虛線框中的處理過(guò)程就不需要了,因?yàn)閕nfo1=info

4 ESSL協(xié)議的分析

4.1 安全性分析

從ESSL的流程可以看出,SSL原有的安全機(jī)制都被包含,同時(shí)由于在消息中加入原始信息發(fā)送者對(duì)原始信息的簽名以及它的數(shù)字證書,另外在原始信息和修改后的信息都被發(fā)送到最終接收者In那里,這樣最終的接收者In不僅能夠看出來(lái)中間節(jié)點(diǎn)對(duì)原始信息的修改,同時(shí)還可以驗(yàn)證原始的信息及其簽名和消息的完整性。另外,協(xié)議使用原來(lái)的數(shù)字信封以及對(duì)稱加密,使得消息的機(jī)密性也有了保障。(下轉(zhuǎn)第3397頁(yè))

(上接第3384頁(yè))

綜上所述,使用ESSL可以保證Web服務(wù)端到端的安全。

4.2 速度分析

為了能夠達(dá)到端到端的安全需求,ESSL多發(fā)送了很多“冗余”的信息并且做了附加的加密和驗(yàn)證,這樣對(duì)于傳送的速度以及驗(yàn)證速度勢(shì)必有所影響。但是,為了信息的安全或者特殊的安全需要,可以用性能換取高安全。

5 結(jié)束語(yǔ)

該文分析了Web服務(wù)的安全需求,指出了現(xiàn)有的SSL在保障Web服務(wù)安全中存在的不足,并在SSL協(xié)議的基礎(chǔ)上做出了改進(jìn),提出了ESSL,使其達(dá)到Web服務(wù)端到端的安全需求,從而能夠保障Web 服務(wù)的端到端的安全。另外,在其它要求端到端安全的環(huán)境中,ESSL也有著廣泛的用途。

參考文獻(xiàn):

[1] Web Services Architecture[EB/OL].(2004-02)./2002/ws/.

[2] 宋志敏,王衛(wèi)京,南相浩.SSL V3.0及其安全性分析[J].計(jì)算機(jī)工程與應(yīng)用2000(10):145-147.

[3] 岳昆,王曉玲,周傲.Web 服務(wù)核心支撐技術(shù):研究綜述[J].軟件學(xué)報(bào),2004,15(3):428-442.

[4] IBM Corporation.Web Service Conceptual Architecture (WSCA1.0) [EB/OL]./developerworks/cn/views/webservices/libraryview.jsp.

[5] 范紅,馮登國(guó).安全協(xié)議理論與方法[M].北京:科學(xué)出版社,2003.

[6] 錢權(quán),嚴(yán)家德.Web Service的安全機(jī)制[J].計(jì)算機(jī)工程,2007,33(22):190-192.

[7] 石偉鵬,楊小虎.基于SOAP協(xié)議的Web Service安全基礎(chǔ)規(guī)范(WS-Security)[J].計(jì)算機(jī)應(yīng)用研究,2003(2):100-102.

第6篇:soap協(xié)議范文

Web service是一個(gè)平立的,松耦合的,自包含的、基于可編程的web的應(yīng)用程序,可使用開放的XML標(biāo)準(zhǔn)來(lái)描述、、發(fā)現(xiàn)、協(xié)調(diào)和配置這些應(yīng)用程序,用于開發(fā)分布式的互操作的應(yīng)用程序。

集成化物流管理控制系統(tǒng)(iWMS) 是自動(dòng)化立體庫(kù)中的靈魂和中樞。是一個(gè)基于UNIX/Windows操作系統(tǒng)、在網(wǎng)絡(luò)環(huán)境下實(shí)現(xiàn)客戶機(jī)/服務(wù)器模式的軟件系統(tǒng)。其目的是集成地管理、協(xié)調(diào)和調(diào)度物流有關(guān)的有關(guān)物流活動(dòng),并及時(shí)與ERP(企業(yè)資源管理系統(tǒng))等系統(tǒng)交換信息。執(zhí)行ERP系統(tǒng)所下達(dá)的采購(gòu)計(jì)劃和物料需求計(jì)劃等,并將執(zhí)行結(jié)果及時(shí)反饋。

關(guān)鍵字:Web Service

集成化物流管理控制系統(tǒng)

企業(yè)資源管理系統(tǒng)

中圖分類號(hào):C29 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):

第一部分 引言

Web Service是一項(xiàng)新技術(shù), 能使得運(yùn)行在不同機(jī)器上的不同應(yīng)用無(wú)須借助附加的、專門的第三方軟件或硬件, 就可相互交換數(shù)據(jù)或集成。依據(jù)Web Service規(guī)范實(shí)施的應(yīng)用之間, 無(wú)論它們所使用的語(yǔ)言、 平臺(tái)或內(nèi)部協(xié)議是什么, 都可以相互交換數(shù)據(jù)。Web Service是自描述、 自包含的可用網(wǎng)絡(luò)模塊, 可以執(zhí)行具體的業(yè)務(wù)功能。Web Service也很容易部署, 因?yàn)樗鼈兓谝恍┏R?guī)的產(chǎn)業(yè)標(biāo)準(zhǔn)以及已有的一些技術(shù),諸如XML和HTTP。Web Service減少了應(yīng)用接口的花費(fèi)。Web Service為整個(gè)企業(yè)甚至多個(gè)組織之間的業(yè)務(wù)流程的集成提供了一個(gè)通用機(jī)制。

第二部分 介紹Web Service

簡(jiǎn)單來(lái)說(shuō),Web Service是一種跨編程語(yǔ)言和跨操作系統(tǒng)平臺(tái)的遠(yuǎn)程調(diào)用技術(shù)。

其實(shí)可以從多個(gè)角度來(lái)理解Web Service,從表面上看,Web Service就是一個(gè)應(yīng)用程序向外界暴露出一個(gè)能通過(guò)Web進(jìn)行調(diào)用的API,也就是說(shuō)能用編程的方法通過(guò)Web來(lái)調(diào)用這個(gè)應(yīng)用程序。我們把調(diào)用這個(gè)Web Service的應(yīng)用程序叫做客戶端,而把提供這個(gè)Web Service的應(yīng)用程序叫做服務(wù)端。從深層次看,Web Service是建立可互操作的分布式應(yīng)用程序的新平臺(tái),是一個(gè)平臺(tái),是一套標(biāo)準(zhǔn)。它定義了應(yīng)用程序如何在Web上實(shí)現(xiàn)互操作性,你可以用任何你喜歡的語(yǔ)言,在任何你喜歡的平臺(tái)上寫Web service ,只要我們可以通過(guò)Web service標(biāo)準(zhǔn)對(duì)這些服務(wù)進(jìn)行查詢和訪問(wèn)。

Web Service平臺(tái)需要一套協(xié)議來(lái)實(shí)現(xiàn)分布式應(yīng)用程序的創(chuàng)建。任何平臺(tái)都有它的數(shù)據(jù)表示方法和類型系統(tǒng)。要實(shí)現(xiàn)互操作性,Web Service平臺(tái)必須提供一套標(biāo)準(zhǔn)的類型系統(tǒng),用于溝通不同平臺(tái)、編程語(yǔ)言和組件模型中的不同類型系統(tǒng)。Web Service平臺(tái)必須提供一種標(biāo)準(zhǔn)來(lái)描述Web Service,讓客戶可以得到足夠的信息來(lái)調(diào)用這個(gè)Web Service。最后,我們還必須有一種方法來(lái)對(duì)這個(gè)Web Service進(jìn)行遠(yuǎn)程調(diào)用,這種方法實(shí)際是一種遠(yuǎn)程過(guò)程調(diào)用協(xié)議(RPC)。為了達(dá)到互操作性,這種RPC協(xié)議還必須與平臺(tái)和編程語(yǔ)言無(wú)關(guān)。

第一 Web Service的優(yōu)勢(shì)

平臺(tái)無(wú)關(guān)。不管你使用什么平臺(tái),都可以使用Web service。

編程語(yǔ)言無(wú)關(guān)。只要遵守相關(guān)協(xié)議,就可以使用任意編程語(yǔ)言,向其他網(wǎng)站要求Web service。這大大增加了web service的適用性,降低了對(duì)程序員的要求。

對(duì)于Web service提供者來(lái)說(shuō),部署、升級(jí)和維護(hù)Web service都非常單純,不需要考慮客戶端兼容問(wèn)題,而且一次性就能完成。

對(duì)于Web service使用者來(lái)說(shuō),可以輕易實(shí)現(xiàn)多種數(shù)據(jù)、多種服務(wù)的聚合(mashup),因此能夠做出一些以前根本無(wú)法想像的事情。

第二 Web Service的發(fā)展趨勢(shì)

在使用方式上,RPC和soap的使用在減少,Restful架構(gòu)占到了主導(dǎo)地位。

在數(shù)據(jù)格式上,XML格式的使用在減少,json等輕量級(jí)格式的使用在增多。

在設(shè)計(jì)架構(gòu)上,越來(lái)越多的第三方軟件讓用戶在客戶端(即瀏覽器),直接與云端對(duì)話,不再使用第三方的服務(wù)器進(jìn)行中轉(zhuǎn)或處理數(shù)據(jù)。

第三 Web Service平臺(tái)技術(shù)

XML+XSD,SOAP和WSDL就是構(gòu)成Web Service平臺(tái)的三大技術(shù)。

XML+XSD:

Web Service采用HTTP協(xié)議傳輸數(shù)據(jù),采用XML格式封裝數(shù)據(jù)(即XML中說(shuō)明調(diào)用遠(yuǎn)程服務(wù)對(duì)象的哪個(gè)方法,傳遞的參數(shù)是什么,以及服務(wù)對(duì)象的返回結(jié)果是什么)。XML是Web Service平臺(tái)中表示數(shù)據(jù)的格式。除了易于建立和易于分析外,XML主要的優(yōu)點(diǎn)在于它既是平臺(tái)無(wú)關(guān)的,又是廠商無(wú)關(guān)的。無(wú)關(guān)性是比技術(shù)優(yōu)越性更重要的:軟件廠商是不會(huì)選擇一個(gè)由競(jìng)爭(zhēng)對(duì)手所發(fā)明的技術(shù)的。

XML解決了數(shù)據(jù)表示的問(wèn)題,但它沒有定義一套標(biāo)準(zhǔn)的數(shù)據(jù)類型,更沒有說(shuō)怎么去擴(kuò)展這套數(shù)據(jù)類型。例如,整形數(shù)到底代表什么?16位,32位,64位?這些細(xì)節(jié)對(duì)實(shí)現(xiàn)互操作性很重要。XML Schema(XSD)就是專門解決這個(gè)問(wèn)題的一套標(biāo)準(zhǔn)。它定義了一套標(biāo)準(zhǔn)的數(shù)據(jù)類型,并給出了一種語(yǔ)言來(lái)擴(kuò)展這套數(shù)據(jù)類型。Web Service平臺(tái)就是用XSD來(lái)作為其數(shù)據(jù)類型系統(tǒng)的。當(dāng)你用某種語(yǔ)言(如或C#)來(lái)構(gòu)造一個(gè)Web service時(shí),為了符合Web Service標(biāo)準(zhǔn),所有你使用的數(shù)據(jù)類型都必須被轉(zhuǎn)換為XSD類型。你用的工具可能已經(jīng)自動(dòng)幫你完成了這個(gè)轉(zhuǎn)換,但你很可能會(huì)根據(jù)你的需要修改一下轉(zhuǎn)換過(guò)程。

SOAP:

Web Service通過(guò)HTTP協(xié)議發(fā)送請(qǐng)求和接收結(jié)果時(shí),發(fā)送的請(qǐng)求內(nèi)容和結(jié)果內(nèi)容都采用XML格式封裝,并增加了一些特定的HTTP消息頭,以說(shuō)明HTTP消息的內(nèi)容格式,這些特定的HTTP消息頭和XML內(nèi)容格式就是SOAP協(xié)議。SOAP提供了標(biāo)準(zhǔn)的RPC方法來(lái)調(diào)用Web Service。

SOAP協(xié)議 = HTTP協(xié)議 + XML數(shù)據(jù)格式

SOAP協(xié)議定義了SOAP消息的格式,SOAP協(xié)議是基于HTTP協(xié)議的,SOAP也是基于XML和XSD的,XML是SOAP的數(shù)據(jù)編碼方式。打個(gè)比喻:HTTP就是普通公路,XML就是中間的綠色隔離帶和兩邊的防護(hù)欄,SOAP就是普通公路經(jīng)過(guò)加隔離帶和防護(hù)欄改造過(guò)的高速公路。

WSDL:

好比我們?nèi)ド痰曩I東西,首先要知道商店里有什么東西可買,然后再來(lái)購(gòu)買,商家的做法就是張貼廣告海報(bào)。 Web Service也一樣,Web Service客戶端要調(diào)用一個(gè)Web Service服務(wù),首先要有知道這個(gè)服務(wù)的地址在哪,以及這個(gè)服務(wù)里有什么方法可以調(diào)用,所以,Web Service務(wù)器端首先要通過(guò)一個(gè)WSDL文件來(lái)說(shuō)明自己家里有啥服務(wù)可以對(duì)外調(diào)用,服務(wù)是什么(服務(wù)中有哪些方法,方法接受的參數(shù)是什么,返回值是什么),服務(wù)的網(wǎng)絡(luò)地址用哪個(gè)url地址表示,服務(wù)通過(guò)什么方式來(lái)調(diào)用。

WSDL(Web Services Description Language)就是這樣一個(gè)基于XML的語(yǔ)言,用于描述Web Service及其函數(shù)、參數(shù)和返回值。它是Web Service客戶端和服務(wù)器端都能理解的標(biāo)準(zhǔn)格式。因?yàn)槭腔赬ML的,所以WSDL既是機(jī)器可閱讀的,又是人可閱讀的,這將是一個(gè)很大的好處。一些最新的開發(fā)工具既能根據(jù)你的Web service生成WSDL文檔,又能導(dǎo)入WSDL文檔,生成調(diào)用相應(yīng)Web Service的類代碼。

WSDL文件保存在Web服務(wù)器上,通過(guò)一個(gè)url地址就可以訪問(wèn)到它??蛻舳艘{(diào)用一個(gè)Web Service服務(wù)之前,要知道該服務(wù)的WSDL文件的地址。Web Service服務(wù)提供商可以通過(guò)兩種方式來(lái)暴露它的WSDL文件地址:1.注冊(cè)到UDDI服務(wù)器,以便被人查找;2.直接告訴給客戶端調(diào)用者。

第三部分 Web Service在物流管理控制系統(tǒng)和企業(yè)資源管理系統(tǒng)接口中的應(yīng)用

集成化物流管理控制系統(tǒng)(iWMS) 是自動(dòng)化立體庫(kù)中的靈魂和中樞。是一個(gè)基于UNIX/Windows操作系統(tǒng)、在網(wǎng)絡(luò)環(huán)境下實(shí)現(xiàn)客戶機(jī)/服務(wù)器模式的軟件系統(tǒng)。其目的是集成地管理、協(xié)調(diào)和調(diào)度物流有關(guān)的有關(guān)物流活動(dòng),并及時(shí)與ERP(企業(yè)資源管理系統(tǒng))等系統(tǒng)交換信息。執(zhí)行ERP系統(tǒng)所下達(dá)的采購(gòu)計(jì)劃和物料需求計(jì)劃等,并將執(zhí)行結(jié)果及時(shí)反饋。

一般企業(yè)再建造自動(dòng)化立體庫(kù)前,自己的ERP系統(tǒng)(企業(yè)資源管理系統(tǒng))已經(jīng)上線,而建造完自動(dòng)化立體庫(kù)后,將集成化物流管理信息系統(tǒng)與ERP系統(tǒng)有機(jī)結(jié)合在一起,成為擺在企業(yè)信息化管理者面前的重要項(xiàng)目之一。有可能兩個(gè)系統(tǒng)服務(wù)器,操作系統(tǒng),網(wǎng)絡(luò)等各種配套平全不同,在各種接口里,挑選出Web Service當(dāng)接口模式是有原因的。就像上面提到的,Web Service是一種跨編程語(yǔ)言和跨操作系統(tǒng)平臺(tái)的遠(yuǎn)程調(diào)用技術(shù)。不論什么操作系統(tǒng)、什么語(yǔ)言,Web Service都能很好地支持。下面就以用友ERP與IWMS做一個(gè)Web Service接口模塊的介紹:

第一 入庫(kù)下載物料編碼、供應(yīng)商信息、入庫(kù)單據(jù)信息

用友ERP系統(tǒng)采用UNIX操作系統(tǒng),Oracle數(shù)據(jù)庫(kù);集成化物流管理控制系統(tǒng)(iWMS)采用WINDOWS操作系統(tǒng),SQL SERVER數(shù)據(jù)庫(kù)。

當(dāng)物料入庫(kù)前,先從ERP系統(tǒng)下載物料編碼、供應(yīng)商信息等基礎(chǔ)信息。通過(guò)物料編碼接口和供應(yīng)商信息接口兩個(gè)Web Service接口,IWMS系統(tǒng)從ERP系統(tǒng)中得到了基礎(chǔ)信息數(shù)據(jù),這樣就可以開始接受入庫(kù)單據(jù)的信息了。

入庫(kù)單據(jù)信息包含入庫(kù)單據(jù)號(hào)、物料編碼、批號(hào)、批次、供應(yīng)商代碼、計(jì)劃入庫(kù)數(shù)量、實(shí)際入庫(kù)數(shù)量、規(guī)格等信息。

根據(jù)接受到ERP入庫(kù)的單據(jù)信息進(jìn)行相應(yīng)的轉(zhuǎn)換生成IWMS的入庫(kù)單據(jù)。

第二 入庫(kù)完成后回傳入庫(kù)單據(jù)實(shí)際數(shù)量

調(diào)用入庫(kù)單據(jù),對(duì)物料清點(diǎn)碼盤后進(jìn)行組盤入庫(kù),等該單據(jù)所有的物料全部入庫(kù)完畢后,將入庫(kù)單據(jù)的實(shí)際入庫(kù)數(shù)量回傳給ERP系統(tǒng)。

根據(jù)接口協(xié)議,回傳的入庫(kù)單據(jù)和ERP的原單據(jù)其他數(shù)據(jù)項(xiàng)一致,只有實(shí)際入庫(kù)數(shù)量不一樣。

第三 出庫(kù)下載客戶信息、出庫(kù)單據(jù)信息

客戶來(lái)提貨前,先從ERP系統(tǒng)填寫銷售出庫(kù)單據(jù),出庫(kù)單再傳給IWMS系統(tǒng)。

出庫(kù)單出庫(kù)前,客戶等基礎(chǔ)信息要通過(guò)客戶信息接口這個(gè)Web Service接口傳遞給IWMS系統(tǒng),然后才可以接受出庫(kù)單的信息了。

出庫(kù)單據(jù)信息包含出庫(kù)單據(jù)號(hào)、物料編碼、批號(hào)、批次、客戶代碼、計(jì)劃出庫(kù)數(shù)量、實(shí)際出庫(kù)數(shù)量、規(guī)格等信息。

根據(jù)接受到ERP出庫(kù)的單據(jù)信息進(jìn)行相應(yīng)的轉(zhuǎn)換生成IWMS的出庫(kù)單據(jù)。

第四 出庫(kù)完成后回傳出庫(kù)單據(jù)實(shí)際數(shù)量

調(diào)用出庫(kù)單據(jù),配貨清點(diǎn)完畢,等該單據(jù)所有的物料全部出庫(kù)裝車后,將出庫(kù)單據(jù)的實(shí)際出庫(kù)數(shù)量回傳給ERP系統(tǒng)。

根據(jù)接口協(xié)議,回傳的出庫(kù)單據(jù)和ERP的原單據(jù)其他數(shù)據(jù)項(xiàng)一致,只有實(shí)際出庫(kù)數(shù)量不一樣。

第四部分 結(jié)語(yǔ)

本文介紹了Web Service在物流管理控制系統(tǒng)與企業(yè)資源管理系統(tǒng)接口中的應(yīng)用。

第7篇:soap協(xié)議范文

關(guān)鍵詞:SOA;企業(yè)應(yīng)用集成

中圖分類號(hào):TP311.133.1文獻(xiàn)標(biāo)識(shí)碼:A

SOA&Enterprise Application Integration Design

Li Shu

(Sichuan Leshan Vocational&Technical College,Leshan614000,China)

Abstract:This paper describes enterprise application integration, and then analyzes the key technology of SOA and Web services,proposed SOA-based enterprise application integration solutions,this program flexible,loosely coupled nature,step by step integration,easily extensible.

Keywords:SOA;Enterprise application integration

一、企業(yè)應(yīng)用集成

(一)企業(yè)應(yīng)用集成的提出

企業(yè)應(yīng)用集成(EAI)是指企業(yè)中和企業(yè)之間的任何相連的應(yīng)用間無(wú)限制地共享數(shù)據(jù)和業(yè)務(wù)處理,從而使企業(yè)的整個(gè)業(yè)務(wù)、管理、資源等各個(gè)環(huán)節(jié),達(dá)到協(xié)調(diào)運(yùn)轉(zhuǎn),效率優(yōu)化。從企業(yè)應(yīng)用集成的具體應(yīng)用范圍來(lái)看,企業(yè)應(yīng)用集成包括兩方面:企業(yè)內(nèi)部應(yīng)用系統(tǒng)集成和企業(yè)之間的應(yīng)用系統(tǒng)集成。EAI的模型如圖1所示:

(二)企業(yè)應(yīng)用集成的內(nèi)容

企業(yè)應(yīng)用集成的內(nèi)容涉及到以下幾個(gè)層面:

1.業(yè)務(wù)過(guò)程集成:當(dāng)對(duì)業(yè)務(wù)過(guò)程進(jìn)行集成的時(shí)候,企業(yè)必須在各種業(yè)務(wù)系統(tǒng)中定義、授權(quán)和管理各種業(yè)務(wù)信息的交換,以便改進(jìn)操作、減少成本、提高響應(yīng)速度。

2.應(yīng)用集成:為兩個(gè)應(yīng)用中的數(shù)據(jù)和函數(shù)提供接近實(shí)時(shí)的集成。

3.數(shù)據(jù)集成:在集成之前,必須首先對(duì)數(shù)據(jù)進(jìn)行標(biāo)識(shí)并編成目錄,另外還要確定元數(shù)據(jù)模型。這三步完成以后,數(shù)據(jù)才能在數(shù)據(jù)庫(kù)系統(tǒng)中分布和共享。

4.集成的標(biāo)準(zhǔn):集成的標(biāo)準(zhǔn)化促成了信息和業(yè)務(wù)數(shù)據(jù)的共享和分布,包括COM+/DCOM、CORBA、EDI、JavaRMI和XML。

5.平臺(tái)集成:要實(shí)現(xiàn)系統(tǒng)的集成,底層的結(jié)構(gòu)、軟件、硬件以及異構(gòu)網(wǎng)絡(luò)的特殊需求都必須得到集成。

二、面向服務(wù)的體系結(jié)構(gòu)

(一)SOA協(xié)作

面向服務(wù)的體系結(jié)構(gòu)(service-oriented architecture SOA)是一個(gè)組件模型。面向服務(wù)的體系結(jié)構(gòu)將應(yīng)用程序中的不同功能單元稱為服務(wù),并通過(guò)對(duì)這些服務(wù)之間定義良好的接口而將其聯(lián)系起來(lái)。接口是采用中立的方式進(jìn)行定義的,也就是說(shuō)它應(yīng)該獨(dú)立于實(shí)現(xiàn)服務(wù)的硬件平臺(tái)、操作系統(tǒng)和編程語(yǔ)言。這使得構(gòu)建在各種這樣的系統(tǒng)中的服務(wù)可以以一種統(tǒng)一和通用的方式進(jìn)行交互。結(jié)構(gòu)模型如圖2所示。

三個(gè)角色是:

1.服務(wù)提供者:提供并自己的服務(wù),并且對(duì)使用自身服務(wù)的請(qǐng)求進(jìn)行響應(yīng);

2.服務(wù)注冊(cè)中心:用來(lái)存儲(chǔ)服務(wù)描述信息的信息庫(kù);

3.服務(wù)請(qǐng)求者:指查找和調(diào)用服務(wù)的客戶端應(yīng)用程序,利用服務(wù)(UDDI)查找所需的服務(wù),然后使用該服務(wù)(綁定)。

(二)SOA的特點(diǎn)和優(yōu)勢(shì)

1.松散耦合

服務(wù)實(shí)現(xiàn)者可以更改服務(wù)中的接口、數(shù)據(jù)或者消息版本,而不對(duì)服務(wù)使用者造成影響。

2.基于行業(yè)標(biāo)準(zhǔn)

消除了使用特定標(biāo)準(zhǔn)而限制于服務(wù)使用者的需要。并且使用基于標(biāo)準(zhǔn)的技術(shù)可打破行業(yè)或技術(shù)平臺(tái)的壟斷并促進(jìn)所有服務(wù)的最優(yōu)組合。

3.可重用的服務(wù)

服務(wù)重用避免了重復(fù)開發(fā)之煩瑣,同時(shí)提高了實(shí)現(xiàn)中的一致性。服務(wù)的重用比起組件或者類的重用更容易實(shí)現(xiàn)。

4.同步服務(wù)調(diào)用(RPC方式)

同步服務(wù)對(duì)于要求實(shí)時(shí)響應(yīng)的應(yīng)用程序來(lái)說(shuō)是至關(guān)重要的,例如Portal 或者Query。

5.異步服務(wù)調(diào)用

在異步服務(wù)調(diào)用中,調(diào)用方向消息收發(fā)服務(wù)發(fā)送一個(gè)包含完全上下文的消息,收發(fā)服務(wù)將該消息傳遞給接收者。

三、基于SOA的企業(yè)應(yīng)用集成(EAI)

(一)服務(wù)訪問(wèn)流程

通過(guò)基于SOA的企業(yè)應(yīng)用集成框架實(shí)現(xiàn)的服務(wù)訪問(wèn)流程描述如下:

1.企業(yè)門戶將用戶對(duì)某個(gè)服務(wù)的請(qǐng)求傳到后端支持服務(wù)總線的應(yīng)用服務(wù)器,如IBM的WebSphere;

2.應(yīng)用服務(wù)器通過(guò)UDDI查詢Web Service公共目錄或者經(jīng)驗(yàn)證后訪問(wèn)Web Service私有目錄,用得到的WSDL描述生成SOAP請(qǐng)求消息綁定服務(wù)提供者;

3.SOAP請(qǐng)求被傳遞到對(duì)應(yīng)的SOAP路由器,由SOAP路由器將該請(qǐng)求傳遞到對(duì)應(yīng)該服務(wù)的適配器;

4.適配器激活相關(guān)應(yīng)用系統(tǒng);

5.應(yīng)用處理結(jié)果返回適配器,經(jīng)適配器打包為包含處理結(jié)果的SOAP消息,返回給SOAP路由器,直至返回用戶處。

(二)主要組成部分功能描述

1.企業(yè)內(nèi)部Service Provider

企業(yè)內(nèi)部Service Provider中包含已有應(yīng)用或新開發(fā)的Web Service應(yīng)用,它們均被封裝為標(biāo)準(zhǔn)的Web Service組件,成為系統(tǒng)中的一個(gè)集成點(diǎn)。

對(duì)已有系統(tǒng)集成的關(guān)鍵在于對(duì)系統(tǒng)的封裝和包裹,可以先利用WSDL生成器生成該服務(wù)對(duì)應(yīng)的WSDL文件,然后生成服務(wù)器端基于SOAP的框架代碼,在框架代碼的基礎(chǔ)上開發(fā)Web服務(wù)適配器,通過(guò)該服務(wù)適配器,將XML格式的請(qǐng)求轉(zhuǎn)換為已有系統(tǒng)能解析的格式,同時(shí),將已有系統(tǒng)處理后的結(jié)果轉(zhuǎn)換為XML格式。服務(wù)適配器還具備與后端服務(wù)器建立通信連接,驗(yàn)證數(shù)據(jù)有效性等功能。

2.服務(wù)總線Service Bus

服務(wù)總線通過(guò)一個(gè)處于中間層的集中式服務(wù)器,為業(yè)務(wù)流程控制、服務(wù)路由、協(xié)議轉(zhuǎn)換和安全扮演著中央控制點(diǎn)的角色。以下對(duì)服務(wù)總線上的幾個(gè)關(guān)鍵功能作簡(jiǎn)要介紹:

(1)工作流控制:定義工作流程,并協(xié)調(diào)服務(wù)間的交互,己出現(xiàn)一些推薦的標(biāo)準(zhǔn),如WSFL(Web Service Flow Language)等;

(2)事務(wù)管理:由于分布的,松耦合的應(yīng)用環(huán)境不適于使用傳統(tǒng)的事務(wù)技術(shù),對(duì)此,IBM,微軟和BEA聯(lián)合提出WS-Transaction;

(3)安全映射:對(duì)所有參與服務(wù)進(jìn)行統(tǒng)一管理,把安全性考慮隔離在單一構(gòu)件上,簡(jiǎn)化開發(fā)和管理;

(4)服務(wù)監(jiān)控:監(jiān)控流程的執(zhí)行,利用記錄的數(shù)據(jù)來(lái)分析服務(wù)質(zhì)量和指導(dǎo)服務(wù)改進(jìn);

(5)SOAP路由器:用以實(shí)現(xiàn)SOAP消息的傳遞,路由器通過(guò)分析,找出對(duì)應(yīng)的Web Service適配器的位置,將SOAP請(qǐng)求傳遞到所請(qǐng)求的適配器;

(三)服務(wù)網(wǎng)關(guān)Service Gateway

對(duì)于企業(yè)外部集成,使用服務(wù)網(wǎng)關(guān),一方面可以安全地對(duì)外公開Web服務(wù),另一方面,防火墻之外的客戶也能調(diào)用這些服務(wù)。它包括一個(gè)服務(wù)管理模型和過(guò)濾器。服務(wù)網(wǎng)關(guān)能夠?qū)⒖蛻舳酥С值姆?wù)協(xié)議轉(zhuǎn)換為提供方支持的服務(wù)協(xié)議,如:客戶的請(qǐng)求可能是HTTP上的SOAP,但在內(nèi)部可以使用JMS協(xié)議上的SOAP。

(四)企業(yè)門戶Enterprise Portal

終端用戶界面集成特定用戶訪問(wèn)的全部應(yīng)用程序和服務(wù)來(lái)提供可用、高效、一致的界面。組合式Portal將Web服務(wù)通過(guò)Portal即插即用,使EAI更加靈活。

四、結(jié)束語(yǔ)

SOA為企業(yè)應(yīng)用集成(EAI)提供了理想的集成框架,它是實(shí)現(xiàn)EAI的有力工具?;赟OA和消息中間件技術(shù),可以在不改變應(yīng)用系統(tǒng)原有底層架構(gòu)的基礎(chǔ)上實(shí)現(xiàn)靈活的、面向服務(wù)的應(yīng)用集成,未來(lái)相信面向服務(wù)的EAI會(huì)在企業(yè)信息化的進(jìn)程中得到更廣泛的應(yīng)用。

參考文獻(xiàn)

[1]宋善德,王雪飛.基于Web服務(wù)的企業(yè)應(yīng)用集成方案.計(jì)算機(jī)應(yīng)用研究,2003,6,127-129.

[2]宋波,李妙妍.面向Web服務(wù)的BPEL的研究與實(shí)現(xiàn).計(jì)算機(jī)工程與設(shè)計(jì),2007,28(9).212-214.

[3]葉宇風(fēng).基于SOA的企業(yè)應(yīng)用集成研究.微電子學(xué)與計(jì)算機(jī),2006,23,(5).211-213.

[4]胡繼東,劉廣鐘.基于Web Services的軟件集成方法的研究與實(shí)現(xiàn).計(jì)算機(jī)系統(tǒng)應(yīng)用,2002,11,33-35

第8篇:soap協(xié)議范文

隨著Web Services由技術(shù)概念到實(shí)踐應(yīng)用的不斷發(fā)展,種種跡象表明,Web Services將是未來(lái)應(yīng)用架構(gòu)的一個(gè)極為重要的模式。

安全中間件是中間件的一種,為我們提供了CA認(rèn)證、數(shù)字證書、數(shù)字簽名等安全相關(guān)的通用編程抽象。應(yīng)用程序人員不必?fù)碛袑I(yè)的安全知識(shí),即可通過(guò)調(diào)用安全中間件的相關(guān)API方便地使用所需的安全功能,從而使開發(fā)人員能夠?qū)W⒂跇I(yè)務(wù)邏輯的開發(fā)。

目前,傳統(tǒng)的基于PKI(Public Key Infrastructure)的安全中間件已經(jīng)可以滿足我們大部分的安全要求,但是這仍然是不夠的,因?yàn)閭鹘y(tǒng)安全中間件基本上都是采用調(diào)用API的方式,從而直接導(dǎo)致了應(yīng)用程序與安全中間件的緊耦合性、平臺(tái)相關(guān)性與編程語(yǔ)言相關(guān)性。

基于Web Services的安全中間件的優(yōu)勢(shì)

具有松耦合性與跨平臺(tái)跨編程語(yǔ)言正是Web Services技術(shù)的最大特性,下面將討論傳統(tǒng)安全中間件與基于Web Services的安全中間件的各自運(yùn)作模式及他們的不同,并總結(jié)出基于Web Services的安全中間件的優(yōu)勢(shì)。

傳統(tǒng)安全中間件產(chǎn)品一般以PKI為基礎(chǔ),建立在X.509等安全標(biāo)準(zhǔn)之上,為開發(fā)人員提供了加密、認(rèn)證、授權(quán)、驗(yàn)證等安全接口。下面是傳統(tǒng)安全中間件與基于Web Services的安全中間件的運(yùn)作模式對(duì)比圖:

由圖1左邊可以看出,應(yīng)用程序是采用API調(diào)用方式使用安全中間件的,即傳統(tǒng)安全中間件是作為函數(shù)庫(kù)與應(yīng)用程序部署在一起的,這些都使得應(yīng)用程序與安全中間件之間產(chǎn)生了緊耦合,導(dǎo)致整個(gè)系統(tǒng)過(guò)于復(fù)雜而不好維護(hù),喪失了靈活性。另外,安全算法是需要大規(guī)模計(jì)算的,對(duì)于計(jì)算資源寶貴的移動(dòng)設(shè)備來(lái)說(shuō),以上并不是一個(gè)理想的解決方案。

采用Web Services技術(shù)的安全中間件,通過(guò)SOAP協(xié)議實(shí)現(xiàn)應(yīng)用程序與安全中間件之間的通訊。如圖1右邊所示,在本設(shè)計(jì)中,應(yīng)用程序與安全中間件之間的通訊采用了Web Services技術(shù),通過(guò)SOAP協(xié)議進(jìn)行通訊。同時(shí),為了保證應(yīng)用程序與安全中間件之間網(wǎng)絡(luò)通訊的安全,本系統(tǒng)中采用SSL用于保證傳輸層上的點(diǎn)對(duì)點(diǎn)完整性和機(jī)密性,在應(yīng)用層面上則是采用WS-Security規(guī)范保證SOAP消息的安全性。

在以上的對(duì)比分析中我們可以得知,在基于Web Services的安全中間件中,不管是J2EE或.Net編程技術(shù),都可以通過(guò)標(biāo)準(zhǔn)的SOAP協(xié)議與安全中間件進(jìn)行通信,實(shí)現(xiàn)了編程語(yǔ)言無(wú)關(guān)性。再者,由于Web Services技術(shù)是基于網(wǎng)絡(luò)HTTP協(xié)議通過(guò)網(wǎng)絡(luò)進(jìn)行通信,從而去掉了應(yīng)用程序與安全中間件需要部署在同一操作系統(tǒng)、服務(wù)器上的限制,進(jìn)而實(shí)現(xiàn)了平臺(tái)無(wú)關(guān)性。最后,假設(shè)日后安全中間件內(nèi)部模塊進(jìn)行了更新升級(jí),也不會(huì)影響到應(yīng)用程序,無(wú)需再編譯、再部署,從而實(shí)現(xiàn)了應(yīng)用程序?qū)优c安全中間件層之間的松耦合性。

由此可得出基于Web Services的安全中間件的優(yōu)勢(shì)有:編程語(yǔ)言無(wú)關(guān)性,平臺(tái)無(wú)關(guān)性與松耦合性。

基于Web Services的安全中間件的總體設(shè)計(jì)

本文將設(shè)計(jì)與實(shí)現(xiàn)一個(gè)基于Web Services的安全中間件,該安全中間件從理論上講,能夠?qū)崿F(xiàn)傳統(tǒng)安全中間件的所有功能,并且是基于SOAP通訊的,實(shí)現(xiàn)了松耦合及跨平臺(tái)跨編程語(yǔ)言性。

本中間件的功能主要分成兩大塊――證書模塊與密碼模塊。

證書模塊:證書申請(qǐng),即個(gè)人通過(guò)安全中間件向CA申請(qǐng)證書;查詢證書,應(yīng)用程序可以通過(guò)該功能查詢自己或已收到的他人證書狀態(tài);獲取證書,應(yīng)用程序可通過(guò)安全中間件獲取自己或他人的證書;撤銷證書,在個(gè)人丟失私鑰時(shí),可以申請(qǐng)撤銷證書;驗(yàn)證證書,可用于驗(yàn)證他人證書的有效性。

密碼模塊:加密解密消息,使用各種算法對(duì)消息進(jìn)行加解密操作;生成會(huì)話密鑰,為通信的雙方生成會(huì)話密鑰;數(shù)字簽名,對(duì)消息進(jìn)行數(shù)字簽名;簽名驗(yàn)證,可對(duì)已進(jìn)行數(shù)字簽名的消息進(jìn)行驗(yàn)證其完整性和發(fā)送方身份。

總體框架:

基于Web Services的安全中間件的設(shè)計(jì)目標(biāo),是為了讓所有類型的應(yīng)用程序都能通過(guò)由WS-Security保護(hù)的SOAP協(xié)議來(lái)獲取安全服務(wù)。本中間件總體框架如下圖所示:

如圖2所示,本系統(tǒng)采用分層的設(shè)計(jì)結(jié)構(gòu)。最上層為服務(wù)接口,以Web Services的形式給應(yīng)用程序,而不是傳統(tǒng)的采用API或RPC遠(yuǎn)程調(diào)用接口,消除了應(yīng)用程序?qū)优c安全服務(wù)層之間的耦合性,也使得應(yīng)用程序與安全中間件無(wú)需部署在一起,大大提高了企業(yè)信息系統(tǒng)的整體靈活性。

安全中間件在接收到請(qǐng)求后對(duì)其進(jìn)行解析,然后進(jìn)行相應(yīng)的操作并返回。在應(yīng)用程序接口下面,是兩個(gè)主要模塊接口――證書服務(wù)與密碼服務(wù)接口,設(shè)計(jì)這兩個(gè)接口的目的是為了日后系統(tǒng)的擴(kuò)展。

在兩個(gè)接口的下面,是兩個(gè)模塊的具體實(shí)現(xiàn),這里的具體實(shí)現(xiàn)有兩種方式,一是使用各種成熟的組件直接實(shí)現(xiàn)服務(wù),如Sun提供的JCE、JAAS及JSSE,微軟的CryptAPI或Intel的CDSA等;二是通過(guò)統(tǒng)一的PKI接口調(diào)用現(xiàn)成的PKI設(shè)施,其好處是可以隨以后需求的變更而靈活使用不同的PKI產(chǎn)品。PKI統(tǒng)一接口的下方PKI Provider xx是針對(duì)某一PKI產(chǎn)品所設(shè)計(jì)的專用轉(zhuǎn)換接口,實(shí)現(xiàn)從特定PKI產(chǎn)品自身接口到本系統(tǒng)PKI統(tǒng)一接口的轉(zhuǎn)換。

實(shí)現(xiàn)細(xì)節(jié):

下面是本系統(tǒng)的服務(wù)接口設(shè)計(jì),這里的服務(wù)接口是指本安全中間件開發(fā)給應(yīng)用程序的服務(wù)接口。本系統(tǒng)的Web Service的實(shí)現(xiàn)采用AXIS2開源框架。下面將使用AXIS2的services.xml說(shuō)明服務(wù)接口的設(shè)計(jì),并結(jié)合使用SOAP消息格式進(jìn)行詳細(xì)說(shuō)明。

如services.xml文件中申請(qǐng)證書的xml配置如下:

urn:applyCert

本文就傳統(tǒng)安全中間件與基于Web Services的安全中間件進(jìn)行探討比較,進(jìn)而總結(jié)出基于Web Services的安全中間件的優(yōu)勢(shì)之處在于松耦合、跨平臺(tái)與跨編程語(yǔ)言。接著,提出基于Web Services的安全中間件的設(shè)計(jì)方案,并實(shí)現(xiàn)了上述三點(diǎn)優(yōu)勢(shì)。當(dāng)然,本系統(tǒng)目前還存在一些不足之處,在完整性方面,目前僅實(shí)現(xiàn)了基本的安全服務(wù)功能;在標(biāo)準(zhǔn)性方面,目前采用的Web Services安全規(guī)范仍處于草案階段而不是公認(rèn)的標(biāo)準(zhǔn);最后是實(shí)用性,本系統(tǒng)目前仍處于測(cè)試階段,最終能否勝任安全強(qiáng)度的要求仍需進(jìn)一步的考驗(yàn)。

參考文獻(xiàn)

[1] JP Morgenthal. Web Services for Enterprise Application Integration. [A] Journal, 2002,2(5 ): 14 ~16

[2] 張志擦. 中間件技術(shù). 北京:中國(guó)石化出版社,2002. 122~123

[3] 荊繼武. PKI系統(tǒng)研究:[博士學(xué)位論文]. 北京:中國(guó)科學(xué)院研究生院,2002

[4] 張振興. Web服務(wù)安全性的研究與實(shí)現(xiàn):[D]. 華北電力大學(xué)碩士論文,2004

[5] 肖軍模,劉軍. 網(wǎng)絡(luò)信息安全. 北京:機(jī)械工業(yè)出版社,2003. 23~24

[6] Markham T. Security at the network edge. Information Survivability Conference, 2001,11. 279~286

第9篇:soap協(xié)議范文

關(guān)鍵詞: 區(qū)域醫(yī)療; 數(shù)據(jù)交互; 異構(gòu)系統(tǒng); 信息化建設(shè)

中圖分類號(hào): TN911?34 文獻(xiàn)標(biāo)識(shí)碼: A 文章編號(hào): 1004?373X(2014)02?0051?02

隨著信息技術(shù)的飛速發(fā)展,各種管理信息系統(tǒng)已在醫(yī)療行業(yè)中得到廣泛應(yīng)用。同時(shí),在新醫(yī)改的推動(dòng)下,建立數(shù)字化“醫(yī)療聯(lián)合體”和“區(qū)域醫(yī)療平臺(tái)”成為醫(yī)療信息化發(fā)展的必然趨勢(shì)。但由于各個(gè)醫(yī)療部門的軟硬件條件各異,部門、單位特點(diǎn)不同,勢(shì)必造成多種關(guān)系數(shù)據(jù)庫(kù)共存的局面。多種異構(gòu)數(shù)據(jù)庫(kù)的存在嚴(yán)重限制了數(shù)據(jù)共享和交互的范圍。因此如何在保留原有成熟醫(yī)院信息系統(tǒng)(Hospital Information System,HIS)的基礎(chǔ)上,實(shí)現(xiàn)異構(gòu)數(shù)據(jù)庫(kù)間透明信息存取是首要解決的問(wèn)題。

1 醫(yī)療信息系統(tǒng)現(xiàn)狀

我國(guó)從20世紀(jì)90年代初逐步開始醫(yī)療信息化建設(shè)。目前各種醫(yī)療信息化系統(tǒng)已經(jīng)開始部署到地方各級(jí)醫(yī)療機(jī)構(gòu),典型的系統(tǒng)包括:醫(yī)院信息系統(tǒng)(Hospital Information System,HIS)、電子病歷系統(tǒng)(Electronic Medical Records,EMR)、醫(yī)學(xué)影像存檔與通信系統(tǒng)(Picture Archiving and Communication System,PACS)、檢驗(yàn)信息系統(tǒng)(Laboratory Information System,LIS)和超聲信息系統(tǒng)(Ultrasound Information System,UIS)等。

為落實(shí)國(guó)家“十二五”深化醫(yī)藥衛(wèi)生體制改革規(guī)劃、物聯(lián)網(wǎng)發(fā)展規(guī)劃和電子政務(wù)發(fā)展規(guī)劃,需要對(duì)衛(wèi)生信息化建設(shè)及其應(yīng)用提出新的要求。國(guó)家已從戰(zhàn)略層面指出:根據(jù)當(dāng)前醫(yī)改對(duì)信息化發(fā)展形勢(shì)的要求,“十二五”期間衛(wèi)生信息化工作要在以區(qū)域衛(wèi)生信息化建設(shè)為重點(diǎn)的互聯(lián)互通和資源共享方面有所作為[1]。區(qū)域衛(wèi)生信息化建設(shè)發(fā)展的一個(gè)必然階段便是區(qū)域衛(wèi)生信息化中的數(shù)據(jù)交互建設(shè),這是區(qū)域衛(wèi)生信息化建設(shè)中最重要的課題。數(shù)據(jù)交互的實(shí)現(xiàn),能夠滿足政府更高效、更靈活、協(xié)同性更好的實(shí)現(xiàn)對(duì)醫(yī)療衛(wèi)生的管理,幫助醫(yī)療衛(wèi)生單位實(shí)現(xiàn)大量信息快速、有效、準(zhǔn)確地獲取、管理和傳遞,改進(jìn)工作流程,提高工作效率。

由于國(guó)內(nèi)醫(yī)療信息化建設(shè)水平參差不齊,且無(wú)統(tǒng)一的標(biāo)準(zhǔn)。不同的信息系統(tǒng)開發(fā)商在設(shè)計(jì)、實(shí)現(xiàn)過(guò)程中所采用的系統(tǒng)架構(gòu)、技術(shù)方法、開發(fā)平臺(tái)千差萬(wàn)別,勢(shì)必出現(xiàn)不同醫(yī)療機(jī)構(gòu)間相同業(yè)務(wù)類型的數(shù)據(jù)存儲(chǔ)定義、語(yǔ)義表達(dá)方式不同。這些不同,形成了無(wú)數(shù)個(gè)孤立的信息系統(tǒng),導(dǎo)致患者就診時(shí)醫(yī)生無(wú)法在第一時(shí)間內(nèi)準(zhǔn)確了解疾病史、藥物治療史、過(guò)敏史和前期檢查結(jié)果等,降低診療效率和診療質(zhì)量,增多患者重復(fù)檢查的次數(shù),提高診療成本,加重患者經(jīng)濟(jì)負(fù)擔(dān)。 構(gòu)建異構(gòu)醫(yī)療數(shù)據(jù)交互平臺(tái)是實(shí)現(xiàn)區(qū)域衛(wèi)生信息化的核心環(huán)節(jié)。通過(guò)外掛中間件的方式,對(duì)醫(yī)院已有的HIS不做改動(dòng)的前提下,在系統(tǒng)間高效、安全的傳輸和處理基于相關(guān)醫(yī)療信息標(biāo)準(zhǔn)的醫(yī)療信息。

2 系統(tǒng)設(shè)計(jì)

為了異構(gòu)醫(yī)療數(shù)據(jù)間的交互,首先必須建立穩(wěn)定可靠的系統(tǒng)架構(gòu)。如圖1所示,該系統(tǒng)架構(gòu)在保留原HIS和數(shù)據(jù)庫(kù)的基礎(chǔ)上通過(guò)外掛中間件的方式交互數(shù)據(jù)。當(dāng)某醫(yī)院有申請(qǐng)數(shù)據(jù)的需要時(shí),通過(guò)HTTP請(qǐng)求以XML格式表示的有效數(shù)據(jù)。發(fā)送方通過(guò)數(shù)據(jù)訪問(wèn)模塊從源數(shù)據(jù)庫(kù)中提取數(shù)據(jù),然后基于HL7的醫(yī)療信息標(biāo)準(zhǔn)進(jìn)行數(shù)據(jù)轉(zhuǎn)換,以WS?Security的安全機(jī)制實(shí)現(xiàn)SOAP消息的安全傳遞,保證醫(yī)療數(shù)據(jù)標(biāo)準(zhǔn)、安全、有效的傳輸給數(shù)據(jù)申請(qǐng)方。

3 關(guān)鍵技術(shù)

在整個(gè)異構(gòu)醫(yī)療數(shù)據(jù)交互系統(tǒng)架構(gòu)中,數(shù)據(jù)的轉(zhuǎn)換、表現(xiàn)形式以及數(shù)據(jù)的傳輸安全是最核心的技術(shù)。

(1) 基于HL7的數(shù)據(jù)轉(zhuǎn)換模型。醫(yī)療信息傳輸與交換技術(shù)標(biāo)準(zhǔn)(Healthy Level Seven,HL7)是醫(yī)學(xué)信息系統(tǒng)應(yīng)用和執(zhí)行的標(biāo)準(zhǔn),是基于消息實(shí)現(xiàn)數(shù)據(jù)傳遞的標(biāo)準(zhǔn)規(guī)范[2],多個(gè)HIS之間進(jìn)行數(shù)據(jù)的交互都是以HL7為標(biāo)準(zhǔn)的。在HL7標(biāo)準(zhǔn)中,若干個(gè)字段構(gòu)成一個(gè)消息段,有一定順序和邏輯關(guān)系的消息段構(gòu)成一條消息,當(dāng)某事件發(fā)生時(shí)將消息按照一定的網(wǎng)絡(luò)傳輸協(xié)議傳送到接收方,接收方在消息的接收、解析之后將其送往應(yīng)用程序。相比于之前版本,HL7 v3版一個(gè)顯著的特點(diǎn)就是支持可擴(kuò)展標(biāo)記語(yǔ)言,運(yùn)用XML技術(shù)來(lái)加強(qiáng)和改善醫(yī)療系統(tǒng)之間的數(shù)據(jù)交換能力。

(2) 可擴(kuò)展標(biāo)記語(yǔ)言XML。XML(eXtensible Markup Language)是針對(duì)包含結(jié)構(gòu)化信息的文檔而設(shè)計(jì)的一種標(biāo)記語(yǔ)言。在本系統(tǒng)的研發(fā)中通過(guò)以XML格式表示和傳輸以HL7標(biāo)準(zhǔn)建立的共享數(shù)據(jù)信息??紤]到HIS數(shù)據(jù)的復(fù)雜性,它需要在數(shù)據(jù)類型、主外鍵值、數(shù)據(jù)完整性約束等方面的定義,使用XML schema定義XML文檔數(shù)據(jù)交換格式的標(biāo)準(zhǔn)[3]。

(3) 基于WebService和SOAP協(xié)議的異構(gòu)數(shù)據(jù)源交互模型。SOAP 調(diào)用的數(shù)據(jù)和方法的表達(dá)方式是基于 XML 的、可以使數(shù)據(jù)的型和值在表達(dá)上分離, 有利于應(yīng)用程序之間透明交換信息, 同時(shí)可以解決網(wǎng)絡(luò)傳輸安全性問(wèn)題[4]。本研究采用WebService和SOAP協(xié)議建立異構(gòu)數(shù)據(jù)源交互模型,如圖2所示。該模型采用XML作為數(shù)據(jù)描述語(yǔ)言,轉(zhuǎn)換時(shí)首先通過(guò)數(shù)據(jù)交換中間件把各種異構(gòu)的輸入/輸出數(shù)據(jù)按照描述邏輯轉(zhuǎn)換為統(tǒng)一規(guī)則的XML文件,然后通過(guò)SOAP傳輸協(xié)議在各異構(gòu)系統(tǒng)之間的Internet網(wǎng)絡(luò)之間進(jìn)行傳輸,最后再通過(guò)數(shù)據(jù)交換中間件完成數(shù)據(jù)轉(zhuǎn)換。

(4) 異構(gòu)系統(tǒng)安全策略。采用基于WS?Security的安全機(jī)制實(shí)現(xiàn)SOAP消息的安全傳遞,其中對(duì)XML元素加密算法由WS?Security規(guī)范提供,這種加密算法滿足了消息級(jí)安全的需要[5]。同時(shí),采用基于X.509證書的PKI技術(shù)實(shí)現(xiàn)對(duì)SOAP消息進(jìn)行加密、解密和簽名、認(rèn)證,最終實(shí)現(xiàn)安全的SOAP消息調(diào)用。

4 結(jié) 語(yǔ)

本文結(jié)合HL7 V3版本的特點(diǎn)和XML技術(shù)的優(yōu)勢(shì),提出在保留原HIS和數(shù)據(jù)庫(kù)的基礎(chǔ)上,采用外掛中間件的方式實(shí)現(xiàn)異構(gòu)醫(yī)療數(shù)據(jù)交互的策略,構(gòu)建了數(shù)據(jù)交互的系統(tǒng)架構(gòu),并闡述了關(guān)鍵技術(shù)解決方案,對(duì)實(shí)現(xiàn)區(qū)域衛(wèi)生信息化建設(shè)環(huán)境下的醫(yī)療數(shù)據(jù)交互提供了一個(gè)切實(shí)可行的方案。

參考文獻(xiàn)

[1] 佚名.攻堅(jiān)醫(yī)改難題勇?lián)l(fā)展重任:2012年醫(yī)療衛(wèi)生信息化發(fā)展與未來(lái)展望[J].中國(guó)信息界,2012(12):40?45.

[2] Anon. HL7 version 2: health informatics [M]. [S.l.]: [s.n.], 2010: 107?128.

[3] AHMED K Z,UMRYSH C E.用J2EE和UML開發(fā)企業(yè)級(jí)應(yīng)用程序[M].康博,譯,北京:清華大學(xué)出版社,2002.

[4] 徐漢川,胡潤(rùn)波,劉國(guó)忠.基于XML/SOAP數(shù)據(jù)交換中間件的設(shè)計(jì)[J].哈爾濱商業(yè)大學(xué)學(xué)報(bào):自然科學(xué)版,2004,20(6):665?670.

[5] 蔡小芳,張永勝.在Web服務(wù)安全中XML加密與簽名的應(yīng)用[J].計(jì)算機(jī)安全,2006(7):20?23.