![基于WebService的數(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ù)共享設計_第2頁](http://file2.renrendoc.com/fileroot_temp3/2021-10/28/82250aa1-a763-4edb-b24c-5b4c2b95b938/82250aa1-a763-4edb-b24c-5b4c2b95b9382.gif)
![基于WebService的數(shù)據(jù)共享設計_第3頁](http://file2.renrendoc.com/fileroot_temp3/2021-10/28/82250aa1-a763-4edb-b24c-5b4c2b95b938/82250aa1-a763-4edb-b24c-5b4c2b95b9383.gif)
下載本文檔
版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、data sharing design based on webservice涂雨晨tu yuchen(江西財經(jīng)大學外國語學院,江西 南昌 330013)(faculty of foreign languages,jiangxi university of finance & economics,jiangxi nanchang 330013)摘要:隨著計算機技術的不斷發(fā)展,基于網(wǎng)絡教學的軟件也越來越多。然而每個軟件都是一個獨立的個體,無法與其他系統(tǒng)進行數(shù)據(jù)共享。如何把各種軟件系統(tǒng)中有關聯(lián)的信息融合到一起?本文提出一種基于 java 的 webservice 數(shù)據(jù)共享的解決方案。該設計
2、方案能解決在不同系統(tǒng)中實現(xiàn)數(shù)據(jù)共享的問題,而且還具 有一定的通用性。關鍵詞:網(wǎng)絡教學;webservice;數(shù)據(jù)共享中圖分類號:tp311文獻標識碼: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ū)問題,這 給教學資源的分配帶來了一定的麻煩。然而通過網(wǎng) 絡教學軟件就可以發(fā)揮其不受地域限制的優(yōu)勢,解 決這一難題。但由于各種軟件建設和開發(fā)都是自成 體系,缺乏統(tǒng)一的標準和規(guī)范,不同語言、平臺的軟 件間很難形成數(shù)據(jù)資源的共享。如何把不同軟件廠 商生產(chǎn)的各種軟件通過某種傳遞通道方便、快捷、安 全地集成起來呢?webservice 技術可以說是一種很 好的解決方案。1 we bs e rvice 工作原理webservice 可以完全基于 xml、xsd 等
5、獨立 于平臺、獨立于軟件供應商的一種標準。通過 web- service,我們可以使用任何語言在任何支持網(wǎng)絡通 信的平臺中實施運行。webservice 通過網(wǎng)絡協(xié)議和一定的標準來發(fā)布這種服務。發(fā)布的一端叫 web-service 服務端,該服務端用一種方法來描述服務的 使用,這就屬于 wsdl。網(wǎng)絡的另一端即 webser- vice 客戶端,該客戶端需要以一種標準的協(xié)議來調(diào) 用此服務,這屬于 soap。具體工作原理如圖一所 示。圖一 we bs e rvice 工作原理圖基于webservice 的數(shù)據(jù)共享設計2 基于 we bs e rvice 的中間層設計方案在一般的網(wǎng)絡教學系統(tǒng)中,用
6、戶數(shù)據(jù)往往需要 自行注冊,或者通過某種數(shù)據(jù)格式進行導入,如 ex- cel 文件、文本文件等。這些數(shù)據(jù)往往來自于教務管 理系統(tǒng),如果這些數(shù)據(jù)有變化,那對于網(wǎng)絡教學系統(tǒng) 中的用戶數(shù)據(jù)管理來說,管理起來將更加麻煩,所以 按照以往的經(jīng)驗,我們需要對網(wǎng)絡教學系統(tǒng)進行程 序改造,使之能和現(xiàn)有的教務管理系統(tǒng)進行對接。 但由于網(wǎng)絡教學系統(tǒng)與教務管理系統(tǒng)的開發(fā)平臺、 開發(fā)語言都不同,這種對接幾乎成了不可能完成的 任務。但是利用 webservice 技術可以輕松解決這一 難題,下面我們將以傳遞一個學生對象集合為例來 講述 webservice 傳遞數(shù)據(jù)的整個過程。首先,我們需要開發(fā)一個 webservice
7、服務端。 服務端的開發(fā)可以根據(jù)實際需求來做,應用系統(tǒng)需 要什么,開發(fā)時我們就提供什么。我們可以把具體 的業(yè)務需求封裝成方法,待方法實現(xiàn)后,生成描述 webservice 應用的 wsdl 文檔,然后加入 web 發(fā) 布。webservice 客戶端根據(jù)提供的 wsdl 文檔得到 具體的方法說明,然后可以調(diào)用此方法??蛻舳藢?調(diào)用信息包括方法名和參數(shù)加入到 soap 格式消 息中通過 http 傳送給 webservice 服務端。服務端從 soap 消息中獲得調(diào)用信息,然后執(zhí)行方法,將返回 對象序列集合結果加入到 soap 消息中通過 http 傳回??蛻舳舜淼玫竭@個 soap 消息后,解析
8、處 理生成對象集合結果。在下面的例子中我們將用傳 遞學生對象為例來描述 webservice 的工作流程。2.1 webservice 服務端 在此實例中,我們將開發(fā)一個 webservice 服務端,服務端的主要功能是將教務管理系統(tǒng)中的學生 數(shù)據(jù)取出,然后生成接口,進行發(fā)布,接收客戶端發(fā) 來的 soap 請求消息,解析其中的方法調(diào)用和參數(shù) 格式。根據(jù) wsdl 和 wsml 的描述,調(diào)用相應的 com 對象來完成指定功能,并把返回值放入 soap 回應消息返回給用戶。具體來說,開發(fā)重點可以分 為三部分:獲取數(shù)據(jù)、對象轉換、wsdl 發(fā)布。2.1.1 獲取數(shù)據(jù)樣可以更好地為數(shù)據(jù)的獲取打下基礎。
9、2.1.2 對象轉換根據(jù)具體的業(yè)務需求從數(shù)據(jù)庫中獲取數(shù)據(jù),然 后建立 student 對象。再將查詢出來的 resultset 集 合,通過字段與對象屬性的一一對應轉換成 student 對象集合。這樣可以使得業(yè)務更加明確,使用方法也 更加方便。2.1.3 wsdl 發(fā)布本例中采用了 jax-ws 工具包對具體的業(yè)務 方法進行封裝與發(fā)布。我們只需要通過 java 語言定 義遠程調(diào)用所需要實現(xiàn)的接口 sei (service end- point interface),并提供相關的實現(xiàn), 通 過 調(diào) 用 jax-ws 的服務發(fā)布接口就可以將其發(fā)布為 web- service 接口。jax-ws
10、會自動幫我們生成 wsdl 文 檔(服務描述文件)以供客戶端調(diào)用。2.2 webservice 客戶端幾乎任何語言都可以調(diào)用 webservice 提供的 服務。在調(diào)用 webservice 服務前,首先取得描述服 務端的標準文檔即 wsdl 文檔,通過解析文檔中的 內(nèi)容,可明白服務端調(diào)用的方式、輸入?yún)?shù)與輸出結 果的類型與要求,然后客戶端根據(jù)需要,生成恰當?shù)?soap 請求消息 (指定調(diào)用的方法和已經(jīng)調(diào)用的參 數(shù)),發(fā)往服務端。在客戶端,首先要創(chuàng)建一個 http- connector 對象,負責 http 連接。設定 connector 的一些頭部信息,比如 endpoinurl 和 soa
11、paction 等。如果網(wǎng)絡連接需要使用代理服務器,那也要在這里設定相關的信息。接著創(chuàng)建 soapserializer 對象,用于生成 soap 消息。按照 wsdl 里定義,把所有參數(shù)按順序序列化,得到一個完整的 soap 請求消 息。該 soap 消息,通過 httpconnector 被發(fā)送到服 務端。最后,生成一個 soapreader 對象,負責讀取服 務端返回的 soap 消息,取得其中的返回值。在這 里我們使用 jax-ws 工具,通過 url 得到的 ws- dl 文件 jax-ws api 可以解析 wsdl 標準文檔產(chǎn)生 相應的調(diào)用方法并在內(nèi)部生成所有 webservice
12、 的方 法和參數(shù)信息。之后,你就可以像調(diào)用接口里的方法一 樣,調(diào)用里面所有的方法。調(diào)用示意圖如圖二所示。con.close(); / 關閉數(shù)據(jù)連接return list; / 返回對象集合4 結束語本文所述 webservice 技術在網(wǎng)絡教學系統(tǒng)中 得到了使用,實現(xiàn)了不同系統(tǒng)之間的數(shù)據(jù)對象傳遞 過程。由于其結構簡單、使用方便、通用性強,在實際 應用中有著良好的效果。通過使用 webservice 技術 能夠使不同系統(tǒng)在不同平臺中進行信息共享,使單 個系統(tǒng)不再是“信息孤島”,是系統(tǒng)間進行數(shù)據(jù)傳遞 的很好的解決方案。public class queryteacherschedule public
13、 list<scheduleyjsrs> findres (string term, string teachercode) / 通過學期,教師編號,查詢教學課表集合conn con = new conn("yjsschedulers"); / 獲取 連接string creditsql=" select * from v_teacher- schedule where (term = ? ) and (firstteachercode= ? ) " / 查詢 sql 語句list<scheduleyjsrs>list=newar
14、-raylist<scheduleyjsrs>(); / 準備 listtry preparedstatement s = con.preparestatement(creditsql);s.setstring(1,term); / 學期參數(shù) s.setstring(2,teachercode); / 教師參數(shù) resultset rs = s.executequery(); / 取得結果集list = dbutils.populate (rs, scheduleyjsrs.class);/ 返回結果的列表集合,并強制轉換成教學課表對 象集合。 catch (sqlexception e) e.printstacktrace(); catch (instantiationexception e) e.printstacktrace(); catch (illegalaccessexception e) e.printstacktrace();finally參考文獻1莊秀麗,孫
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度辦事處知識產(chǎn)權專利實施許可與授權合同
- 家裝項目監(jiān)管合同
- 二零二五年度辦公室清潔與員工健康關懷合同
- 農(nóng)產(chǎn)品銷售居間合同委托書
- 有保證人借款合同
- 全新借錢的合同
- 制造業(yè)自動化技術指南
- 醫(yī)院技術合作協(xié)議
- 工程建設項目招標代理協(xié)議書
- 商標權轉讓合同
- 必修3《政治與法治》 選擇題專練50題 含解析-備戰(zhàn)2025年高考政治考試易錯題(新高考專用)
- 二零二五版電商企業(yè)兼職財務顧問雇用協(xié)議3篇
- 課題申報參考:流視角下社區(qū)生活圈的適老化評價與空間優(yōu)化研究-以沈陽市為例
- 深圳2024-2025學年度四年級第一學期期末數(shù)學試題
- 《openEuler操作系統(tǒng)》考試復習題庫(含答案)
- 2024-2025學年成都市高新區(qū)七年級上英語期末考試題(含答案)
- 17J008擋土墻(重力式、衡重式、懸臂式)圖示圖集
- 《中南大學模板》課件
- 廣東省深圳市南山區(qū)2024-2025學年第一學期期末考試九年級英語試卷(含答案)
- T-CISA 402-2024 涂鍍產(chǎn)品 切口腐蝕試驗方法
- 后勤安全生產(chǎn)
評論
0/150
提交評論