999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于LC-WS的遺留代碼重用

2016-08-25 05:38:53趙媛周立軍宦婧
電子設(shè)計工程 2016年14期
關(guān)鍵詞:服務(wù)信息方法

趙媛,周立軍,宦婧

(海軍航空工程學(xué)院 基礎(chǔ)實驗部,山東 煙臺 264001)

基于LC-WS的遺留代碼重用

趙媛,周立軍,宦婧

(海軍航空工程學(xué)院 基礎(chǔ)實驗部,山東 煙臺264001)

針對目前存在的大量遺留代碼,提出基于LC-WS將遺留代碼進行包裝、部署并且重用。通過Web Services的方式提供給訪問者調(diào)用。采用LC-WS的方法,只需要付出低廉的代價就可以實現(xiàn)大量遺留代碼在信息集成平臺中的重新利用,既可以縮短開發(fā)周期,還可以降低開發(fā)風(fēng)險。通過在已搭建信息集成平臺中的實際應(yīng)用,證明這一方法是可行的。

遺留代碼;Web Service;JNI;重用

目前各領(lǐng)域仍存在著大量的應(yīng)用程序是采用傳統(tǒng)語言編寫的,它們不能直接在新系統(tǒng)中應(yīng)用,但是仍然有很大的利用價值,這些應(yīng)用程序代碼就被稱為LC(遺留代碼,Legacy Code)[1]。在已搭建并投入使用的信息集成平臺中,將這些LC 以 WS(Web Services)的方式進行重用,正是本文的研究重點。

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

1.1基于WebService的系統(tǒng)架構(gòu)

Web Service是一種開放的分布式應(yīng)用程序模型,使用它可以獨立于平臺,通過標(biāo)準的Web協(xié)議,建立可以由應(yīng)用程序通過網(wǎng)絡(luò)訪問的應(yīng)用程序邏輯單元[2]。有關(guān)組織已經(jīng)發(fā)布了一些實現(xiàn) Web Service所需要的協(xié)議和標(biāo)準,如 Soap,WSDL,UDDI等。Web Service的目的是將信息和服務(wù)在Internet上實現(xiàn)提供和訪問,實現(xiàn)跨平臺的互操作性[3]。

Web Service的基本結(jié)構(gòu)是基于服務(wù)提供者、服務(wù)請求者和中介者3個角色,以及服務(wù)的發(fā)布、發(fā)現(xiàn)和服務(wù)請求者與服務(wù)提供者之間的綁定3個動作而定義的,而Web Services就是部署在提供者服務(wù)器上的具體服務(wù)。Web Services建立后,任何語言,任何平臺上的用戶都可以閱讀其WSDL文檔,以調(diào)用這個Services[4]。

文中基于Web Services所構(gòu)建的系統(tǒng),由信息注冊中心、信息提供方、信息請求方三者組成,如圖1所示。信息提供方首先要在信息注冊中心發(fā)布信息,并將要發(fā)布的信息的元信息寫入本地注冊表;信息請求方在信息注冊中心查找自己需要的信息,得到感興趣的具體信息(例如具體的url等細節(jié)信息);信息請求方根據(jù)在信息注冊中心獲得的信息細節(jié)填寫基于JSP技術(shù)的信息查詢系統(tǒng)頁面,訪問信息提供方的信息共享服務(wù);信息提供方接收到信息請求方的信息請求時,從遠程的底層異構(gòu)數(shù)據(jù)庫中,抽取信息進行包裝,包裝成XML信息格式;信息提供方將包裝后的XML標(biāo)準格式的信息返回給信息請求方;信息請求方將訪問得到的信息保存為本地XML文檔文件,命名為后綴為.xml的文件,最后基于瀏覽器采用JDOM進行解析。

圖1 系統(tǒng)架構(gòu)圖

1.2JNI技術(shù)

JNI,即Java Native Interface屬于JDK的一部分,已經(jīng)被集成到標(biāo)準Java平臺之中,通過使用JNI編寫程序,可以讓代碼方便地實現(xiàn)跨平臺特性。JNI允許運行在Java虛擬機上的Java代碼操作其他語言編寫的應(yīng)用程序和庫[5]。使用JNI提供的方法,Java代碼能夠直接與特定操作系統(tǒng)和硬件平臺中的二進制庫進行交互。這個交互過程發(fā)生在相同的Java虛擬機進程之中,使得來自Java類并被標(biāo)志為“本地”的Java方法的調(diào)用能夠被映射到共享二進制庫中的相應(yīng)函數(shù)上,并且將這兩者加載到相同的進程中[6]。

JNI使得本地方法使用Java對象的方式就和Java代碼使用這些對象一樣,能夠調(diào)用現(xiàn)有的Java方法,傳遞該方法所需的參數(shù)[7],得到返回的結(jié)果。

JNI技術(shù)中基本類型與本地類型的對應(yīng)關(guān)系如圖2所示。

圖2 類型對應(yīng)關(guān)系

2 LC-WS方法原理

基于LC-WS的遺留代碼服務(wù)化,整個過程包括:遺留代碼的預(yù)處理、Wrapper包裝、動態(tài)鏈接庫的生成,legcode服務(wù)調(diào)用。

LC-WS方法將分析后的 legcode通過JNI技術(shù)進行包裝,生成.dll文件,然后部署成服務(wù)等待調(diào)用,工作原理如圖3所示。其中a.dll和b.dll是采用JNI對遺留代碼包裝后生成的。

圖3 LC-WS工作原理

采用Java class來編寫legcode services,通過調(diào)用一個中間介質(zhì)類(如a.java)來實現(xiàn)對于動態(tài)鏈接庫的調(diào)用。關(guān)鍵代碼如下:

3 LC-WS方法步驟

將遺留代碼通過JNI包裝成Web服務(wù)的LC-WS方法包括以下幾個步驟:

1)編寫legcode類,部署成Web服務(wù),如圖4所示。

在各種services的調(diào)用過程中,Legcode是主類,每當(dāng)一種遺留代碼被包裝和發(fā)布以后,才對增加其相對應(yīng)的方法。

圖4 遺留代碼部署為服務(wù)

2)進行代碼分析以及預(yù)處理,編寫對應(yīng)的Java類,要求在編寫的類中必須要包含具體的本地方法的調(diào)用細節(jié)。

分析遺留代碼是編寫本地代碼的前提,在遺留代碼預(yù)處理階段,通過程序切片技術(shù),對遺留代碼進行簡化,使其結(jié)構(gòu)清晰。而且本地方法的編寫和一般的Java方法不同,本地方法的聲明必須包含標(biāo)識符native,以表示此方法是用另一種語言實現(xiàn)的。

3)JNI包裝遺留代碼,具體包括:

①通過javac命令編譯步驟2)中生成的Java類。

②生成.h的頭文件,而且頭文件中必須要包括所部署方法的函數(shù)聲明。

③編寫本地方法的C語言實現(xiàn)。

④編譯本地C函數(shù),生成本地鏈接庫。

4)在legacode類中編寫方法,調(diào)用步驟2)中生成的java類。

4 結(jié) 論

LC-WS方法將面向集中式系統(tǒng)的、無法集成到現(xiàn)有平臺中的遺留代碼成功的集成到基于Web服務(wù)的網(wǎng)絡(luò)系統(tǒng)中。在已經(jīng)發(fā)布的legcode service中,增加更新動態(tài)鏈接庫的功能,這樣就可以避免多次發(fā)布的繁瑣[8]。使用LC-WS方法轉(zhuǎn)化遺留代碼成為Web服務(wù),本地注冊者只需要對C語言有初級了解即可。但是本文所研究的LC-WS方法只適合有返回值的C代碼,對于遺留代碼沒有返回值的C函數(shù),需要進一步的研究。

[1]Kacsuk P,Goyeneche A,Delaitre T,et al.High-level grid application environment to use legacy codes as OGSA grid services[C]//Proceedings of Fifth IEEE/ACM International Workshop on Grid Computing(GRID’04),Hawaii:IEEE,2004:179-180.

[2]臧文科,楊杰,韓秀萍.基于Web Service的繼續(xù)教育管理系統(tǒng)設(shè)計與實現(xiàn) [J].計算機應(yīng)用與軟件,2010,27(11): 102-104.

[3]代田田,陳洪亮,張峰.跨平臺分布式Web服務(wù)的自動路由[J].實驗室研究與探索,2007,26(7):64-66.

[4]Shantanu Bhattacharya.將遺留系統(tǒng)集成到您的SOA中[EB/ OL].(2008-03)http://www.ibm.com/developerworks/cn/web services/ws-soa-legacyapps/index.html,.

[5]SHENG Liang.The JAva native interface programmer’s guide and specification[S].Sun Microsystems,1999.

[6]Huang Y,Taylor I,Walkep D,et al.Wrapping codes for grid-based applications[J].Fromce,2003,17(5):139-145.

[7]鄒燕飛,趙媛.分布式環(huán)境下遺留代碼重用研究 [J].自動化技術(shù)與應(yīng)用,2009,28(10):49-51.

[8]鄒燕飛.遺留代碼在企業(yè)信息網(wǎng)格中重用的研究 [D].甘肅:西北師范大學(xué),2007.

Reusing the legacy code based on the method of LC-WS

ZHAO Yuan,ZHOU Li-jun,HUAN Jing
(Department of Basic Experiment,Naval Aeronautical and Astronautical University,Yantai 264001,China)

There are lots of legacy code in the old system,a new method LC-WS to reuse the legacy code is presented in this paper.The legacy code is wrapped and published into services which can be accessed by service invoker.By the method of LC-WS,a lot of legacy code can be reused at lower cost.The obtained result not only can shorten the research period,but also can lower exploitation risk.Experiments have proven the method is feasible.

legacy code;Web Service;JNI;reusage

TN919

A

1674-6236(2016)14-0012-02

2015-08-04稿件編號:201508014

海軍航空工程學(xué)院基礎(chǔ)研究基金(HYJC201322)

趙 媛(1983—),女,山東沂水人,碩士,工程師。研究方向:計算機教學(xué)、分布式計算。

猜你喜歡
服務(wù)信息方法
服務(wù)在身邊 健康每一天
服務(wù)在身邊 健康每一天
服務(wù)在身邊 健康每一天
招行30年:從“滿意服務(wù)”到“感動服務(wù)”
商周刊(2017年9期)2017-08-22 02:57:56
訂閱信息
中華手工(2017年2期)2017-06-06 23:00:31
用對方法才能瘦
Coco薇(2016年2期)2016-03-22 02:42:52
四大方法 教你不再“坐以待病”!
Coco薇(2015年1期)2015-08-13 02:47:34
捕魚
展會信息
中外會展(2014年4期)2014-11-27 07:46:46
健康信息
祝您健康(1987年3期)1987-12-30 09:52:32
主站蜘蛛池模板: 国产97视频在线| 国产美女一级毛片| 亚洲一区二区三区国产精品| 亚洲欧美日韩另类在线一| 亚洲精品视频免费| 黄色网站不卡无码| 国产精品无码翘臀在线看纯欲| 午夜老司机永久免费看片| 99在线视频免费观看| 午夜影院a级片| 亚洲人成网18禁| 久久国产av麻豆| 国产在线日本| 青青草一区| 亚洲欧美天堂网| 国产人免费人成免费视频| 天天操天天噜| 亚洲第一黄片大全| 国产欧美日韩综合一区在线播放| 91香蕉视频下载网站| 成年女人a毛片免费视频| 首页亚洲国产丝袜长腿综合| 一级毛片免费观看久| 亚洲AV无码乱码在线观看代蜜桃| AV老司机AV天堂| 中字无码av在线电影| 欧美激情,国产精品| 国产成人综合日韩精品无码首页 | 久久天天躁狠狠躁夜夜2020一| 国产香蕉97碰碰视频VA碰碰看| 亚洲欧美成人影院| 国产白浆视频| 欧美亚洲一区二区三区导航 | 欧美国产日韩在线播放| 中国毛片网| 欧美激情视频二区三区| 欧美成在线视频| 亚洲欧美日韩中文字幕一区二区三区 | 国产精品天干天干在线观看| 国产91透明丝袜美腿在线| 日本精品视频| 国产农村妇女精品一二区| 在线观看国产黄色| 国产小视频免费观看| 日本AⅤ精品一区二区三区日| 国产第一福利影院| 亚洲视频色图| 国产精品内射视频| 欧美激情第一区| 久久久久青草大香线综合精品| 不卡的在线视频免费观看| 免费一级毛片在线观看| 无码中文AⅤ在线观看| 伊在人亚洲香蕉精品播放| 亚洲第一成人在线| 久久99国产乱子伦精品免| 亚洲综合经典在线一区二区| 久久无码av一区二区三区| 久久国产精品77777| 亚洲色图欧美在线| 亚洲精品亚洲人成在线| 日本成人一区| 九九九精品成人免费视频7| 香蕉视频国产精品人| 91福利在线看| 综合天天色| 免费一级全黄少妇性色生活片| 久久人人爽人人爽人人片aV东京热| 红杏AV在线无码| 国产屁屁影院| 亚洲日韩第九十九页| 亚洲人成网站色7777| 欧美一区二区三区不卡免费| 欧美笫一页| 欧美精品高清| 免费人成在线观看成人片| 欧美成人一区午夜福利在线| 最新亚洲人成无码网站欣赏网| 五月综合色婷婷| 国产成人精品亚洲日本对白优播| 色综合色国产热无码一| 幺女国产一级毛片|