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
主站蜘蛛池模板: 成人在线第一页| 欧美中文字幕在线二区| 在线观看的黄网| 国产在线自乱拍播放| 毛片在线看网站| 在线观看国产精美视频| 在线观看无码av免费不卡网站| 91精品网站| 日本亚洲欧美在线| 巨熟乳波霸若妻中文观看免费| 亚洲一区二区三区中文字幕5566| 国产综合网站| 黑色丝袜高跟国产在线91| 成人福利在线观看| 99ri国产在线| 亚洲天堂777| 欧美精品一二三区| www.精品视频| 国产成人夜色91| 好吊色国产欧美日韩免费观看| 妇女自拍偷自拍亚洲精品| 亚洲综合色婷婷中文字幕| 四虎国产精品永久一区| 麻豆精品在线| 亚洲黄网视频| 久久精品一卡日本电影| 欧美在线视频不卡| 免费aa毛片| 国产噜噜噜视频在线观看 | 九九热精品视频在线| 午夜在线不卡| 亚洲美女一区二区三区| 国产亚洲日韩av在线| 国产高清不卡| 亚洲人成网站日本片| 91福利一区二区三区| аⅴ资源中文在线天堂| 精品国产自在在线在线观看| 精品91自产拍在线| 亚洲成在线观看| 色综合久久综合网| 亚洲AⅤ波多系列中文字幕| 精品少妇人妻一区二区| 午夜老司机永久免费看片| 国产女人爽到高潮的免费视频| 亚洲精品无码抽插日韩| 高h视频在线| 全裸无码专区| 99re热精品视频中文字幕不卡| 亚洲国产系列| www.精品视频| 国产精品亚欧美一区二区| 亚洲成人黄色在线观看| 性色一区| 婷婷色中文网| 中日韩欧亚无码视频| 妇女自拍偷自拍亚洲精品| 国产二级毛片| 久久伊人久久亚洲综合| 国产无码制服丝袜| 亚洲欧洲日韩久久狠狠爱| 99在线国产| 国产三级国产精品国产普男人| 久草美女视频| AV老司机AV天堂| 91精品日韩人妻无码久久| 国产麻豆另类AV| 91精品国产91久无码网站| 国产成人禁片在线观看| 99伊人精品| 青草精品视频| 日韩av高清无码一区二区三区| 久久久精品久久久久三级| 天天激情综合| 成年免费在线观看| 国产成人亚洲欧美激情| 99热这里只有精品5| 久久中文字幕不卡一二区| 精品国产自在在线在线观看| 97亚洲色综久久精品| 另类综合视频| 日本免费精品|