欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

采用webservice作統(tǒng)一接口實現(xiàn)esb的方法

文檔序號:8415655閱讀:8788來源:國知局
采用webservice作統(tǒng)一接口實現(xiàn)esb的方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及的是信息系統(tǒng)中的B/S架構(gòu)中SOA領(lǐng)域的實現(xiàn)模型,具體地說是利用WEBSERVICE的AXIS2技術(shù)實現(xiàn)ESB總線,在其基礎(chǔ)上發(fā)布空的服務(wù),實現(xiàn)統(tǒng)一接口、服務(wù)編排,達到企業(yè)級總線服務(wù)的目的。
【背景技術(shù)】
[0002]SOA (Service Oriented Architecture)面向服務(wù)的架構(gòu),是一種將信息系統(tǒng)模塊化為服務(wù)的架構(gòu)風(fēng)格。擁有服務(wù)之后,可以通過編配服務(wù)給業(yè)務(wù)流程帶來生命力。通過S0A,軟件可以靈活的為服務(wù)提供者和消費者選擇實現(xiàn)技術(shù)和部署位置,通過穩(wěn)定的服務(wù)接口,隔離服務(wù)消費者和服務(wù)提供者之間的耦合,大大縮小接口雙方由于業(yè)務(wù)或者技術(shù)的改變而對另外一方造成的影響。
[0003]由于系統(tǒng)共享平臺面對多個外部系統(tǒng),外部系統(tǒng)的業(yè)務(wù)、技術(shù)升級是不可避免的。采用SOA架構(gòu)來設(shè)計共享平臺的安全體系,可以使得共享平臺應(yīng)對靈活多變的外部系統(tǒng),搭建可高、穩(wěn)定的安全平臺,本發(fā)明就是應(yīng)對多變的項目架構(gòu)技術(shù)實現(xiàn)的一種方式。
[0004]目前,現(xiàn)有的SOA架構(gòu)存在的問題是:
[0005]J2EE系統(tǒng)采用三層的MVC架構(gòu)之后,多個視圖能共享一個模型,模型是自包含的,與控制器和視圖保持相對獨立,所以可以方便地改變應(yīng)用程序的數(shù)據(jù)層和業(yè)務(wù)規(guī)則,控制器提高了應(yīng)用程序的靈活性和可配置性。其解決的主要問題有下幾部分:
[0006].將Web頁面中的輸入元素封裝為一個(請求)數(shù)據(jù)對象。
[0007].根據(jù)請求的不同,調(diào)度相應(yīng)的邏輯處理單元,并將(請求)數(shù)據(jù)對象作為參數(shù)傳入。
[0008].邏輯處理單元完成運算后,返回一個結(jié)果數(shù)據(jù)對象。
[0009]?將結(jié)果數(shù)據(jù)對象中的數(shù)據(jù)與預(yù)先設(shè)計的表現(xiàn)層相融合并展現(xiàn)給用戶或?qū)⑵涑志没?br>[0010]上述內(nèi)容涉及的都是分層的問題,而不能解決分布問題。在大型企業(yè)中分布式系統(tǒng)的架構(gòu)就顯得特別重要,但是顯然用先前的MVC并不能實現(xiàn)龐大的平臺開發(fā)。大部分J2EE應(yīng)用程序,特別是WEB應(yīng)用程序,并不能從分布式體系架構(gòu)中受益。甚至相反,由于前期的過渡設(shè)計,在根本無需分布式的應(yīng)用中大量使用分布式技術(shù),不但沒有享受到分布式的優(yōu)點,而且還帶來了不同應(yīng)用層之間昂貴的遠程調(diào)用,引入了復(fù)雜的遠程訪問期間基礎(chǔ)架構(gòu)和分布式編程。同時,邏輯層的分層遠比物理層的分隔重要。選擇分布式也就是選擇ESB (Enterprise Service Bus,企業(yè)服務(wù)總線),選擇ESB也就是選擇了重量級組件。選擇了重量級的組件,就很難面對頻繁的統(tǒng)一服務(wù)管理,如何讓諸多的服務(wù)都集中在一起,通過同一個通道去通信,這也正是SOA中的ESB的關(guān)鍵路徑,是需要解決的重要問題。

【發(fā)明內(nèi)容】

[0011]本發(fā)明的目的是針對上述問題,提供一種統(tǒng)一的注冊、訪問、處理服務(wù)的方法,無論是新服務(wù),還是舊服務(wù),都只需要調(diào)用一個接口,無論注冊了多少個服務(wù),在ESB對外的接口中,核心內(nèi)部調(diào)用永遠是一個,添加了新服務(wù)接口,通信報文實際上還是利用一個接口,對外注冊的服務(wù)都是空的服務(wù)。
[0012]本發(fā)明利用標(biāo)準(zhǔn)的WEBSERVICE架構(gòu)進行改進,形成ESB級別的SOA構(gòu)架。實現(xiàn)ESB包括以下步驟:首先建立標(biāo)準(zhǔn)的MVC系統(tǒng)框架,然后整合AXIS2技術(shù)點,更改標(biāo)準(zhǔn)的MVC框架和AXIS2技術(shù)使它可以實現(xiàn)ESB理念,然后對外發(fā)布空服務(wù),以攔截器的形式去統(tǒng)一接口及接口的實現(xiàn)。
[0013]具體來說,本發(fā)明采用的技術(shù)方案是:
[0014]一種采用WEBSERVICE作統(tǒng)一接口實現(xiàn)ESB的方法,其步驟包括:
[0015]I)建立標(biāo)準(zhǔn)的MVC系統(tǒng)框架并添加SOA架構(gòu),把WEBSERVICE的開源框架AXIS2整合到標(biāo)準(zhǔn)的MVC框架中。
[0016]2)更改AXIS2的核心架構(gòu)實現(xiàn),添加服務(wù)級消息接收器并作為所有操作的相同的消息接收器,由AXIS2自動給操作選擇正確的消息接收器;
[0017]3)對外發(fā)布空的服務(wù),用消息接收器攔截所有的通信,并把報文體包裝成SOAP報文返回給服務(wù)請求者,實現(xiàn)服務(wù)消息的統(tǒng)一處理。
[0018]步驟I)中標(biāo)準(zhǔn)的MVC系統(tǒng)框架包括結(jié)構(gòu)化數(shù)據(jù)庫、NYBATIS數(shù)據(jù)庫訪問層、SPRING配置管理層和STRUTS2控制訪問層等。
[0019]上面方法的實現(xiàn)首先需要對服務(wù)進行編排。由于WEBSERVICE的每一個服務(wù)都得至少有一個操作對象,而每一個服務(wù)都不止一個操作方法,所以就要對服務(wù)和操作建立對應(yīng)關(guān)系,然后把操作進行編排,服務(wù)的使用者也要和提供者定制一套服務(wù)標(biāo)準(zhǔn)。這些標(biāo)準(zhǔn)中包含原子服務(wù)與非原子服務(wù),若干個原子服務(wù)組合在一起就會變成一個非原子服務(wù),當(dāng)一個請求如果是一個非原子服務(wù)時,那么就要對原子服務(wù)進行編排,每一個原子服務(wù)都有一個服務(wù)號碼,根據(jù)不同的服務(wù)號碼,調(diào)用不同級別的服務(wù)。調(diào)用服務(wù)引擎可以用java直接讀取.java文件,然后自動編譯,但這樣性能不是很好,本發(fā)明采用腳本代碼去編排,如shell、ruby腳本語言都是優(yōu)選的方案。
[0020]然后,就是解決統(tǒng)一報文的問題,在WS中的報文是SOAP格式,遠遠不能滿足架構(gòu)要求,這是就得對SOAP報文進行格轉(zhuǎn),格轉(zhuǎn)的步驟有下面幾步:
[0021 ] I)消息接收器接收到非SOAP標(biāo)準(zhǔn)報文;
[0022]2)調(diào)用消息統(tǒng)一處理器格轉(zhuǎn)成標(biāo)準(zhǔn)的SOAP報文;
[0023]3)根據(jù)報文頭中的信息確定服用類型;
[0024]4)調(diào)用業(yè)務(wù)實現(xiàn);
[0025]5)添加業(yè)務(wù)報文后格轉(zhuǎn)成標(biāo)準(zhǔn)的SOAP報文,回傳給服用請求者。
[0026]本發(fā)明提供的統(tǒng)一的訪問、處理服務(wù)的方法,無論是新服務(wù)還是舊服務(wù),都能調(diào)用一個接口,進行無數(shù)個服務(wù)的注冊查詢與操作。具體來說,與現(xiàn)有技術(shù)相比,本發(fā)明的優(yōu)點是:
[0027]1.在服務(wù)管理方面能夠統(tǒng)一處理報文處理機制。
[0028]2.在服務(wù)注冊者與服務(wù)提供者定制完成報文及服務(wù)的標(biāo)準(zhǔn)后,即完成了開發(fā),因為本發(fā)明是提供的一種消息通道標(biāo)準(zhǔn)與架構(gòu)。
[0029]3.由于服務(wù)的注冊、添加、更改會很頻繁,對于樞紐級別的項目架構(gòu)而言,樞紐一定是一對多(多的一方是服務(wù)消費者),本發(fā)明能夠以不變應(yīng)萬變(發(fā)布一個空服務(wù),服務(wù)的標(biāo)準(zhǔn)就是步驟I)中定制的標(biāo)準(zhǔn)),能夠應(yīng)對樞紐級別的大型應(yīng)用。
[0030]4.在標(biāo)準(zhǔn)的SOAP上再次自定義報文,保證了通信報文的靈活性。
[0031]5.擴容性能強大,因為本發(fā)明是采用市場上已經(jīng)存在的WEBSERVICE標(biāo)準(zhǔn),WEBSERVICE本身就具有很多自動發(fā)布、WSDL標(biāo)準(zhǔn)、SOAP協(xié)議等。
【附圖說明】
[0032]圖1是標(biāo)準(zhǔn)MVC架構(gòu)的實現(xiàn)圖。
[0033]圖2是添加AXIS2后的項目結(jié)構(gòu)圖。
[0034]圖3是AXIS2服務(wù)發(fā)布標(biāo)準(zhǔn)圖。
[0035]圖4是AXIS2的服務(wù)應(yīng)用流程圖。
[0036]圖5是AXIS2機制更改后添加ESB理念的配置圖。
[0037]圖6是服務(wù)調(diào)用的運行狀態(tài)圖。
[0038]圖7是應(yīng)用本發(fā)明方法的業(yè)務(wù)用例圖。
[0039]圖8是利用工具SOAPH進行理論驗證的抽象圖。
[0040]圖9和圖10是用工具SOAPH進行測試的結(jié)果圖,其中圖9表示已發(fā)布的AccSer服務(wù)被成功調(diào)用,圖10表示此服務(wù)做性能壓力后的表現(xiàn)情況。
【具體實施方式】
[0041]下面通過具體實施例和附圖,對本發(fā)明做進一步說明。
[0042]本發(fā)明利用標(biāo)準(zhǔn)的WEBSERVICE架構(gòu)進行改進,形成ESB級別的SOA構(gòu)架。首先建立標(biāo)準(zhǔn)的MVC系統(tǒng)框架,然后整合AXIS2技術(shù)點,更改標(biāo)準(zhǔn)的MVC框架和AXIS2技術(shù)使它可以實現(xiàn)ESB理念,下面進行具體說明。
[0043]1.建立標(biāo)準(zhǔn)的MVC項目架構(gòu)
[0044]首先,根據(jù)MVC思想的指導(dǎo),建立一個標(biāo)準(zhǔn)的Struts2+Spring3+Mybatis的小型項目框架,使項目可以正常啟動,并且可以登錄。Java2企業(yè)版為中間件領(lǐng)域思想的統(tǒng)一發(fā)揮了很大的作用。比如,J2EE為分布式事務(wù)管理、目錄服務(wù)和消息服務(wù)提供了一套標(biāo)準(zhǔn)的編程接口。J2EE的基礎(chǔ)——Java2標(biāo)準(zhǔn)版(J2SE),成功地為Java提供了一套訪問關(guān)系數(shù)據(jù)庫的標(biāo)準(zhǔn)。
[0045]MVC框架是由一些類組成,正是這些類為應(yīng)用程序提供了一個可重用的設(shè)計一一或者我們經(jīng)常提到的——應(yīng)用程序中的一層。應(yīng)用程序代碼訪問類庫從而執(zhí)行任務(wù),而框架是調(diào)用應(yīng)用程序代碼,從而管理程序的流程。這就是經(jīng)常說到的好萊塢原則:“不要試圖聯(lián)系我們,我們到時候自會通知你?!遍_發(fā)者寫的程序在運行時由框架調(diào)用。MVC是一個設(shè)計模式,它強制性的使應(yīng)用程序的輸入、處理和輸出分開。
[0046]圖1是標(biāo)準(zhǔn)MVC架構(gòu)的實現(xiàn)圖。其中:IE即訪問、注冊等用戶使用層,指服務(wù)的注冊方,調(diào)用用方;ESB服務(wù)總線(AXIS2)指ESB和消息處理器、報文格式轉(zhuǎn)換器等;STRUTS2控制訪問層是指市場上常用的訪問控制框架;SPRING配置管理層是指市場上常用的注入管理控制框架;NYBATIS數(shù)據(jù)庫訪問層是數(shù)據(jù)庫操作中間件;結(jié)構(gòu)化數(shù)據(jù)庫是指ORACLE或者MSQL等結(jié)構(gòu)化數(shù)據(jù)庫;其它業(yè)務(wù)系統(tǒng):指除本架構(gòu)中其它的服務(wù)注冊、使用的系統(tǒng)或平臺。
[0047]2.整合AXIS2到標(biāo)準(zhǔn)的MVC項目架構(gòu)中
[0048]MVC應(yīng)用程序被分成三個核心部件:模型、視圖、控制器,它們各自處理自己的任務(wù)。
[0049]AXIS2在實現(xiàn)一個服務(wù)時會要求有一個services, xml,在這個文件中配置了服務(wù)名、消息接收類、消息的操作類,在這里我們更關(guān)心的是AXIS2核心操作一消息接收類。
[0050]AXIS2利用消息接收類把傳過來的SOAP包封裝后傳給我們自定義的類,自定義類是要求我們?nèi)懙?。也就是說,自定義的類拿到的消息永遠是AXIS2的消息接收類(messageReceiver)傳過來的。那就是說如果單單發(fā)布一個服務(wù),有兩個操作類在操作SOAP數(shù)據(jù)包。如果是這樣,就出現(xiàn)了過濾的功能,所有的服務(wù)發(fā)布后,在通信上而言,都是被過濾后才轉(zhuǎn)給用戶所定義的類中。根據(jù)AXIS2的標(biāo)準(zhǔn),可以使用AX1M等方式。無論是哪一種方式,都可以得出一個結(jié)論:AXIS2所有的已發(fā)布的服務(wù)都是被消息接收類過濾后才傳給自定義類。
[0051]添加AXIS2后的項目結(jié)構(gòu)圖如圖2所示。其中,客戶端(界面):指IE瀏覽器;服務(wù)總線(消息路由):指ESB和消息處理器、報文格式轉(zhuǎn)換器等;WEB服務(wù)器(服務(wù)接口):指已經(jīng)注冊成功的或已經(jīng)發(fā)布的WSDL服務(wù);應(yīng)用服務(wù)器(業(yè)務(wù)邏輯、數(shù)據(jù)訪問):指具體的實現(xiàn)操作方法;數(shù)據(jù)庫(數(shù)據(jù)):指服務(wù)編碼存儲及查詢的數(shù)據(jù)庫。
[0052]分析:根據(jù)AXIS2的標(biāo)準(zhǔn),發(fā)布一個服務(wù),只要按照相應(yīng)的目錄新建了相應(yīng)的報文,一個服務(wù)就會被發(fā)布,如AXIS
當(dāng)前第1頁1 2 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
合作市| 阳高县| 双城市| 阿拉善盟| 梁平县| 普兰县| 澄江县| 秦皇岛市| 永吉县| 石屏县| 台山市| 德化县| 凤山市| 台南县| 中江县| 灌阳县| 姜堰市| 斗六市| 宁蒗| 康保县| 余干县| 犍为县| 清丰县| 元氏县| 商都县| 郁南县| 泰顺县| 贞丰县| 乌兰县| 额济纳旗| 尚志市| 莱芜市| 渝北区| 镇赉县| 广昌县| 威信县| 社旗县| 乌兰察布市| 古蔺县| 淮滨县| 诸城市|