(計(jì)算機(jī)軟件與理論專業(yè)論文)遺留代碼在企業(yè)信息網(wǎng)格中重用的研究.pdf_第1頁
(計(jì)算機(jī)軟件與理論專業(yè)論文)遺留代碼在企業(yè)信息網(wǎng)格中重用的研究.pdf_第2頁
(計(jì)算機(jī)軟件與理論專業(yè)論文)遺留代碼在企業(yè)信息網(wǎng)格中重用的研究.pdf_第3頁
(計(jì)算機(jī)軟件與理論專業(yè)論文)遺留代碼在企業(yè)信息網(wǎng)格中重用的研究.pdf_第4頁
(計(jì)算機(jī)軟件與理論專業(yè)論文)遺留代碼在企業(yè)信息網(wǎng)格中重用的研究.pdf_第5頁
已閱讀5頁,還剩65頁未讀 繼續(xù)免費(fèi)閱讀

(計(jì)算機(jī)軟件與理論專業(yè)論文)遺留代碼在企業(yè)信息網(wǎng)格中重用的研究.pdf.pdf 免費(fèi)下載

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

摘要 遺留軟件大都是面向?qū)ο蠹夹g(shù)在軟件開發(fā)中廣泛使用之前編寫的 它們已經(jīng)深深的融入 企業(yè)的業(yè)務(wù)運(yùn)行之中 為了節(jié)約資源 充分利用已有的成果 遺留代碼重用不可避免 本文提出了l c x m l 方法 該方法使用x m l 技術(shù)包裝遺留代碼 將包裝后的遺留代碼 f h f m l 代碼作為網(wǎng)格信息 供網(wǎng)格用戶訪問 從而實(shí)現(xiàn)遺留代碼信息共享 通過該方法 用戶 不用直接分析冗長難懂的遺留代碼 而根據(jù)f l f m l 代碼就可以方便地獲取源代碼信息 很多情況下 企業(yè)不僅關(guān)注遺留代碼本身 更希望重用遺留代碼的功能 實(shí)現(xiàn)服務(wù)共享 但是遺留軟件大多只適用于集中式系統(tǒng)平臺(tái) 現(xiàn)在的分布式系統(tǒng)平臺(tái)中無法直接實(shí)現(xiàn)其功能 重用 根據(jù)這一需求 本文提出了遺留代碼服務(wù)化l c g s 方法 該方法將遺留代碼轉(zhuǎn)化成用 戶可以訪問的服務(wù) 將其功能提供給用戶 從而實(shí)現(xiàn)遺留代碼功能重用 我們提出的l c x m l 和l c g s 以前期開發(fā)的基于w e b 服務(wù)的企業(yè)信息網(wǎng)格l o g l o 系統(tǒng) 為平臺(tái) 文章在介紹了l o g l o 系統(tǒng)之后 重點(diǎn)分析了通過這兩種方法實(shí)現(xiàn)遺留代碼重用的整體 框架設(shè)計(jì)和關(guān)鍵技術(shù) 給出了兩種方法在r o g l o 系統(tǒng)中的設(shè)計(jì)和開發(fā)步驟 初步測(cè)試表明 ic x m l 和l c g s 分別可實(shí)現(xiàn)遺留代碼的重用 關(guān)鍵詞 遺留代碼 重用 包裝 服務(wù) x m l a b s t r a c t l e g a c ys o f t w a r ei sa l m o s td e s i g n e db e f o r eo b j e c t o r i e n t e dd e v e l o p m e n tw a sw i d e l yu s e di n i n d u s t r y a n dh a sb e e nd e e p l ym c o r p e r a t e di nb u s i n e s so p e r a t i o n i no r d e rt os a v er e s o u r c c s f u l l y u t i l i z et h ee x i s t i n ga c h i e v e m e n t i ti si n e v i t a b l et or e u s el e g a c yc o d e l c x m lm e t h o di sp r o p o s e di nt h et h e s i st or e a l i z et h es h a r i n go fl e g a c yc o d ei n f o r m a t i o n w h i c hw r a p sl e g a c yc o d ei n t of l f f m lc o d eb yl 珞i n gx m lt h a tm a k ei ta c c e s s i b l et ot h eu s e r s t h e n t h eu s e r sd o n tn e e dt oa n a l y z et e d i o u sl e g a c yc o d e a n dt h e yc a ng e ts o n r e c o d ei n f o r m a t i o no n l y i nt h ef h f r a lc o d e m o s t l y b u s i n e s s e sc o n c e r n e dn o to n l yt h el e g a c yc o d ei t s e l fb u ta l s ot h er e u s i n gf u n c t i o no f l e g a c yc o d ea st or e a l i z et h es h a r i n gs e r v i c e b e t m u em o s to f t h el e g a c yc o d ea l eo n l yd e s i g n e df o r c e n t r a l i z e dc o m p u t i n gp l a t f o r m a n dt h e yc a nn u tb er e u s e dd i r e c t l y mc u r r e n td i s t f i b u t c d c o m p u t i n gp l a t f o r m c o n s i d e r i n gt h er e q u i r e m e n ta b o v e w ep r o p o s et h em e t h o do fl c g s t o c o n v e r tl e g a c yc o d ei n t os e r v i c ew h i c hi sr e a c h a b l et ot h eu s e r s t h u s r e u s i n gt h ef u n c t i o no f l e g a c yc o d ec a l lb er e a l i z e d l c x m la n dl g g sa l eb a s e do nl o g i os y s t e mw h i c hh a sb e e nd e v e l o p e do i lw e bs e r v i c e s h a v i n gi n t r o d u c e dt h ei j d 咖s y s t e m t h et h e s i sd i s c u s s e dt h ef r a m e w o r ka n dk e yt e c h n i q u e si n d e t a i lt oe x p l a i nh o ww ei m p l e m e n tt h er e u s a g eo fl e g a c yc o d eb yt h em e t h o d s a n dp u tf o r w a r d t h e d e s i g na n dd e v e l o p m e n ts t e po ft h et w om e t h o d si ni o g l os y s t e m t h et e s td o n eb yo u r r e s e a r c h t e a mh a sp r o v e dt h a tl c x m l a n dl c g sc a ni m p l e m e n tt h er e u s a g eo fl e g a c yc o d e k e y w o r d s l e g a c yc o d e r e u s a g e w r a p s e r v i c e x m l m 獨(dú)創(chuàng)性聲明 本人聲明所呈交的論文是我個(gè)人在導(dǎo)師指導(dǎo)下進(jìn)行的研究工作 及取得的研究成果 盡我所知 除了文中特別加以標(biāo)注和致謝的地方 外 論文中不包括其他人已經(jīng)發(fā)表或撰寫過的研究成果 也不包含為 獲得西北師范大學(xué)或其他教育機(jī)構(gòu)的學(xué)位或證書而使用過的材料 與 我一同工作的同志對(duì)本研究所做的任何貢獻(xiàn)均已在論文中作了明確 的說明并表示了謝意 簽名 壘 煎翌日期 竺i 蘭 1 2 1 關(guān)于論文使用授權(quán)的說明 本人完全了解西北師范大學(xué)有關(guān)保留 使用學(xué)位論文的規(guī)定 即 學(xué)校有權(quán)保留送交論文的復(fù)印件 允許論文被查閱和借閱 學(xué)??梢?公布論文的全部或部分內(nèi)容 可以采用影印 縮印或其他復(fù)制手段保 存論文 保密的論文在解密后應(yīng)遵守此規(guī)定 簽名 紐煎 墜導(dǎo)師簽名 z 壘至蘭奎日期 塑z 堅(jiān)絲 第一章緒論 1 1 論文選題依據(jù) 目前在銀行 證券和保險(xiǎn)業(yè)中存在的大量商用程序是采用從誕生到現(xiàn)在己有近二十年的 傳統(tǒng)語言編寫的1 1 1 由子現(xiàn)代編程語言以其優(yōu)越性替代了傳統(tǒng)編程語言 目前很少有軟件從 業(yè)人員去學(xué)習(xí)和使用傳統(tǒng)語言 因此用這些傳統(tǒng)語言編寫的程序代碼就成為了遺留代碼 軟 件成了遺留軟件 一般認(rèn)為遺留軟件是目前正在使用的并且需要更新的軟件系統(tǒng) 近年來 這些遺留軟件系統(tǒng)的規(guī)模越來越大 功能也越來越復(fù)雜 蘊(yùn)含了大量的領(lǐng)域知識(shí) 從需求設(shè) 計(jì) 商業(yè)邏輯到歷史數(shù)據(jù) 都具有可以重復(fù)利用的價(jià)值f 2 l 當(dāng)然 新系統(tǒng)的開發(fā)可以完全扔掉遺留軟件 在零的基礎(chǔ)上重新進(jìn)行開發(fā) 但無論在費(fèi) 用 開發(fā)周期 開發(fā)風(fēng)險(xiǎn)上 都會(huì)面臨很大的挑戰(zhàn) 3 l 如果重用遺留軟件資源 就會(huì)明顯地 節(jié)約系統(tǒng)更新的費(fèi)用 縮短開發(fā)周期 降低開發(fā)風(fēng)險(xiǎn) 軟件重用可以在不同的抽象級(jí)別實(shí)現(xiàn) 本文的研究集中于面向源代碼級(jí)別的軟件重用 通過重用遺留代碼使遺留軟件在信息計(jì)算平 臺(tái)和范型中得到使用 本文的研究內(nèi)容源于甘肅省科技攻關(guān)項(xiàng)目 2 g s 0 4 7 a 5 2 0 0 2 0 4 企業(yè)信息跨洛關(guān)鍵技 術(shù)研究 1 2 國內(nèi)外研究現(xiàn)狀評(píng)述 遺留軟件都是面向?qū)ο蠹夹g(shù)在軟件開發(fā)中廣泛使用之前編寫的 3 l 它們使用集中式體系 結(jié)構(gòu) 編寫遺留軟件的遺留代碼講究的是面向過程 逐步求精的編程理念 這些代碼通常被 組織為子程序或函數(shù)的集合 每個(gè)子程序提供系統(tǒng)功能的一部分 并且按照需要由其它子程 序調(diào)用 面向過程的設(shè)計(jì)策略為自頂向下的設(shè)計(jì)m 將程序分解成交互的函數(shù)或予程序的集 合并且由這些函數(shù)共享集中式的系統(tǒng)狀態(tài)如圖1 1 這種設(shè)計(jì)策略隱藏了函數(shù)的實(shí)現(xiàn)細(xì)節(jié) 使 之對(duì)于其它函數(shù)來說是透明的 但其內(nèi)部算法的改變 如共享變量值的改變 卻容易導(dǎo)致數(shù) 據(jù)不一致 當(dāng)今 隨著分布式的廣泛應(yīng)用 遺留軟件系統(tǒng)也逐漸由采用集中式體系結(jié)構(gòu)進(jìn)化為采用 分布式的體系結(jié)構(gòu) 其原因有 硬件花費(fèi) 購買分布式客戶 服務(wù)器系統(tǒng)以及后期維護(hù)的費(fèi)用通常比購買同等能力的 西北師范大學(xué)硬士學(xué)位論文第一章緒論 大型機(jī)的費(fèi)用要小 用戶接口的需求 遺留軟件系統(tǒng)通常采用字符 文本的界面 新的趨勢(shì)要求系統(tǒng)具有 用戶容易理解的 美觀和便于交互的圖形用戶界面 這種界面需要更多的本地計(jì)算 只有在 客戶 服務(wù)器系統(tǒng)中才能提供這種功能 對(duì)系統(tǒng)分布式訪問的需求 由于企業(yè)在發(fā)展的過程中逐漸將組織分布在各個(gè)地方 客 戶和企業(yè)員工希望可以訪問位于公司不同地方的軟件系統(tǒng) 圖1 1 面向過程的設(shè)計(jì) 遷移遺留系統(tǒng)到分布式體系結(jié)構(gòu)中 并開發(fā)有效的接口以減少硬件花費(fèi) 從而以更為現(xiàn) 代的 感觀 方式來支持分布式工作 但是這些集中式的軟件系統(tǒng)經(jīng)過多年的維護(hù) 其用戶接 口 服務(wù) 數(shù)據(jù)庫之間已經(jīng)錯(cuò)綜復(fù)雜 造成了遺留系統(tǒng)體系結(jié)構(gòu)進(jìn)化過程中最實(shí)質(zhì)性的困難 針對(duì)這種情況 對(duì)遺留系統(tǒng)的解決方案也各不相同 在新的體系結(jié)構(gòu)中重用遺留代碼就是其 中一種解決方案 1 9 9 6 年s n e e d 提出一種使用中間件技術(shù)整合遺留系統(tǒng)到異構(gòu)分布式計(jì)算機(jī)環(huán)境的方法 8 1 此方法主要是封裝遺留系統(tǒng)使之在客戶 服務(wù)器平臺(tái)使用 s n e e d 使用c o r b a 作為中間件封 裝匯編語言編寫的代碼和c o b o l 語言編寫的代碼驗(yàn)證此方法的可行性 1 9 9 7 年a d el u c i a 等人1 9 l 提出一種遷移遺留系統(tǒng)到面向?qū)ο笃脚_(tái)的方法 包括6 個(gè)連續(xù) 的步驟 遺留代碼的靜態(tài)分析 分解批處理程序 面向?qū)ο竽P偷某橄蠡?根據(jù)分解和抽象 重構(gòu)系統(tǒng) 標(biāo)識(shí)對(duì)象并將其封裝 使用面向?qū)ο蟮恼Z言轉(zhuǎn)化前幾步標(biāo)識(shí)的對(duì)象 a d el u c i a 的這些步驟中包含了逆向工程1 1 0 n 1 和再造工程1 1 2 其中逆向工程的目標(biāo)是將程序分解為用戶 接口組件和實(shí)現(xiàn)應(yīng)用域?qū)ο蠼M件 再造工程的核心是包裝技術(shù) 同年 b u r d 1 3 l 等人提出了一 種通過重建遺留代碼的方法來標(biāo)識(shí)可重用單元 但是作者提出的l o 步標(biāo)識(shí)可重用的單元的方 法只能使用于c o b o l 語言 1 9 9 9 年c a n f o r a 1 4 j 提出了一種標(biāo)識(shí)用戶接口組件語句的程序切片算法 但是此算法只適用 于非遞歸程序 且是由r p g c o b o l 和f o r t r a n 所編寫的程序 2 0 0 1 年 c h i a i l 5 l 提出把遺留系統(tǒng)從大型機(jī)遷移到以用戶為中心的分布式對(duì)象計(jì)算環(huán)境中 2 西北師范大學(xué)碩士學(xué)位論文 第一章緒論 此方法直接在大型機(jī)上包裝遺留系統(tǒng)并且暴露遺留系統(tǒng)的接口給遠(yuǎn)程客戶 作者實(shí)現(xiàn)了使用 c o b r a 技術(shù)整合遺留系統(tǒng)到分布式計(jì)算環(huán)境 其主要通過o r b o r b 之間的訪問完成 但是 中間件將成為整個(gè)系統(tǒng)的瓶頸 同年y b i 等人f 1 6 l 提出以x m l 的方法重用遺留代碼 主要集 中在用戶接口的x m l 化處理上 通過集中研究最本質(zhì)的 必不可少的用戶交互以及基于字 符接口和圖形用戶界面字段之間的關(guān)系 整合這些關(guān)系到新的圖形接口 從而實(shí)現(xiàn)遷移遺留 應(yīng)用到瘦客戶 服務(wù)器平臺(tái)的目的 文章中作者提出了以下幾個(gè)關(guān)鍵的步驟 理解遺留系統(tǒng)功 能 通過跟蹤基于字符接口的交互區(qū)分信息和處理邏輯 由前面步驟提供的信息來決定目標(biāo) 系統(tǒng) 使用x m l 作為客戶端產(chǎn)生新的圖形接口 通過j n l 技術(shù)包裝原始系統(tǒng)的功能 遷移 遺留應(yīng)用到目標(biāo)系統(tǒng) 同年 e m m e r i c h l l 7 1 定義了基于x m l d t d 增量代碼移動(dòng)的方法 此方 法能夠增加 減少 替換代碼的某些部分 作者在增量代碼移動(dòng)的實(shí)現(xiàn)中考慮了最簡單的程 序設(shè)計(jì)語言k a r e l 為我們解決遺留代碼的重用提供了一種新的思路 2 0 0 3 年b o d h u i n i s l 針對(duì)的是那些不可分割的遺留系統(tǒng)提出了遷移遺留系統(tǒng)到w e b 平臺(tái)的 工具 但是此工具只適合c o b o l 語言開發(fā)的軟件系統(tǒng) 而且對(duì)于不同版本c o b o l 需要開發(fā) 不同的解析器 y a hh u a n g l l 9 1 提出了一種由c 語言編寫的科學(xué)計(jì)算程序到基于t r i a n a 的計(jì)算服 務(wù) 面向服務(wù)的的分布式體系結(jié)構(gòu) 類似于網(wǎng)格計(jì)算 的半自動(dòng)化轉(zhuǎn)化方法 2 0 0 5 9 d e t a t i t t r e 捌提出的g e m 酬g r i de x e c u t i o nm a n a g e m e n tf o rl e g a c yc o d e a r c h i t e c t u r e 是一種通用的體系結(jié)構(gòu) 可以部署遺留應(yīng)用作為網(wǎng)格服務(wù) 而不需要重建代碼 g e m l c a 由四個(gè)基本組件構(gòu)成 被設(shè)計(jì)為三層 第一層作為前端層 提供網(wǎng)格服務(wù)的功能 第二層為核心層 負(fù)責(zé)管理每個(gè)遺留代碼進(jìn)程和遺留代碼作業(yè) 最后一層為后端層 被連接 到g e m l c a 體系結(jié)構(gòu)所部署的網(wǎng)格中間件 此層可以被看作是一個(gè)插入層 但是這種體系結(jié) 構(gòu)只適合于g t 3 和g t 4 而且對(duì)于它們g e m l c a 的后端層都要發(fā)生相應(yīng)的改變 國內(nèi)研究企業(yè)信息網(wǎng)格的中科院計(jì)算所提出的織女星企業(yè)信息網(wǎng)格 2 卜糾的主要特色是 v e g a 即通用服務(wù) 輔助智能 全局一體 自主控制 西安交通大學(xué)的基于i n t e r a c t 的信息網(wǎng) 格的軟件框架研究l 甜l 參照計(jì)算網(wǎng)格的開放式網(wǎng)格服務(wù)構(gòu)架 實(shí)現(xiàn)了信息搜索 登記 發(fā)現(xiàn) 預(yù)定等功能 但是它們都沒有解決在企業(yè)信息網(wǎng)格中如何使用遺留系統(tǒng)的應(yīng)用功能 動(dòng)態(tài)部 署新 舊服務(wù) 達(dá)到真正意義上的服務(wù)共享的問題閉 從遺留代碼研究現(xiàn)狀來看 這些解決遺留問題的方法 有各自的優(yōu)缺點(diǎn) 2 0 0 0 年以前主 要集中在包裝遷移遺留系統(tǒng)到基于w e b 的分布式平臺(tái) 隨著分布式的變化 出現(xiàn)了網(wǎng)格 現(xiàn) 有的主要技術(shù)成果是g e m l c a 但它有如下缺點(diǎn) 只適用于g t 3 或者g t 4 作為中間件開 發(fā)的網(wǎng)格 將整個(gè)可執(zhí)行的遺留代碼作為網(wǎng)格服務(wù) 因而造成較大的花費(fèi) 需要一個(gè)計(jì) 算服務(wù)器 從而增加了系統(tǒng)的冗余度 這種方法在遺留系統(tǒng)遷移期間 必須停止遺留系統(tǒng) 的使用 這些缺點(diǎn) 對(duì)企業(yè)來說是很難接受的 因此 我們從代碼重用的角度 使遺留代碼 3 西北師范大學(xué)碗士學(xué)位論文第一章緒論 成為共享信息資源 同時(shí)將其功能提供給網(wǎng)格用戶 1 3 主要工作 本文在我們現(xiàn)已構(gòu)建的基于w 曲服務(wù)的企業(yè)信息網(wǎng)格l o g l o 系統(tǒng)之上 結(jié)合遺留問題已 有解決方案 提出了一個(gè)新地遺留代碼重用方案 文中所研究的遺留代碼是指源代碼 我們 研究的主要目標(biāo)是 1 將遺留代碼包裝成信息提供給網(wǎng)格用戶 實(shí)現(xiàn)信息共享 通過x m l 語言 使用包 裝技術(shù)將遺留代碼轉(zhuǎn)化為x m l 中間表示 并以一種友好的方式提供給網(wǎng)格用戶 這種轉(zhuǎn)化 的優(yōu)點(diǎn)是 利用了x m l 獨(dú)立于平臺(tái) 半結(jié)構(gòu)化等優(yōu)點(diǎn) 當(dāng)遺留代碼作為信息在其他平臺(tái)重 用時(shí) 只要直接利用x m l 中間表示 而不用再次分析冗長難懂的遺留代碼 同時(shí)客戶端可 以使用友好的g u i 界面來顯示包裝后的遺留代碼 2 將遺留代碼轉(zhuǎn)化成企業(yè)網(wǎng)格用戶可以訪問的網(wǎng)格服務(wù) 將其功能提供給網(wǎng)格用戶 實(shí)現(xiàn)服務(wù)共享 由于大部分遺留系統(tǒng)由面向過程的c 語言編寫 因此本文主要研究c 語言編寫的遺留代 碼 如圖1 1 所示對(duì)遺留代碼重用的策略 l c 1 e g a c y c o d e 表示遺留代碼 1 a 論文結(jié)構(gòu) 圖1 2 遺留代碼重用策略 本文各章節(jié)內(nèi)容安排如下 第一章作為整個(gè)論文的緒論 介紹相關(guān)背景知識(shí)和此項(xiàng)研究的必要性 可行性和現(xiàn)狀 并簡要的介紹論文的結(jié)構(gòu) 第二章介紹了遺留代碼包裝和服務(wù)化的基礎(chǔ) 即基于w e b 服務(wù)的企業(yè)信息網(wǎng)格l o g l o 系 統(tǒng) 主要對(duì)l o g l o 系統(tǒng)的總體設(shè)計(jì)以及信息的包裝規(guī)范r e m l 和t t p m l 進(jìn)行了簡單的介紹 最 后以一個(gè)典型的應(yīng)用實(shí)例結(jié)束本章 第三章介紹遺留代碼的包裝 提出了一種遺留代碼的包裝方法l c x m l 具體討論使用 l c x m l 方法包裝遺留代碼的整體框架及關(guān)鍵技術(shù) 其中關(guān)鍵技術(shù)包括 包裝遺留代碼的規(guī) 范 步驟以及相關(guān)流程 最后用一個(gè)簡單的實(shí)例說明了l o g l o 系統(tǒng)中包裝后的遺留代碼f l f f m l 4 西北師范大學(xué)碩士學(xué)位論文第一章緒論 發(fā)布一發(fā)現(xiàn)的過程 第四章介紹遺留代碼服務(wù)化 提出了一種遺留代碼服務(wù)化的方法l c g s 具體討論使用 l c g s 方法將遺留代碼服務(wù)化的整體框架以及關(guān)鍵技術(shù) 其中關(guān)鍵技術(shù)包括 遺留代碼服務(wù) 化的原理和步驟 最后通過一個(gè)企業(yè)中常見的人民幣金額大小寫轉(zhuǎn)化的實(shí)例來說明使用 l c g s 方法將遺留代碼服務(wù)化的過程 第五章對(duì)整個(gè)論文研究和實(shí)踐工作進(jìn)行總結(jié) 介紹了遺留代碼重用所取得的成果 并指 出我們現(xiàn)有工作的局限性和有待提高與改進(jìn)的方面 2 1 框架結(jié)構(gòu) 第二章企業(yè)信息網(wǎng)格l o g l o 系統(tǒng)設(shè)計(jì) 網(wǎng)格系統(tǒng)有哪些組成部分 組成部分之問的關(guān)系以及如何協(xié)同工作是網(wǎng)格結(jié)構(gòu)研究需要 解決的關(guān)鍵問題 我們提出的企業(yè)信息網(wǎng)格i 咄系統(tǒng)結(jié)構(gòu)如圖2 1 所示 l o o 系統(tǒng)是基于 w e b 服務(wù)范型基礎(chǔ) 由全局注冊(cè)中心 提供者 消費(fèi)者構(gòu)成 全局注冊(cè)中心結(jié)點(diǎn)實(shí)現(xiàn)了信息 全局注冊(cè) 信息查詢和信息的動(dòng)態(tài)發(fā)現(xiàn) 消費(fèi)者在全局注冊(cè)中心發(fā)現(xiàn)提供者發(fā)布的信息 最 后通過訪問提供者結(jié)點(diǎn)的信息服務(wù)獲褥信息 2 1 1 提供者結(jié)點(diǎn) 圖2 1 t 椰l o 系統(tǒng)結(jié)構(gòu)圖 提供者結(jié)點(diǎn)結(jié)構(gòu)如圖2 2 所示 其中共享信息模塊提供共享信息服務(wù) 本地注冊(cè)模塊完 成信息的本地注冊(cè) 全局發(fā)布模塊實(shí)現(xiàn)信息的發(fā)布和注銷 在i o e g o 系統(tǒng)中 根據(jù)w e b 服務(wù) 的全局注冊(cè)中心 我們提出了本地注冊(cè)的概念 實(shí)現(xiàn)信息的一致性維護(hù)和管理的靈活性 其 中本地注冊(cè)功能模塊是我們研究的重點(diǎn) 圈2 2 提供者結(jié)點(diǎn)結(jié)構(gòu)圖 6 西北師范大學(xué)硬士學(xué)位論文 第二章企業(yè)信息阿格l o g o 系統(tǒng)設(shè)計(jì) 本地注冊(cè)模塊采用存儲(chǔ)系統(tǒng)和文件實(shí)例方式來抽象底層的資源 把這些底層可讀可寫 的物理單元抽象成一個(gè)更高層次豹本地注冊(cè)表 目的為給上層提供一致的 透明的訪問 即上層操作的只是一些注冊(cè)表 不需要知道物理資源的存儲(chǔ)方式和存儲(chǔ)位置 其中本地注 冊(cè)中心由資源模塊 j d b c 接口模塊 基于x m l 元信息管理模塊 自動(dòng)訪問模塊 信息 發(fā)布員管理模塊構(gòu)成 如圖2 3 所示 圖2 3 本地注冊(cè)模塊結(jié)構(gòu) 圖中橢圓虛線表示為提供信息的物理資源實(shí)體 他們構(gòu)成企業(yè)信息網(wǎng)格的信息資源基礎(chǔ) 該層主要包括各種數(shù)據(jù)庫資源 文本資源 傳感器采集的數(shù)據(jù)資源 媒體等資源 2 1 1 1j d b c 接口模塊 j d b c 是一種能通過j a v a 語言訪問結(jié)構(gòu)化數(shù)據(jù)的應(yīng)用程序接口 a p i 為s q l 兼容的 數(shù)據(jù)庫提供了一個(gè)標(biāo)準(zhǔn)的接口集合 j d b c o d b c 允許用戶使用統(tǒng)一的接口通過o d b c 去連 接數(shù)據(jù)庫 而不需要專門研究o d b c 韻技術(shù)和規(guī)范 對(duì)于w i n d o w s 操作系統(tǒng)下 注舾者本地 原有的數(shù)據(jù)庫通過j d b c o d b c 橋進(jìn)行動(dòng)態(tài)連接 其它類型操作系統(tǒng)通過j d b c 驅(qū)動(dòng)進(jìn)行連 接 如圖2 4 所示 j d b c 接口只針對(duì)數(shù)據(jù)庫信息資源 對(duì)于其它類型的信息資源沒有此模塊 圈互4j d b c 接口 2 1 1 2 自動(dòng)訪闖模塊 自動(dòng)訪問模塊其核心為本地注冊(cè)表托參x m l 和d a 紐b a 辱x m l 以及對(duì)它們的一些操作 7 西北師范大學(xué)碩士學(xué)位論文 第二章企業(yè)信息同格l o g l o 系統(tǒng)設(shè)計(jì) 信息發(fā)布員通過本地注冊(cè)a p i 對(duì)本地信息資源進(jìn)行注冊(cè) 應(yīng)用程序根據(jù)注冊(cè)者所注冊(cè)資源的 基本信息 如對(duì)于數(shù)據(jù)庫資源 將注冊(cè)資源的j d b c 驅(qū)動(dòng) 數(shù)據(jù)源 基本表名等控制信息自 動(dòng)提取寫入本地注冊(cè)表r e g x m l d a t a b a s e r e g x m l 信息服務(wù)開發(fā)者根據(jù)企業(yè)中經(jīng)常用的幾種 類型數(shù)據(jù)庫如 e x o c l a c c e s s m y s q l m s s q lo r a c l e 開發(fā)統(tǒng)一的信息查詢服務(wù) 并 將這些服務(wù)封裝一次性部署 當(dāng)有新的數(shù)據(jù)庫資源注冊(cè)時(shí) 避免了手工部署的麻煩 當(dāng)信息 訪問請(qǐng)求到達(dá)時(shí) 應(yīng)用程序通過讀本地注冊(cè)表r c g x m l d a t a b a s er e g x m l 完成了應(yīng)用程序和數(shù) 據(jù)庫的動(dòng)態(tài)連接 對(duì)于文本資源 將注冊(cè)資源的物理位置等信息寫入本地注冊(cè)表 根據(jù)對(duì)文本的常用查詢 方法開發(fā)通用的服務(wù) 即使有新的文本信息資源注冊(cè) 也無須開發(fā)新的服務(wù) 當(dāng)信息訪問請(qǐng) 求到達(dá)時(shí) 應(yīng)用程序通過讀本地注冊(cè)表完成了應(yīng)用程序?qū)ξ谋拘畔①Y源的定位 2 1 1 3 基于 h l 元信息管理模塊 基于x m l 元信息管理模塊 其核心為本地注冊(cè)表t a b l ei n f o x m l 以及對(duì)它的一些操作 完成基于x m l 的應(yīng)用元數(shù)據(jù)表示和物理資源之聞的映射 即把物理資源用基于x m l 應(yīng)用元 數(shù)據(jù)表示 描述所有共享數(shù)據(jù) 物理資源 的屬性 其中數(shù)據(jù)庫包括字段名 類型 主鍵等 一般的元數(shù)據(jù)包括 數(shù)據(jù)庫名 構(gòu)架 表名 列名 數(shù)據(jù)類型 長度 小數(shù)位數(shù) 精度 是 否允許空值等f 2 6 l 按照此體系結(jié)構(gòu)需要 應(yīng)用元數(shù)據(jù)表中的字段可以定義為數(shù)據(jù)表定義字段 擴(kuò)展字段 如圖2 5 所示為應(yīng)用元數(shù)據(jù)重要組成部分表示 其中序號(hào) 類別 表名 列名 數(shù)據(jù)類型 主鍵構(gòu)成元數(shù)據(jù)定義字段 參照鍵等構(gòu)成擴(kuò)展字段 圖2 5 中描述了e x c e l 數(shù)據(jù)庫 規(guī)劃部 x 釅和a c c e s s 數(shù)據(jù)庫 規(guī)劃部a m d b 的應(yīng)用元數(shù)據(jù) 圖 其中 規(guī)劃部 x l s 包含兩個(gè)基本表 s h e e t l 和 s h e e t 2 規(guī)劃部a m d b 包含一個(gè)基本表 儀 器 序號(hào)類別 數(shù)據(jù)庫名 表名列名數(shù)據(jù)類型主鍵參照鍵 r e s o u r ci dd a t a b a s es a m e t a b l e1 3 a m 略 c o li n f o t y p e時(shí)k e yk e y i d t a b l e o n l規(guī)劃部s h e e t l財(cái)政收支 v a f c h a fl l n l l u u u n u n 1規(guī)劃部s h e e t l財(cái)政預(yù)算v 岫a f n u l l n u n n u n 1 規(guī)劃部s h o e l 2 統(tǒng)一編號(hào)v a t c h a rn u l l n u l l n u m 1規(guī)劃部 s h e e t 2 設(shè)備名稱 v a c h a rn u l u u u n u n 2 規(guī)劃部a儀器 產(chǎn)品代號(hào)v a r c h a rn u l l u u u n u n 2 規(guī)劃部a儀器 狀態(tài)v a r c h a tn u l l n u u n u l l 圖2 5 應(yīng)用元數(shù)據(jù)圈 根據(jù)應(yīng)用元數(shù)據(jù)表構(gòu)建本地注腮表t a b l e i n f o x m l 將表頭作為元素 表頭對(duì)應(yīng)的值作為 8 西北師范大學(xué)碩士學(xué)位論文第二章企業(yè)信息網(wǎng)格l o g l o 系統(tǒng)設(shè)計(jì) 元素值 在應(yīng)用元數(shù)據(jù)表中 相同序號(hào)r e o u r c e i d 為同一個(gè)數(shù)據(jù)庫下的表 對(duì)應(yīng)一個(gè)信息資 源目錄 構(gòu)造基于x m l 元信息管理表結(jié)構(gòu)如圖2 6 所示 其中對(duì)于文本文件的元數(shù)據(jù)可以定義為 文件名 文件標(biāo)題 文件段落數(shù) 0 十u 蝴 c d a t a b a s ei n f or e s o u r c ei d l t a b l en a mk l ns 腳 tablea a m ei d l 儀器枷曲i c p 5 l l y p 眵 恤h 財(cái)政收支 塒虬h c o lt y p 掃 a r 產(chǎn)品代號(hào) 橢一l 財(cái)政頹算 d o 掃 狀態(tài) 硒 筋 一 啪曲k 硫 礎(chǔ)a b k i n f o l 曲kn a j 皓 z s 南e e t 2 統(tǒng)一編號(hào) c d l 一2l y p 竹v 搬婦 設(shè)備名稱 t a b l e 幽 圖2 6 基于元數(shù)據(jù)的 訌l 表示 通過上面的分析我們得到由物理資源到本地注冊(cè)表t a b l e i n f o x m l 見附錄3 的抽象過 程如圖2 7 所示 文本 數(shù)據(jù)庫 其它信息 資源 a 兒文檔 應(yīng)用元 本地注冊(cè)表 數(shù)據(jù)襲 t a b ki l 董o x m l 圖2 7 物理資源到基于x m l 元信息管理表抽象示惹圈 綜上所述 基于x l v i l 元信息管理模塊和自動(dòng)訪問模塊 即可協(xié)助完成信息查詢功能 對(duì)數(shù)據(jù)庫信息資源的查詢操作除了面向數(shù)據(jù)庫的表不同 具體的說 就是數(shù)據(jù)庫驅(qū)動(dòng)和數(shù)據(jù) 源不同 而導(dǎo)致其表名 字段名 類型等信息不同外 其他內(nèi)容基本都是相同的的 在具體 實(shí)現(xiàn)上 數(shù)據(jù)庫連接時(shí)c l a s s f o r n a m e o 和d r i v e r m a n a g e r g e t c o n n e c t i o n o 參值不同而已 因 此我們對(duì)數(shù)據(jù)庫信息資源操作時(shí)通過本地注冊(cè)表得到j(luò) b d c 接口信息 o a s s f o r n a m e o 和 d r i v e r m a n a g e r g e t c o n n e c t i o n 0 參數(shù)值 進(jìn)行統(tǒng)一操作在理論上和實(shí)踐上都是可行的 同時(shí) 又是用戶訪問數(shù)據(jù)庫時(shí)動(dòng)態(tài)完成數(shù)據(jù)庫驅(qū)動(dòng)和數(shù)據(jù)源連接較好的一個(gè)方案 對(duì)于文本信息資 q 西北師范大學(xué)碩士學(xué)位論文 第二章企業(yè)信息兩格t z g l o 系統(tǒng)設(shè)計(jì) 源通過讀本地注冊(cè)表就可以定位到某一個(gè)具體的文件甚至可以定位到文件的某一段落 提供者結(jié)點(diǎn)通過j d b c 接口模塊 基于x m l 元信息管理模塊和自動(dòng)訪問模塊屏蔽了資 源層中分散 動(dòng)態(tài)異構(gòu)的各種資源 為企業(yè)信息資源的共享 集成和互操作提供透明的 一 致的使用接口 以支持企業(yè)用戶訪問 2 1 i a 信息發(fā)布員管理模塊 信息發(fā)布員管理模塊核心為一個(gè)本地信息發(fā)布員注冊(cè)表u d d i r e g x m l 以及對(duì)其的一些操 作 在信息發(fā)布員發(fā)布信息之前 需要信息發(fā)布員管理模塊向全局注冊(cè)中心注冊(cè)一個(gè)帳戶 全局注冊(cè)中心驗(yàn)證注冊(cè)信息的用戶合法性之后 開通合法用戶并授權(quán)其發(fā)布信息 同時(shí)返回 注冊(cè)者一個(gè)發(fā)布號(hào)i d 并在本地信息發(fā)布員注冊(cè)表寫入信息發(fā)布員的相關(guān)信息 2 1 2 全局注冊(cè)中心 信息發(fā)布員通過本地注冊(cè)a p i 在本地對(duì)信息資源進(jìn)行注冊(cè) 注冊(cè)成功后 信息提供者結(jié) 點(diǎn)的全局發(fā)布模塊通過調(diào)用全局注冊(cè)a p i 在全局注冊(cè)中心進(jìn)行信息資源的二次注冊(cè)即信息的 發(fā)布 發(fā)布成功后 消費(fèi)者就可以在全局注冊(cè)中心發(fā)現(xiàn)信息資源 全局注冊(cè)中心由信息發(fā)布 員注冊(cè)模塊 信息發(fā)布員授權(quán)模塊 信息管理模塊和信息查詢模塊構(gòu)成 圖2 8 所示全局注 冊(cè)中心結(jié)構(gòu)圖 圖2 8 全局注冊(cè)中心結(jié)構(gòu)圖 信息發(fā)布員管理模塊由本地信息發(fā)布員注冊(cè)管理模塊調(diào)用 完成對(duì)信息發(fā)布員的基本信 息在全局注冊(cè)中心數(shù)據(jù)庫中信息發(fā)布員表的注冊(cè)或者注銷 主要填寫信息發(fā)布員的用戶名 密碼 發(fā)布者所屬部門 發(fā)布者聯(lián)系方式 發(fā)布者角色信息 信息發(fā)布員授權(quán)模塊主要是驗(yàn)證由信息發(fā)布員的合法性 通過信息發(fā)布員的合法證件 由全局注冊(cè)中心管理員對(duì)其身份進(jìn)行合法性驗(yàn)證 信息管理模塊提供一組a p i 主要用于提供者結(jié)點(diǎn)的全局發(fā)布模塊完成對(duì)其的調(diào)用 從而 1 0 西北師范大學(xué)碩士學(xué)位論文第二章企業(yè)信息網(wǎng)格t o g l o 系統(tǒng)設(shè)計(jì) 實(shí)現(xiàn)對(duì)信息的發(fā)布或者注銷 信息查詢模塊主要給消費(fèi)者提供了使用w e b 頁面提交的關(guān)鍵字的信息發(fā)現(xiàn)功能 2 2 信息的包裝 在k 曾 系統(tǒng)中 對(duì)數(shù)據(jù)庫信息資源和文本信息資源都有不同的包裝規(guī)范 分別為r e m l r o o t e l e m e n tm a r k u pl a n g u a g e 和t t p m l t x t t i t l e p a rm a r k u pl a m g u a g e 信息消費(fèi)者得到包 裝后的信息 通過不同的規(guī)范對(duì)信息解析使用 2 2 1 數(shù)據(jù)庫信息r e n d 包裝規(guī)范 對(duì)數(shù)據(jù)庫信息包裝是按照數(shù)據(jù)庫的格式而進(jìn)行包裝的 以下是數(shù)據(jù)庫包裝r e m l 規(guī)范的 s c h e m a k s s c h e 瑚x n l h l s m 珊t p 伽m w 3 o r g 2 0 0 i x m l s c h e m a e l e m e n t f o r m d e f a u t t q u a l i f i e d 鼉 o j i x s s e q u e n c e i 4 i j i x s e l e m e n tn a m e e l e r l 磚n t i 一 2 瓣磷溜幽渤 j j j j j 一 壤 規(guī)范中根元素t o o t 定義一個(gè)數(shù)據(jù)庫中基本表的開始 根元素下有一個(gè)或多個(gè)e l e m e n t 元素 類型為字符串 e l e m e n t 元素 定義數(shù)據(jù)庫中的一條記錄 其中每個(gè)記錄中包含多個(gè)字段 類型為字符串 f i e l d n a m e 元素 定義數(shù)據(jù)庫中每條記錄中的一個(gè)字段 類型為字符串 圖2 9 是對(duì)圖2 4 應(yīng)用元數(shù)據(jù)圖中 s h e e t 2 的包裝結(jié)果 西北師范大學(xué)硬士學(xué)位論文 第二章企業(yè)信息網(wǎng)格l o g o 系統(tǒng)設(shè)計(jì) 2 2 2 文本信息t t p m l 包裝規(guī)范 圈2 9r e m l 包裝數(shù)據(jù)庫實(shí)例圖 對(duì)文本信息的包裝也是完全按照文本的格式進(jìn)行的 以下是文本包裝n p m l 規(guī)范的 s c h e m a 爹 x m lv c r s i d n 1 o e n c o d i n g 1 玎f 8 叩 唧 2 穢 吖9 囂擘 j 妒 1 x s s e q u e n c e i x s e l e m e n tr e f t x t 棚e 脅 i i i i i 一舟 t 鈾l 一 g 叫i t 山 瞄佻叭一 壤 根元素 r e x 定義一個(gè)文本的開始 類型為字符串 t e x 中包含一個(gè)t x t t i t l e 子元素和多 個(gè)t x e p a r n u m 元素 元素元素t x t f i t l e 定義一個(gè)文本的標(biāo)題 類型為字符串 元素t x t p a u n u m 定義文本的每一個(gè)段落 類型為字符串 西北師范大學(xué)碩士學(xué)位論文 第二章企業(yè)信息罔格k i g l o 系統(tǒng)設(shè)計(jì) 圖2 1 0 為一文本的包裝結(jié)果 2 3 一個(gè)典型的信息訪問過程 圈2 1 0 t l p m l 包裝數(shù)據(jù)庫實(shí)例圖 一個(gè)典型的信息訪問過程應(yīng)為 發(fā)布 發(fā)現(xiàn)過程 信息發(fā)布員在全局注冊(cè)中心注冊(cè)一個(gè) 賬戶 全局注冊(cè)中心對(duì)信息發(fā)布員授權(quán)以后 該信息發(fā)布員可以發(fā)布信息 發(fā)布信息之前 首先對(duì)所發(fā)布信息本地注冊(cè) 本地注冊(cè)成功后 訪問信息的u r l 發(fā)布到全局注冊(cè)中心 消費(fèi)者 通過基于關(guān)鍵字的查詢發(fā)現(xiàn)所需信息的u r l 最后消費(fèi)者通過u d 訪問信息 最終得到包裝后 的r e m l 信息或者t t p m l 信息 總括為信息發(fā)布員注冊(cè) 本地注冊(cè)發(fā)布信息 用戶發(fā)現(xiàn)信息 訪問信息這幾個(gè)重要的過程 2 3 1 信息發(fā)布員注冊(cè) 主要完成信息發(fā)布員本地注冊(cè)和全局注冊(cè) 其中信息發(fā)布員本地全局注冊(cè)必須提供以下 信息 用戶名 密碼 信息發(fā)布者類別 信息發(fā)布者聯(lián)系方式 工作證號(hào) 用戶角色 注冊(cè) 成功后 全局注冊(cè)中心返回一個(gè)發(fā)布號(hào) 以供發(fā)布信息使用 本地注冊(cè)表u d d i r e g x m l 中寫入 信息發(fā)布員注冊(cè)信息 信息發(fā)布員注冊(cè)信息成功后 需要拿自己的工作證證明自己的身份 申請(qǐng)全局注冊(cè)中心授權(quán)此用戶為信息發(fā)布員 具有發(fā)布信息的權(quán)利 西北師范大學(xué)碩士學(xué)位論文 第二章企業(yè)信息同格l o o o 系統(tǒng)設(shè)計(jì) 2 3 2 信息本地注冊(cè) 發(fā)布 信息發(fā)布員注冊(cè)以后 就具有發(fā)布信息的權(quán)限 如圖2 1 1 是發(fā)布信息的界面 圖2 1 1 注冊(cè)發(fā)布信息界面 信息資源類型對(duì)應(yīng)信息所屬部門 例如 技術(shù)中心 財(cái)務(wù)部等 信息資源類型包括e x c e l a c e s s s q l s e r e r 1 x r x m l p i c 資源 可選其一進(jìn)行注冊(cè) 資源物理位置為所注 冊(cè)目錄資源所在絕對(duì)路徑 信息資源描述可填入的信息概要屬性 資源狀態(tài)可選擇靜態(tài)或動(dòng) 態(tài) 資源生命周期為 y y y y m m d d 格式 信息資源屬性可選擇只讀 讀寫 只寫三者其一 若注冊(cè)的資源為靜態(tài)資源則信息資源表名文本框內(nèi)填入基本表名 如某e x c e l 數(shù)據(jù)庫中基本 表的名字s h e e t l 若注冊(cè)的資源為動(dòng)態(tài)資源則信息資源表會(huì)自動(dòng)變?yōu)閯?dòng)態(tài)資源變化周期 對(duì) 應(yīng)文本框內(nèi)填入動(dòng)態(tài)資源變化周期 數(shù)據(jù)源只對(duì)數(shù)據(jù)庫資源而言 對(duì)應(yīng)注冊(cè)資源前期通過 j d b d o d b c 連接數(shù)據(jù)庫時(shí)數(shù)據(jù)源名字 對(duì)于其他信息此項(xiàng)為不可編輯狀態(tài) 發(fā)布者名字和 發(fā)布者密碼為全局注冊(cè)中心注冊(cè)的用戶和密碼 發(fā)布資源描述信息 描述信息的詳細(xì)內(nèi)容 方便用戶在全局注冊(cè)中心發(fā)現(xiàn)信息 點(diǎn)擊按鈕 注冊(cè)本地資源并發(fā)布 將自動(dòng)觸發(fā)本地基本表 注冊(cè)服務(wù) 并向信息中心發(fā)布此信息資源 在圖中我們了發(fā)布一個(gè)規(guī)劃部數(shù)據(jù)庫中的基本表 十一五主要經(jīng)濟(jì)指標(biāo)規(guī)劃 1 4 2 3 3 信息發(fā)現(xiàn) 信息發(fā)布成功后 用戶可以在信息中心的j s p 頁面進(jìn)行基于關(guān)鍵字的查詢發(fā)現(xiàn)信息 查 詢結(jié)果如圖2 1 2 所示 2 3 4 信息訪問 圖2 1 2 全局注冊(cè)中心發(fā)現(xiàn)信息界面 l o g l o 系統(tǒng)提供三種客戶端的訪問方式 j s p 客戶端 j a v a 客戶端 c 客戶端 如圖2 1 3 為j s p 客戶端查詢結(jié)果 圖2 1 3 j s p 訪問結(jié)果圖 3 1 遺留代碼包裝簡介 第三章遺留代碼包裝 包裝遺留代碼 采用x m l 技術(shù)將遺留代碼包裝成為x m l 中間表示 便于上層應(yīng)用的處 理和無二義的傳輸 本文提出的l c x m l l e g a c yc o d e x m l 方法包裝遺留代碼是在確定 遺留代碼包裝規(guī)范的基礎(chǔ)上 對(duì)遺留代碼添加標(biāo)簽 將遺留代碼包裝成m 細(xì)l f u n c t i o n s h e a d f u n c t i o nm a r k u pl a n g u a g e 格式 在我們的b g l 0 系統(tǒng)中 首先要將遺留代碼包裝成f h f m l 代碼 然后對(duì)f h f m l 代碼進(jìn)行本 地注冊(cè) 遺留代碼在本地注冊(cè)成功后 將遺留代碼的功能描述信息發(fā)布到全局注冊(cè)中心 信 息消費(fèi)者在全局注冊(cè)中心通過基于關(guān)鍵字的查詢發(fā)現(xiàn)該信息 并通過調(diào)用提供該信息的服務(wù) 得到包裝后的遺留代碼f h f i n l 客戶端應(yīng)用程序得到包裝后的遺留代碼f l l f m l 后 根據(jù)我們已 經(jīng)確定的t h f m l 規(guī)范中標(biāo)簽的意義 準(zhǔn)確地讀取預(yù)期需要的遺留代碼 并以友好的方式顯示 給信息消費(fèi)者 同時(shí)客戶端應(yīng)用程序也可以將t h f m l 作為中間表示緩存在本地 供其他應(yīng)用 程序使用 本章節(jié)中把未經(jīng)過包裝的遺留代碼稱為裸代碼 經(jīng)過包裝的遺留代碼稱為f h f m l 代碼 3 2 整體框架設(shè)計(jì) 通過拷貝等方法將遺留裸代碼移動(dòng)到提供者結(jié)點(diǎn) 提供者結(jié)點(diǎn)首先對(duì)遺留裸代碼進(jìn)行預(yù) 處理 分析 然后完成遺留裸代碼的包裝 生成n l f i l l l 代碼 通過本地注冊(cè)模塊完成遺留代 碼的本地注冊(cè) 最后由提供者結(jié)點(diǎn)的發(fā)布模塊將本地注冊(cè)的遺留裸代碼的功能描述信息和訪 問方式發(fā)布在全局注冊(cè)中心 消費(fèi)者結(jié)點(diǎn)在全局注冊(cè)中心發(fā)現(xiàn)f l l f m l 信息的訪問方式 通過 訪問提供者結(jié)點(diǎn)的共享信息服務(wù)模塊實(shí)現(xiàn)對(duì)包裝后的遺留代碼f h f m 代碼的訪闖 整體框架 如圖3 1 西北師范大學(xué)碩士學(xué)位論文 第三章遺留代碼包裝 3 2 1 遺留代碼預(yù)處理 圖3 1 整體框架圖 遺留代碼預(yù)處理的主要目的是得到遺留代碼中與某一指定功能實(shí)現(xiàn)相關(guān)的語句 此模塊 用到了程序切片技術(shù)1 2 7 0 3 程序切片技術(shù)可以將一個(gè)大的程序分解成一個(gè)小的 只包含與某 個(gè)給定變量的計(jì)算有關(guān)的語句 所有這些語句的集合就叫做一個(gè)切片 切片能完整復(fù)現(xiàn)原始 程序中我們所關(guān)注的某一部分行為 遺留代碼預(yù)處理功能模塊主要是根據(jù)信息發(fā)布員確定的 切片準(zhǔn)則i 蚓 使用c a s e 程序切片工具u n r a v e l 0 5 1 截取遺留裸代碼中的特定切片 與此同時(shí) 為了方便包裝遺留代碼 我們刪除切片代碼中所有與某一語句同居一行的注釋語句 通過遺 留代碼預(yù)處理后 僅包含與目標(biāo)功能所對(duì)應(yīng)的那部分代碼 我們把通過預(yù)處理以后生成的代 碼稱為最簡遺留裸代碼 1 7 西北師范大學(xué)碩士學(xué)位論文 第三章遺留代碼包裝 3 2 2 遺留代碼分析 遺留代碼分析功能模塊主要借助第三方分析工具c t l o w l 3 6 1 得到最簡遺留裸代碼中每一個(gè) 用戶自定義函數(shù)的開始行標(biāo)號(hào)和結(jié)束行標(biāo)號(hào) 最終生成一個(gè)與最簡遺留裸代碼同名的配置文 件 如a p r o p e r t i e s 我們?cè)谂渲梦募杏涗涀詈嗊z留裸代碼每一個(gè)函數(shù)的開始行標(biāo)號(hào)和結(jié)束 行標(biāo)號(hào)以及我們自定義的功能描述 如配置文件中 印 f u n c b e g i n l 3 表示某個(gè)c 代碼的第一 個(gè)函數(shù)開始行號(hào)為3 而 c p f u n c e n d l 1 5 表示此c 代碼的第一個(gè)函數(shù)結(jié)束行號(hào)為1 5 c p f u n c d e s c r i p l c 函數(shù)功能 人民幣金額大小寫轉(zhuǎn)化 返回大寫人民幣金額 輸入?yún)?shù) 參數(shù)i 小寫人民幣金額 表示某個(gè)函數(shù)的功能為 和 中的內(nèi)容 3 2 3 遺留代碼包裝 遺留代碼分析之后 對(duì)最簡遺留裸代碼包裝 遺留代碼包裝功能模塊根據(jù)預(yù)先確定的遺 留代碼包裝規(guī)范f l f f m l 通過最簡遺留裸代碼的配置文件對(duì)最簡遺留裸代碼進(jìn)行分析 最后包 裝最簡遺留裸代碼并生成f l f f r n l 代碼 遺留代碼包裝流程如圖3 2 所示 輸入f h f m l 規(guī)范 最 簡遺留裸代碼a c 最簡遺留裸代碼配置文件a p r o p e r t i e s 通過最簡遺留裸代碼包裝處理過程 最終輸出f h f i n l 代碼a x i n l l i 圖3 2 遺留撅代碼包裝流程圖 通過上述分析 要最終完成將遺留代碼包裝成f h f i n l 代碼 要經(jīng)過遺留代碼的預(yù)處理 分析 包裝三個(gè)重要的過程 下表橛括了各模塊的目標(biāo)及相關(guān)說明 西北師范大學(xué)碩士學(xué)位論文第三章遺留代瑪包裝 處理過程遺留代碼預(yù)處理遺留代碼分析遺留代碼包裝 生成最簡遺留裸生成最簡遺留裸生成f h f m l 代 目標(biāo) 代碼 代碼對(duì)應(yīng)的配置 碼 文件 根據(jù)信息發(fā)布員生成與最簡遺留根據(jù)f h f m l 規(guī)范 確定的切片準(zhǔn)則 裸代碼同名的配生成與遺留裸 說明刪除遺留裸代碼置文件 該文件中代碼同名的 中冗余語句 僅包寫入最簡遺留裸 x m l 文件 含與指定功能所代碼中每個(gè)用戶 對(duì)應(yīng)的那部分代自定義函數(shù)的開 碼始行標(biāo)號(hào) 結(jié)束行 標(biāo)號(hào)以及功能描 述 2 a 本地注冊(cè)及發(fā)布 1 遺留代碼本地注冊(cè) 通過本地注腮模塊完成遺留代碼的提供者結(jié)點(diǎn)本地注冊(cè) 在l o g l o 系統(tǒng)中本地注冊(cè)模塊 由j d b c 接口模塊 基于x m l 元信息管理模塊 自動(dòng)訪問模塊和信息發(fā)布員管理模塊構(gòu)成 對(duì)遺留代碼的注冊(cè)不需要訪問j d b c 接口模塊和信息發(fā)布員管理模塊 遺留代碼本地注冊(cè)時(shí) 首先由自動(dòng)訪問模塊在本地注冊(cè)表r e g j m l 中寫入最簡遺留裸代碼的信息 并生成相應(yīng)的以 s u b 為前綴 再加上r e s o u r i d 為名的目錄 以后提此目錄名均簡稱為s u b r e s o u r c e i d 然后 由自動(dòng)訪問模塊將由包裝模塊生成的f h f m l 代碼放在s u b r e s o u r c ei d 目錄下 隨后自動(dòng)訪問模 塊在本地注冊(cè)表d a t a b a s e x m l 中寫入遺留代碼的控制信息 最后自動(dòng)訪問模塊調(diào)用元信息管 理模塊 將遺留代碼元信息寫入本地注冊(cè)表t a b l ei n f o x m l 中 遺留代碼本地注冊(cè)如圖3 3 具體過程如下 自動(dòng)訪問模塊通過訪問本地注冊(cè)表佗g x m l 得到一個(gè)信息種類號(hào)r e s o u r c ei d 并生成一 個(gè)以s u b r e s o u r c e i d 為名的目錄 如以s u b 5 為名的目錄 并在本地注冊(cè)表r e g x m l 中寫入最 簡遺留裸代碼信息 最簡遺留裸代碼信息包括 信息種類號(hào)r c s o u r c 七 i d 信息資源所屬目錄 物理位置 自動(dòng)訪問模塊調(diào)用拷貝f h f r n l 代碼模塊 拷貝f i e n d 代碼模塊將由遺留代碼包裝模塊在最簡遺留裸代碼同目錄下生成與其同名 的f h f m l 代碼 如最簡遺留裸代碼為a c 則其對(duì)用的m m i 代碼為a x m l 拷貝到以s u b r e s o u r c e i d 為名的目錄下 自動(dòng)訪問模塊調(diào)用控制信息寫入注冊(cè)表模塊 西北師范大學(xué)硬士學(xué)位論文第三章遺留代瑪包裝 控制信息寫入本地注冊(cè)表d a t a b a s e x m l 時(shí)先生成一個(gè)信息種類號(hào)t a b l ei d 然后將最簡 遺留代碼和f h f m l 代碼的相應(yīng)信息寫入本地注冊(cè)表d a t a b a s e x m l 其控制信息包括 信息種類 號(hào)r e s o u r c e i

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論