![基于WebService的數(shù)據(jù)共享設(shè)計(jì)_第1頁](http://file2.renrendoc.com/fileroot_temp3/2021-10/28/82250aa1-a763-4edb-b24c-5b4c2b95b938/82250aa1-a763-4edb-b24c-5b4c2b95b9381.gif)
![基于WebService的數(shù)據(jù)共享設(shè)計(jì)_第2頁](http://file2.renrendoc.com/fileroot_temp3/2021-10/28/82250aa1-a763-4edb-b24c-5b4c2b95b938/82250aa1-a763-4edb-b24c-5b4c2b95b9382.gif)
![基于WebService的數(shù)據(jù)共享設(shè)計(jì)_第3頁](http://file2.renrendoc.com/fileroot_temp3/2021-10/28/82250aa1-a763-4edb-b24c-5b4c2b95b938/82250aa1-a763-4edb-b24c-5b4c2b95b9383.gif)
下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、data sharing design based on webservice涂雨晨tu yuchen(江西財(cái)經(jīng)大學(xué)外國語學(xué)院,江西 南昌 330013)(faculty of foreign languages,jiangxi university of finance & economics,jiangxi nanchang 330013)摘要:隨著計(jì)算機(jī)技術(shù)的不斷發(fā)展,基于網(wǎng)絡(luò)教學(xué)的軟件也越來越多。然而每個(gè)軟件都是一個(gè)獨(dú)立的個(gè)體,無法與其他系統(tǒng)進(jìn)行數(shù)據(jù)共享。如何把各種軟件系統(tǒng)中有關(guān)聯(lián)的信息融合到一起?本文提出一種基于 java 的 webservice 數(shù)據(jù)共享的解決方案。該設(shè)計(jì)
2、方案能解決在不同系統(tǒng)中實(shí)現(xiàn)數(shù)據(jù)共享的問題,而且還具 有一定的通用性。關(guān)鍵詞:網(wǎng)絡(luò)教學(xué);webservice;數(shù)據(jù)共享中圖分類號:tp311文獻(xiàn)標(biāo)識碼:a文章編號:1671-4792(2012)05-0036-03abs tra ct: with the development of computer technology, there appears more and more teaching softwarebased on the network. every software is an independent subject, it's impossible to share
3、 data with other system. how to put the related information of all kinds of software system together? this paper proposes a webservice data sharing solution based on java. the design can solve the problem of data sharing in different systems, and also has some versatility.ke ywords : network teachin
4、g; webservice; data sharing0 引言隨著信息化水平的不斷提高,特別是近年來,高 等教育迅猛發(fā)展,有許多高校都存在多校區(qū)問題,這 給教學(xué)資源的分配帶來了一定的麻煩。然而通過網(wǎng) 絡(luò)教學(xué)軟件就可以發(fā)揮其不受地域限制的優(yōu)勢,解 決這一難題。但由于各種軟件建設(shè)和開發(fā)都是自成 體系,缺乏統(tǒng)一的標(biāo)準(zhǔn)和規(guī)范,不同語言、平臺的軟 件間很難形成數(shù)據(jù)資源的共享。如何把不同軟件廠 商生產(chǎn)的各種軟件通過某種傳遞通道方便、快捷、安 全地集成起來呢?webservice 技術(shù)可以說是一種很 好的解決方案。1 we bs e rvice 工作原理webservice 可以完全基于 xml、xsd 等
5、獨(dú)立 于平臺、獨(dú)立于軟件供應(yīng)商的一種標(biāo)準(zhǔn)。通過 web- service,我們可以使用任何語言在任何支持網(wǎng)絡(luò)通 信的平臺中實(shí)施運(yùn)行。webservice 通過網(wǎng)絡(luò)協(xié)議和一定的標(biāo)準(zhǔn)來發(fā)布這種服務(wù)。發(fā)布的一端叫 web-service 服務(wù)端,該服務(wù)端用一種方法來描述服務(wù)的 使用,這就屬于 wsdl。網(wǎng)絡(luò)的另一端即 webser- vice 客戶端,該客戶端需要以一種標(biāo)準(zhǔn)的協(xié)議來調(diào) 用此服務(wù),這屬于 soap。具體工作原理如圖一所 示。圖一 we bs e rvice 工作原理圖基于webservice 的數(shù)據(jù)共享設(shè)計(jì)2 基于 we bs e rvice 的中間層設(shè)計(jì)方案在一般的網(wǎng)絡(luò)教學(xué)系統(tǒng)中,用
6、戶數(shù)據(jù)往往需要 自行注冊,或者通過某種數(shù)據(jù)格式進(jìn)行導(dǎo)入,如 ex- cel 文件、文本文件等。這些數(shù)據(jù)往往來自于教務(wù)管 理系統(tǒng),如果這些數(shù)據(jù)有變化,那對于網(wǎng)絡(luò)教學(xué)系統(tǒng) 中的用戶數(shù)據(jù)管理來說,管理起來將更加麻煩,所以 按照以往的經(jīng)驗(yàn),我們需要對網(wǎng)絡(luò)教學(xué)系統(tǒng)進(jìn)行程 序改造,使之能和現(xiàn)有的教務(wù)管理系統(tǒng)進(jìn)行對接。 但由于網(wǎng)絡(luò)教學(xué)系統(tǒng)與教務(wù)管理系統(tǒng)的開發(fā)平臺、 開發(fā)語言都不同,這種對接幾乎成了不可能完成的 任務(wù)。但是利用 webservice 技術(shù)可以輕松解決這一 難題,下面我們將以傳遞一個(gè)學(xué)生對象集合為例來 講述 webservice 傳遞數(shù)據(jù)的整個(gè)過程。首先,我們需要開發(fā)一個(gè) webservice
7、服務(wù)端。 服務(wù)端的開發(fā)可以根據(jù)實(shí)際需求來做,應(yīng)用系統(tǒng)需 要什么,開發(fā)時(shí)我們就提供什么。我們可以把具體 的業(yè)務(wù)需求封裝成方法,待方法實(shí)現(xiàn)后,生成描述 webservice 應(yīng)用的 wsdl 文檔,然后加入 web 發(fā) 布。webservice 客戶端根據(jù)提供的 wsdl 文檔得到 具體的方法說明,然后可以調(diào)用此方法。客戶端將 調(diào)用信息包括方法名和參數(shù)加入到 soap 格式消 息中通過 http 傳送給 webservice 服務(wù)端。服務(wù)端從 soap 消息中獲得調(diào)用信息,然后執(zhí)行方法,將返回 對象序列集合結(jié)果加入到 soap 消息中通過 http 傳回??蛻舳舜淼玫竭@個(gè) soap 消息后,解析
8、處 理生成對象集合結(jié)果。在下面的例子中我們將用傳 遞學(xué)生對象為例來描述 webservice 的工作流程。2.1 webservice 服務(wù)端 在此實(shí)例中,我們將開發(fā)一個(gè) webservice 服務(wù)端,服務(wù)端的主要功能是將教務(wù)管理系統(tǒng)中的學(xué)生 數(shù)據(jù)取出,然后生成接口,進(jìn)行發(fā)布,接收客戶端發(fā) 來的 soap 請求消息,解析其中的方法調(diào)用和參數(shù) 格式。根據(jù) wsdl 和 wsml 的描述,調(diào)用相應(yīng)的 com 對象來完成指定功能,并把返回值放入 soap 回應(yīng)消息返回給用戶。具體來說,開發(fā)重點(diǎn)可以分 為三部分:獲取數(shù)據(jù)、對象轉(zhuǎn)換、wsdl 發(fā)布。2.1.1 獲取數(shù)據(jù)樣可以更好地為數(shù)據(jù)的獲取打下基礎(chǔ)。
9、2.1.2 對象轉(zhuǎn)換根據(jù)具體的業(yè)務(wù)需求從數(shù)據(jù)庫中獲取數(shù)據(jù),然 后建立 student 對象。再將查詢出來的 resultset 集 合,通過字段與對象屬性的一一對應(yīng)轉(zhuǎn)換成 student 對象集合。這樣可以使得業(yè)務(wù)更加明確,使用方法也 更加方便。2.1.3 wsdl 發(fā)布本例中采用了 jax-ws 工具包對具體的業(yè)務(wù) 方法進(jìn)行封裝與發(fā)布。我們只需要通過 java 語言定 義遠(yuǎn)程調(diào)用所需要實(shí)現(xiàn)的接口 sei (service end- point interface),并提供相關(guān)的實(shí)現(xiàn), 通 過 調(diào) 用 jax-ws 的服務(wù)發(fā)布接口就可以將其發(fā)布為 web- service 接口。jax-ws
10、會(huì)自動(dòng)幫我們生成 wsdl 文 檔(服務(wù)描述文件)以供客戶端調(diào)用。2.2 webservice 客戶端幾乎任何語言都可以調(diào)用 webservice 提供的 服務(wù)。在調(diào)用 webservice 服務(wù)前,首先取得描述服 務(wù)端的標(biāo)準(zhǔn)文檔即 wsdl 文檔,通過解析文檔中的 內(nèi)容,可明白服務(wù)端調(diào)用的方式、輸入?yún)?shù)與輸出結(jié) 果的類型與要求,然后客戶端根據(jù)需要,生成恰當(dāng)?shù)?soap 請求消息 (指定調(diào)用的方法和已經(jīng)調(diào)用的參 數(shù)),發(fā)往服務(wù)端。在客戶端,首先要?jiǎng)?chuàng)建一個(gè) http- connector 對象,負(fù)責(zé) http 連接。設(shè)定 connector 的一些頭部信息,比如 endpoinurl 和 soa
11、paction 等。如果網(wǎng)絡(luò)連接需要使用代理服務(wù)器,那也要在這里設(shè)定相關(guān)的信息。接著創(chuàng)建 soapserializer 對象,用于生成 soap 消息。按照 wsdl 里定義,把所有參數(shù)按順序序列化,得到一個(gè)完整的 soap 請求消 息。該 soap 消息,通過 httpconnector 被發(fā)送到服 務(wù)端。最后,生成一個(gè) soapreader 對象,負(fù)責(zé)讀取服 務(wù)端返回的 soap 消息,取得其中的返回值。在這 里我們使用 jax-ws 工具,通過 url 得到的 ws- dl 文件 jax-ws api 可以解析 wsdl 標(biāo)準(zhǔn)文檔產(chǎn)生 相應(yīng)的調(diào)用方法并在內(nèi)部生成所有 webservice
12、 的方 法和參數(shù)信息。之后,你就可以像調(diào)用接口里的方法一 樣,調(diào)用里面所有的方法。調(diào)用示意圖如圖二所示。con.close(); / 關(guān)閉數(shù)據(jù)連接return list; / 返回對象集合4 結(jié)束語本文所述 webservice 技術(shù)在網(wǎng)絡(luò)教學(xué)系統(tǒng)中 得到了使用,實(shí)現(xiàn)了不同系統(tǒng)之間的數(shù)據(jù)對象傳遞 過程。由于其結(jié)構(gòu)簡單、使用方便、通用性強(qiáng),在實(shí)際 應(yīng)用中有著良好的效果。通過使用 webservice 技術(shù) 能夠使不同系統(tǒng)在不同平臺中進(jìn)行信息共享,使單 個(gè)系統(tǒng)不再是“信息孤島”,是系統(tǒng)間進(jìn)行數(shù)據(jù)傳遞 的很好的解決方案。public class queryteacherschedule public
13、 list<scheduleyjsrs> findres (string term, string teachercode) / 通過學(xué)期,教師編號,查詢教學(xué)課表集合conn con = new conn("yjsschedulers"); / 獲取 連接string creditsql=" select * from v_teacher- schedule where (term = ? ) and (firstteachercode= ? ) " / 查詢 sql 語句list<scheduleyjsrs>list=newar
14、-raylist<scheduleyjsrs>(); / 準(zhǔn)備 listtry preparedstatement s = con.preparestatement(creditsql);s.setstring(1,term); / 學(xué)期參數(shù) s.setstring(2,teachercode); / 教師參數(shù) resultset rs = s.executequery(); / 取得結(jié)果集list = dbutils.populate (rs, scheduleyjsrs.class);/ 返回結(jié)果的列表集合,并強(qiáng)制轉(zhuǎn)換成教學(xué)課表對 象集合。 catch (sqlexception e) e.printstacktrace(); catch (instantiationexception e) e.printstacktrace(); catch (illegalaccessexception e) e.printstacktrace();finally參考文獻(xiàn)1莊秀麗,孫
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 三年級下冊數(shù)學(xué)口算題卡
- 三年級下冊口算題
- 統(tǒng)編版一年級下冊語文園地三 公開課一等獎(jiǎng)創(chuàng)新教學(xué)設(shè)計(jì)(2課時(shí))
- 赤峰應(yīng)用技術(shù)職業(yè)學(xué)院《工程造價(jià)軟件應(yīng)用》2023-2024學(xué)年第二學(xué)期期末試卷
- 玉溪師范學(xué)院《經(jīng)濟(jì)學(xué)說史》2023-2024學(xué)年第二學(xué)期期末試卷
- 關(guān)于設(shè)備管理工作要點(diǎn)計(jì)劃月歷表(30篇)
- 長春醫(yī)學(xué)高等專科學(xué)?!豆I(yè)儀表與工程測試》2023-2024學(xué)年第二學(xué)期期末試卷
- 天津外國語大學(xué)濱海外事學(xué)院《社區(qū)管理實(shí)務(wù)》2023-2024學(xué)年第二學(xué)期期末試卷
- 四川職業(yè)技術(shù)學(xué)院《經(jīng)濟(jì)師資格》2023-2024學(xué)年第二學(xué)期期末試卷
- 人工智能與車載通信系統(tǒng)的協(xié)同發(fā)展
- 必修3《政治與法治》 選擇題專練50題 含解析-備戰(zhàn)2025年高考政治考試易錯(cuò)題(新高考專用)
- 2024-2025學(xué)年人教版生物八年級上冊期末綜合測試卷
- 北師大版高中數(shù)學(xué)選修4-6初等數(shù)論初步全套課件
- 外貿(mào)業(yè)務(wù)員面試試卷
- 紀(jì)檢知識答題測試題及答案
- 創(chuàng)傷急救-止血、包扎課件
- 大數(shù)據(jù)背景下網(wǎng)絡(luò)輿情成因及治理
- 道教系統(tǒng)諸神仙位寶誥全譜
- 中國經(jīng)濟(jì)轉(zhuǎn)型導(dǎo)論-政府與市場的關(guān)系課件
- 新視野大學(xué)英語讀寫教程 第三版 Book 2 unit 8 教案 講稿
- 村務(wù)公開表格
評論
0/150
提交評論