• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      構(gòu)建基于WEB服務(wù)的SOA信息集成系統(tǒng)
      ——以襄樊學(xué)院圖書館為例

      2012-12-08 09:05:42
      湖北文理學(xué)院學(xué)報 2012年2期
      關(guān)鍵詞:功能模塊調(diào)用數(shù)據(jù)庫

      胡 鵬

      (襄樊學(xué)院 圖書館,湖北 襄陽 441053)

      構(gòu)建基于WEB服務(wù)的SOA信息集成系統(tǒng)
      ——以襄樊學(xué)院圖書館為例

      胡 鵬

      (襄樊學(xué)院 圖書館,湖北 襄陽 441053)

      Web服務(wù)體系結(jié)構(gòu)是一種面向服務(wù)的體系結(jié)構(gòu)(SOA). 文章通過分析Web服務(wù)特性,以筆者所在圖書館的信息集成系統(tǒng)為例,探討了如何利用Web服務(wù)構(gòu)建面向服務(wù)體系結(jié)構(gòu)(SOA)的信息集成系統(tǒng),并與目前普遍使用的B/S信息集成系統(tǒng)進(jìn)行比較分析,說明了SOA信息集成系統(tǒng)的高效性,可擴展性與跨平臺性.

      WEB服務(wù);SOA信息集成系統(tǒng);B/S信息集成系統(tǒng)

      1 Web服務(wù)及SOA概述

      近年來,Web服務(wù)技術(shù)發(fā)展迅速,它建立在廣泛使用的HTTP協(xié)議之上,采用XML來統(tǒng)一數(shù)據(jù)描述格式,使用簡單對象訪問協(xié)議(Simple Object Access Protocol,SOAP)替代了傳統(tǒng)的組件調(diào)用方式,而且基于XML的Web Service表現(xiàn)為一系列的功能模塊,并能夠通過標(biāo)準(zhǔn)接口進(jìn)行訪問,為互聯(lián)網(wǎng)應(yīng)用提供了一種共享數(shù)據(jù)和功能的有效方式,能夠較好地解決異構(gòu)應(yīng)用之間松散耦合環(huán)境下的互操作,集成和協(xié)作問題[1-2]. 因此,基于XML的Web 服務(wù)技術(shù)正在成為互聯(lián)網(wǎng)環(huán)境下異構(gòu)應(yīng)用之間的互操作和集成,以及數(shù)據(jù)共享的主流中間件技術(shù),成為國內(nèi)外網(wǎng)絡(luò)軟件技術(shù)研發(fā)的重要方向[3-4]. Web服務(wù)具有:完好的封裝性;松散耦合性;使用協(xié)約的規(guī)范性;使用標(biāo)準(zhǔn)協(xié)議規(guī)范;高度可集成能力;開放性等特性.

      Web服務(wù)體系基于三個方面即服務(wù)發(fā)布、服務(wù)注冊、服務(wù)請求之間的交互. 對于服務(wù)發(fā)布方要求所提供的程序功能模塊以Web服務(wù)形式發(fā)布,并將其在服務(wù)注冊中心注冊,而服務(wù)的請求方則使用查找操作從服務(wù)注冊中心檢索服務(wù)描述,然后通過服務(wù)描述與服務(wù)提供者進(jìn)行綁定并調(diào)用web服務(wù)實現(xiàn)交互. 如圖1所示.

      圖1 web服務(wù)體系結(jié)構(gòu)

      面向服務(wù)的體系結(jié)構(gòu)(Service-Oriented Architecture,SOA)是一個組件模型,它將應(yīng)用程序的不同功能單元(稱為服務(wù))通過服務(wù)之間定義良好的接口和契約聯(lián)系起來. 接口采用中立的方式進(jìn)行定義,它獨立于實現(xiàn)服務(wù)的硬件平臺、操作系統(tǒng)和編程語言. 這使得構(gòu)建在該系統(tǒng)中的各種服務(wù)以一種統(tǒng)一通用的方式進(jìn)行交互. 當(dāng)前SOA的實現(xiàn)形式是基于Web服務(wù)以及公開的W3C及其他公認(rèn)標(biāo)準(zhǔn). SOA具有以下特性[2-5]:1)可重用. SOA系統(tǒng)中的Web服務(wù)創(chuàng)建后能用于多個應(yīng)用和業(yè)務(wù)流程. 2)松耦合. SOA系統(tǒng)中服務(wù)請求者到服務(wù)提供者的綁定與服務(wù)之間應(yīng)該是松耦合的. 因此,服務(wù)請求者不需要知道服務(wù)提供者實現(xiàn)的技術(shù)細(xì)節(jié),例如程序語言、底層平臺等等. 3)明確定義的接口. SOA系統(tǒng)中的Web服務(wù)的交互必須是明確定義的. Web服務(wù)描述語言(Web Services Description Language,WSDL)是用于描述服務(wù)請求者的要求綁定到服務(wù)提供者的細(xì)節(jié),但WSDL不包括服務(wù)實現(xiàn)的任何技術(shù)細(xì)節(jié). 服務(wù)請求者不知道也不關(guān)心服務(wù)究竟是由哪種程序設(shè)計語言編寫的. 4)無狀態(tài)的服務(wù)設(shè)計. SOA系統(tǒng)中的Web服務(wù)是獨立的、自包含請求,在實現(xiàn)時它不需要獲取從一個請求到另一個請求的信息或狀態(tài). 服務(wù)不應(yīng)該依賴于其他服務(wù)的上下文和狀態(tài). 當(dāng)產(chǎn)生依賴時,它們可以定義成通用業(yè)務(wù)流程、函數(shù)和數(shù)據(jù)模型.

      2 Web服務(wù)的異步調(diào)用

      常規(guī)的Web服務(wù)交互過程如下:

      1)客戶端程序發(fā)送SOAP請求;2)Web服務(wù)接收請求后,調(diào)用內(nèi)部Web Method進(jìn)行處理;3)客戶端接收Web服務(wù)以SOAP形式響應(yīng)處理結(jié)果.

      在以上Web服務(wù)交互過程中,如果Web服務(wù)響應(yīng)被立即提供,就不會產(chǎn)生任何問題. 但是,如果Web服務(wù)需要較長時間來完成服務(wù)處理,則客戶端程序處理請求的線程會一直被占用,直到Web服務(wù)調(diào)用結(jié)束.異步調(diào)用允許客戶端程序在調(diào)用Web服務(wù)時,不必等待Web服務(wù)的方法執(zhí)行完成后,客戶端程序才能繼續(xù)執(zhí)行;而是在調(diào)用Web服務(wù)后,立即返回. 因此,客戶端程序調(diào)用Web服務(wù)后,能繼續(xù)處理其他任務(wù),包括發(fā)出更多的異步請求,然后在異步操作完成后來處理Web服務(wù)的響應(yīng).如圖2所示. 請求1和請求2可以發(fā)送到同一臺計算機,也可以發(fā)送到不同計算機. 異步通信將使應(yīng)用程序復(fù)雜化并且難以調(diào)試,而且異步請求不一定按照它們被提交的順序返回(如圖2中,請求2在請求1的后面提交,但是先執(zhí)行完先返回). 這種行為允許應(yīng)用程序不按順序執(zhí)行操作.[6]Web服務(wù)的異步調(diào)用是實現(xiàn)高效SOA信息集成系統(tǒng)的一個重要基礎(chǔ).

      圖2 web服務(wù)的異步調(diào)用

      3 B/S型信息集成系統(tǒng)模型

      B/S系統(tǒng)一般為三層結(jié)構(gòu),以本校圖書館的圖書管理系統(tǒng)IlasIII提供的B/S系統(tǒng)為例,其結(jié)構(gòu)如圖3所示. 其中用戶瀏覽器作為客戶層,而Ilas所提供的B/S系統(tǒng)服務(wù)端為服務(wù)層,IlasIII的Oracle數(shù)據(jù)庫為數(shù)據(jù)層.

      其工作流程如下:當(dāng)用戶通過自身的瀏覽器提交多個查詢請求時,系統(tǒng)的服務(wù)層將按照用戶提交的請求調(diào)用相應(yīng)的查詢模塊并返回結(jié)果,只有當(dāng)一個查詢執(zhí)行結(jié)束時,服務(wù)層才會執(zhí)行另一個查詢請求. 如圖4所示:

      圖3 B/S系統(tǒng)結(jié)構(gòu)

      圖4 B/S系統(tǒng)工作流程

      從B/S系統(tǒng)的結(jié)構(gòu)及其工作流程可以看出,B/S系統(tǒng)對于每個用戶是基于單線程的工作流程,以順序的方式執(zhí)行用戶提交的請求并返回結(jié)果,這樣Oracle數(shù)據(jù)庫所具備的多線程能力并未得到充分的利用,而單線程的工作流程反映出B/S系統(tǒng)的工作效率相對較低,同時由于B/S系統(tǒng)的服務(wù)層通常部署在一臺服務(wù)器上,因此當(dāng)客戶訪問量很大時服務(wù)器的負(fù)載非常重,效率降低.

      4 基于Web服務(wù)的SOA信息集成系統(tǒng)模型

      Web服務(wù)是構(gòu)建SOA信息集成系統(tǒng)的基礎(chǔ),SOA系統(tǒng)功能可由各Web服務(wù)提供,因此將IlasIII提供的B/S系統(tǒng)功能模塊改寫為Web服務(wù),構(gòu)建如圖5所示的SOA信息系統(tǒng)模型. 其中最大的變化是將B/S系統(tǒng)的系統(tǒng)服務(wù)層改寫為以Web服務(wù)為核心的多層結(jié)構(gòu). 將B/S系統(tǒng)服務(wù)層的每個功能模塊改寫成一個Web服務(wù)形成一個Web服務(wù)集,并在圖書館服務(wù)注冊中心注冊,圖書館服務(wù)注冊中心數(shù)據(jù)庫用于存儲館內(nèi)發(fā)布的Web服務(wù)的服務(wù)描述及調(diào)用地址. Web服務(wù)調(diào)用及數(shù)據(jù)匯集處理模塊分為三個子模塊,其中Web服務(wù)查詢模塊是根據(jù)用戶的請求到圖書館服務(wù)注冊中心查找相應(yīng)的Web服務(wù);Web服務(wù)調(diào)用模塊是根據(jù)查找到的Web服務(wù)描述信息來對相應(yīng)的Web服務(wù)進(jìn)行異步調(diào)用;信息匯集模塊是將各Web服務(wù)返回的信息進(jìn)行匯集處理,然后將處理后的結(jié)果返回給用戶. Web服務(wù)集是根據(jù)IlasIII系統(tǒng)提供的服務(wù)功能,其發(fā)布的Web服務(wù)主要包括4個功能模塊:借閱文獻(xiàn)查詢、借閱史查詢、財經(jīng)查詢、借閱權(quán)限查詢. Oralce數(shù)據(jù)庫是IlasIII的后臺數(shù)據(jù)庫. 這里圖書館服務(wù)注冊中心數(shù)據(jù)庫,Web服務(wù)調(diào)用及數(shù)據(jù)匯集處理模塊,以及每個單獨的Web服務(wù)均可以部署在不同的服務(wù)器上以實現(xiàn)整個系統(tǒng)的負(fù)載平衡.

      圖5 SOA信息系統(tǒng)模型

      其工作流程如下:當(dāng)用戶提供多個請求時,SOA系統(tǒng)的服務(wù)調(diào)用及數(shù)據(jù)匯集模塊會根據(jù)用戶的請求在服務(wù)注冊中心數(shù)據(jù)庫中查找相應(yīng)的Web服務(wù),再通過該模塊的Web服務(wù)調(diào)用子模塊異步調(diào)用相應(yīng)的Web服務(wù),由于異步調(diào)用不需要等到前一個請求的結(jié)果返回即可調(diào)用下一個Web服務(wù),因此幾個Web服務(wù)相當(dāng)于同時運行,這樣Oracle的多線程處理能力就會得到更充分的利用;Web服務(wù)執(zhí)行完畢后再將結(jié)果返回到系統(tǒng)的服務(wù)調(diào)用及數(shù)據(jù)匯集模塊,并由其數(shù)據(jù)匯集子模塊進(jìn)行處理,將結(jié)果返回給用戶,如圖6所示.

      圖6 SOA信息系統(tǒng)工作流程

      由此可見,當(dāng)用戶提供的請求越多,基于Web服務(wù)的SOA信息集成系統(tǒng)比傳統(tǒng)的B/S系統(tǒng)具有更高的效率,更好的用戶體驗,而傳統(tǒng)B/S結(jié)構(gòu)系統(tǒng)并未將Oracle的多線程功能充分利用. 在服務(wù)器負(fù)載方面,由于SOA系統(tǒng)將B/S系統(tǒng)的系統(tǒng)服務(wù)層分得更細(xì),同時每個模塊和web服務(wù)可用一單獨的服務(wù)器來負(fù)載,因此更具明顯優(yōu)勢.

      5 異構(gòu)數(shù)據(jù)的兼容與系統(tǒng)的可擴展性在圖書館信息集成中的應(yīng)用

      由于Web服務(wù)所使用的信息傳遞方式是基于XML統(tǒng)一標(biāo)記語言,因此SOA系統(tǒng)可以實現(xiàn)不同數(shù)據(jù)庫的數(shù)據(jù)兼容,根據(jù)實際需求隨時進(jìn)行擴展. 圖書館的一個重要任務(wù)就是對多方面信息進(jìn)行集成,根據(jù)本文所討論的SOA信息系統(tǒng)模型,可利用.Net平臺下的C#開發(fā)語言將圖書館原有的IlasIII和非書資料系統(tǒng)的B/S信息集成系統(tǒng)的功能模塊改寫成Web服務(wù),構(gòu)成IlasIII系統(tǒng)和非書系統(tǒng)的Web服務(wù)集,并將其注冊到圖書館自建的服務(wù)注冊中心數(shù)據(jù)庫. 圖書館網(wǎng)站則用來完成Web服務(wù)的調(diào)用數(shù)據(jù)處理以及用戶界面功能,這樣就構(gòu)建成由圖書館網(wǎng)站、IlasIII的Web服務(wù)集、非書系統(tǒng)的Web服務(wù)集、圖書館Web服務(wù)注冊中心、IlasIII的Oracle數(shù)據(jù)庫、非書系統(tǒng)的SQLServer數(shù)據(jù)庫組成的SOA信息集成系統(tǒng). 如圖7所示. 非書系統(tǒng)是以SQLServer2000作為后臺數(shù)據(jù)庫,其數(shù)據(jù)格式與IlasIII的Oracle數(shù)據(jù)庫有所不同,但若將非書資料系統(tǒng)中的功能模塊作為Web服務(wù)發(fā)布到圖書館的服務(wù)注冊中心數(shù)據(jù)庫中,即可實現(xiàn)兩個系統(tǒng)的信息整合. 圖書館用戶可以通過圖書館網(wǎng)站提交自己的請求,網(wǎng)站后臺程序會根據(jù)用戶提交的請求調(diào)用相應(yīng)的Web服務(wù),并將用戶所需要的結(jié)果通過網(wǎng)站返回給用戶. 比如,如果用戶想在一次請求中同時查詢IlasIII和非書資料系統(tǒng)的信息,只需在網(wǎng)站中發(fā)出請求,網(wǎng)站便會通過異步調(diào)用技術(shù),調(diào)用相應(yīng)的Web服務(wù),同時查詢IlasIII的Oracle數(shù)據(jù)庫和非書資料系統(tǒng)的SQLServer數(shù)據(jù)庫,并將處理結(jié)果返回給用戶. 倘若采用B/S信息集成系統(tǒng),用戶查詢兩個數(shù)據(jù)庫中的信息,必須進(jìn)行兩次請求,并當(dāng)一個查詢完成后才能進(jìn)行另一個查詢. 因此在局域網(wǎng)的模擬測試中,SOA信息集成系統(tǒng)比傳統(tǒng)的B/S信息集成系統(tǒng)更高效,用戶體驗也更好.

      圖7 圖書館SOA系統(tǒng)結(jié)構(gòu)圖

      6 結(jié)語

      Web服務(wù)構(gòu)建的SOA信息集成系統(tǒng)是根據(jù)基于Web服務(wù)的分布式平臺模型[4]演化而來,而基于Web服務(wù)分布式平臺的優(yōu)勢是其高效性,及對異構(gòu)數(shù)據(jù)的兼容和Web服務(wù)所具備的跨平臺能力,為解決目前廣泛存在的“信息孤島”問題[7]提供了方案. 因此,基于Web服務(wù)構(gòu)建的SOA信息集成系統(tǒng)同樣具備基于Web服務(wù)的分布式平臺模型所具有的高效性,對異構(gòu)數(shù)據(jù)的兼容性、跨平臺性、可擴展性. 除圖書館可用其進(jìn)行信息整合外,將它應(yīng)用于整個校園網(wǎng)或一個區(qū)域的局域網(wǎng)會使網(wǎng)內(nèi)各種信息得以更好的整合與共享.

      [1] 顧 寧, 劉家茂, 柴曉路. Web Services原理與研發(fā)實踐[M]. 北京: 機械工業(yè)出版社, 2006: 7-9.

      [2] 呂 曦, 王化文. Web Service的架構(gòu)與協(xié)議[J]. 計算機應(yīng)用, 2002(12): 62-65.

      [3] 楊 濤, 劉錦德. Web Services技術(shù)綜述——一種面向服務(wù)的分布式計算模式[J]. 計算機應(yīng)用, 2004, 24 (8): 1-4.

      [4] TOM BARNABY. Distributed.NET Programming in C#[M]. 北京: 清華大學(xué)出版社, 2004: 15-17.

      [5] 楊俊超. 基于Soap/Web Service技術(shù)的分布式系統(tǒng)應(yīng)用研究[D]. 廣州: 廣東工業(yè)大學(xué), 2003.

      [6] 胡 鵬. 基于WEB服務(wù)的分布式平臺的研究與開發(fā)[D]. 武漢: 中國地質(zhì)大學(xué), 2007.

      [7] 飛思科技產(chǎn)品研發(fā)中心. Web Service原理與開發(fā)實務(wù)[M]. 北京: 電子工業(yè)出版社, 2003: 8-9.

      (責(zé)任編輯:陳 丹)

      Construction of a SOA Information Integration System with WEB Sercice: Taking Library of Xiangfan University as an Example

      HU Peng
      (Library, Xiangfan University, Xiangyang 441053, China)

      The web service architecture is a kind of service oriented architecture(SOA). This paper analyzes the characteristics of web service, and discusses the method employed to use the web service to construct service oriented architecture(SOA) information integration system based on the information integrated system in the college library as an example.This paper also analyzes the high efficiency,scalability and platform independence of service oriented architecture(SOA) information integration system compared with the widespread use of B/S integration system.

      Web Services; SOA information integration system; B/S information integration system

      TP393

      A

      1009-2854(2012)02-0021-04

      2012-01-22;

      2012-02-28

      胡 鵬(1978— ), 男, 湖北襄陽人, 襄樊學(xué)院圖書館助理館員.

      猜你喜歡
      功能模塊調(diào)用數(shù)據(jù)庫
      核電項目物項調(diào)用管理的應(yīng)用研究
      LabWindows/CVI下基于ActiveX技術(shù)的Excel調(diào)用
      數(shù)據(jù)庫
      財經(jīng)(2017年2期)2017-03-10 14:35:35
      基于系統(tǒng)調(diào)用的惡意軟件檢測技術(shù)研究
      基于ASP.NET標(biāo)準(zhǔn)的采購管理系統(tǒng)研究
      數(shù)據(jù)庫
      財經(jīng)(2016年15期)2016-06-03 07:38:02
      輸電線路附著物測算系統(tǒng)測算功能模塊的研究
      數(shù)據(jù)庫
      財經(jīng)(2016年3期)2016-03-07 07:44:46
      M市石油裝備公服平臺網(wǎng)站主要功能模塊設(shè)計與實現(xiàn)
      石油知識(2016年2期)2016-02-28 16:20:16
      數(shù)據(jù)庫
      財經(jīng)(2016年6期)2016-02-24 07:41:51
      中超| 永寿县| 两当县| 于都县| 外汇| 铁岭市| 康马县| 营山县| 德清县| 道孚县| 阿坝县| 福建省| 永兴县| 长春市| 武城县| 西城区| 临江市| 镇宁| 东兰县| 扬中市| 岗巴县| 海宁市| 马山县| 龙陵县| 克拉玛依市| 临猗县| 平乐县| 南雄市| 达孜县| 福清市| 沙河市| 江源县| 西昌市| 三亚市| 太白县| 平潭县| 新乡县| 汉中市| 安丘市| 涿鹿县| 罗城|