已閱讀5頁,還剩62頁未讀, 繼續(xù)免費(fèi)閱讀
(計(jì)算機(jī)應(yīng)用技術(shù)專業(yè)論文)基于soa的分布式應(yīng)用系統(tǒng)數(shù)據(jù)模型的研究與建立.pdf.pdf 免費(fèi)下載
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
摘要 軟件技術(shù)的發(fā)展已經(jīng)經(jīng)歷了面向過程、面向?qū)ο蠛兔嫦蚪M件幾個(gè)階段,近幾 年,又提出了面向服務(wù)的體系結(jié)構(gòu)s o a ( s e r v i c eo r i e n t e da r c h i t e c h t u r e ) 。s o a 具 有松藕合、易集成、可重用和業(yè)務(wù)驅(qū)動(dòng)等特點(diǎn),現(xiàn)已成為企業(yè)應(yīng)用開發(fā)的熱點(diǎn)。 在基于s o a 的分布式企業(yè)應(yīng)用開發(fā),其中最基礎(chǔ)的工作就是建立一個(gè)可靠、穩(wěn) 定、有利于整合的數(shù)據(jù)模型,進(jìn)行數(shù)據(jù)的集成和重構(gòu),以解決龐大而復(fù)雜的業(yè)務(wù) 數(shù)據(jù)在各個(gè)系統(tǒng)之間的流動(dòng)和異構(gòu)系統(tǒng)之間的數(shù)據(jù)共享。 本論文從中央廣播電視大學(xué)教務(wù)管理系統(tǒng)出發(fā),將面向服務(wù)架構(gòu)的思想應(yīng)用 到數(shù)據(jù)模型建模過程中。將數(shù)據(jù)模型、業(yè)務(wù)策略和服務(wù)定義結(jié)合起來,以建立統(tǒng) 一數(shù)據(jù)模型為中心,在系統(tǒng)的分層體系結(jié)構(gòu)中抽象一個(gè)數(shù)據(jù)服務(wù)層,專門用來解 決s o a 的數(shù)據(jù)服務(wù)要求,從而隔離應(yīng)用與底層數(shù)據(jù)源。 論文首先討論了數(shù)據(jù)模型建模的相關(guān)理論和技術(shù),詳細(xì)地闡述了s o a 的相 關(guān)概念、特點(diǎn)、優(yōu)勢(shì)、及主要實(shí)現(xiàn)技術(shù),并分析了基于s o a 的分布式應(yīng)用系統(tǒng) 的參考架構(gòu)。其次,論文借鑒借鑒數(shù)據(jù)倉(cāng)庫(kù)主題數(shù)據(jù)存儲(chǔ)的思想和面向服務(wù)分析 和設(shè)計(jì)的方法,提出了分主題域e r 實(shí)體數(shù)據(jù)模型和服務(wù)數(shù)據(jù)模型兩階段來建立 基于s o a 的數(shù)據(jù)模型,以及采用分層描述的方法從數(shù)據(jù)實(shí)體層、數(shù)據(jù)聚合層和 跨組織服務(wù)聚合層的三個(gè)層次來描述數(shù)據(jù)模型。最后,在中央電大教務(wù)管理系統(tǒng) 的實(shí)際開發(fā)中應(yīng)用這種方法,分析建立系統(tǒng)的數(shù)據(jù)模型;同時(shí)根據(jù)中央電大教務(wù) 管理系統(tǒng)的特點(diǎn),提出了數(shù)據(jù)服務(wù)的實(shí)現(xiàn)框架,并針對(duì)不同的實(shí)際問題和技術(shù)細(xì) 節(jié),分析設(shè)計(jì)了相應(yīng)的解決方案,完成理論與實(shí)踐的結(jié)合。 關(guān)鍵詞s o a ;分布式應(yīng)用系統(tǒng);數(shù)據(jù)服務(wù);數(shù)據(jù)模型 a b s t r a c t t h es o f t w a r et e c h n o l o g yh a sa l r e e d ye x p e r i e n c e dt h ep r o c e s s - o r i e n t e d ,t h e o b j e c t - o r i e n t e da sw e l la st h ec o m p o n e n t - o r i e n t e ds t a g e a n dr e c e n t l y , t h es o a ( s e r v i c eo r i e n t e da r c h i t e c t u r e ) ,w h i c hi sn o to n l yc o u p l e dl o o s e l y , e a s yt oi n t e g r a t e a n dr e u s e ,b u ta l s od r i v e nb yb u s i n e s s ,h a so b t a i n e dt h ep o i n t a sf a ra st h e d i s t r i b u t i o n a le n t e r p r i s ed e v e l o p m e n tb a s e do nt h es o a , t h em o s tp r i m a r ya n d e l e m e n t a r y j o bi st oe s t a b l i s har e l i a b l e ,s t a b l ea n db e i n ge a s i l yi n t e g r a t e dd a t am o d e l f o rd a t af l o w i n go fh u g ea n dc o m p l e xs e r v i c ed a t ab e t w e e ns u b s y s t e m sa n dd a t a s h a r i n gi nh e t e r o g e n e o u ss y s t e m t h i st h e s i s ,h a v i n gb a s i so ft h ec e n t r a lr a d i oa n dt vu m v e r s i t ye d u c a t i o n a d m i n i s t r a t i o ns y s t e m ,c o m b i n e dd a t am o d e l ,o p e r a t i o ns t r a t e g i e sa n ds e r v i c e d e f i n i t i o nt ob u i l du pas p e c i a ld a t as e r v i c el a y e ri nd a t am o d e l t h i sp o l i c yi st e n d i n g t os e p a r a t ed a t aa p p l i c a t i o nf r o md a t as o u r c e i nt h ef i r s tp l a c e ,t h et h e s i sd i s c u s s e dr e l a t e dt h e o r ya n dt e c h n o l o g yo fd a t a m o d e l ,a n dd e s c r i b e dt h ec o n c e p t s ,c h a r a c t e r i s t i c s ,a d v a n t a g e sa n dm e t h o d so f o p e r a t i o no f s o a i na d d i t i o nt oa n a l y z et h ea r c h i t e c t u r eo f d i s t r i b u t i o n a ls y s t e mb a s e d o ns o a i nt h es e c o n dp l a c e ,t h ew r i t e r , l e a r n i n gl e s s o n sf r o mt h et h e o r yo f t o p i cd a t a s a v i n gi nd a t aw a r e h o u s ea n dt h es e r v i c eo r i e n t e dm e t h o do f a n a l y z i n ga n dd e s i g n i n g , r a i s e dt h ei s s u et h a tw ec a nn o to n l yb u i l du pad a t am o d e lb a s e do nt h es o at h r o u g h t w os t e p s :s e tu pe re n t i t yd a t am o d e lf o rd i v e r s es u b j e c ta n de s t a b l i s hs e r v i c ed a t a m o d e l ,b u ta l s op r o f i l e dad a t am o d e lh a v i n gt h r e el a y e r s :d a t ae n t i t yl a y e r , d a t a i n t e g r a t i o nl a y e ra n dc r o s s i n go r g a n i z a t i o ns e r v i c ei n t e g r a t i o nl a y e r f i n a l l y , t h ew r i t e r u s e dt h em e t h o dw h i c hw ed i s c u s s e da b o v et oa n a l y z ea n db u i l du pad a t am o d e li n t h ee d u c a t i o n a lm a n a g e m e n ts y s t e mf o rc e n t r a lr a d i oa n dt vu m v e r s i t y ;i nt h e m e a n t i m e , a c c o r d i n gt ot h ec h a r a c t e r i s t i c so ft h es y s t e m ,t h ea u t h o rp u tf o r w a r dt h e o p e r a t i o na r c h i t e c t u r eo fd a t as e r v i c e ,w h i l ea n a l y z i n ga n dd e s i g n i n gar e s o l u t i o n a i m i n ga td i f f e r e n ta c t u a ! p r o b l e ma n dt e c h n i q u ed e t a i l k e y w o r d ss e r v i c e o r i e n t e da r c h i t e c t u r e s ;d i s t r i b u t e da p p l i c a t i o ns y s t e m ;d a t a m o d e l ;d a t as e r v i c e s 1 1 1 獨(dú)創(chuàng)性聲明 本人聲明所呈交的論文是我個(gè)人在導(dǎo)師指導(dǎo)下進(jìn)行的研究工作及取得的研 究成果。盡我所知,除了文中特別加以標(biāo)注和致謝的地方外,論文中不包含其他 人已經(jīng)發(fā)表或撰寫過的研究成果,也不包含為獲得北京工業(yè)大學(xué)或其它教育機(jī)構(gòu) 的學(xué)位或證書而使用過的材料。與我一同工作的同志對(duì)本研究所做的任何貢獻(xiàn)均 已在論文中作了明確的說明并表示了謝意。 簽名:羔日期:絲z 么叢 關(guān)于論文使用授權(quán)的說明 本人完全了解北京工業(yè)大學(xué)有關(guān)保留、使用學(xué)位論文的規(guī)定,即:學(xué)校有權(quán) 保留送交論文的復(fù)印件,允許論文被查閱和借閱:學(xué)??梢怨颊撐牡娜炕虿?分內(nèi)容,可以采用影印、縮印或其他復(fù)制手段保存論文。 ( 保密的論文在解密后應(yīng)遵守此規(guī)定) 簽名:王缸導(dǎo)師簽名: 第1 章緒論 1 1 本研究課題的學(xué)術(shù)背景及其理論與實(shí)際意義 隨著網(wǎng)絡(luò)技術(shù)和企業(yè)信息化的發(fā)展,分布式應(yīng)用系統(tǒng)得到了越來越廣泛的 應(yīng)用。人們可以分散在不同的地理位置上,通過網(wǎng)絡(luò)跨時(shí)空的共享信息、協(xié)同 工作,極大地提高了工作效率。但是,這一方面導(dǎo)致分布式應(yīng)用系統(tǒng)的功能、 性能、規(guī)模和復(fù)雜性的極大增長(zhǎng),同時(shí)也要求各個(gè)系統(tǒng)之間能相互交互,使得 這些分布在不同地域的系統(tǒng)提出了集成和整合的需求。 另一方面,軟件的發(fā)展已經(jīng)經(jīng)歷了面向過程、面向?qū)ο蠛兔嫦蚪M件等幾個(gè) 階段,近兩年來,為了適應(yīng)新的軟件發(fā)展,又提出了面向服務(wù)的體系結(jié)構(gòu)( s e r v i c e o r i e n t e da r c h i t e c h t u r e ) 的軟件設(shè)計(jì)方法,因其松耦合、易集成、可重用和業(yè)務(wù)驅(qū) 動(dòng)等特點(diǎn),已成為現(xiàn)在企業(yè)應(yīng)用開發(fā)的熱點(diǎn)。s o a 既是一種軟件體系結(jié)構(gòu),也 是一種新的軟件開發(fā)方法和r r 策略【l l 。目前各大廠商都分別提出了各自的相關(guān) 技術(shù)和解決方案。但不論采用哪種軟件體系結(jié)構(gòu)或設(shè)計(jì)方法,建立一個(gè)可靠、 穩(wěn)定、有利于整合的數(shù)據(jù)模型都是構(gòu)建一個(gè)分御式應(yīng)用系統(tǒng)的關(guān)鍵,而對(duì)基于 s o a 的分布式應(yīng)用系統(tǒng)開發(fā),其中最基礎(chǔ)的工作就是基于s o a 企業(yè)信息系統(tǒng) 參考架構(gòu)進(jìn)行數(shù)據(jù)的集成和重構(gòu)。 各個(gè)企業(yè)應(yīng)用系統(tǒng)中異構(gòu)數(shù)據(jù)的集成有其自己的特征,主要表現(xiàn)為分布性、 自治性和異構(gòu)性。分布性是指異構(gòu)數(shù)據(jù)存放在分散的、彼此可相互通信的多個(gè) 場(chǎng)地;自治性是指集成系統(tǒng)不能影響各局部應(yīng)用系統(tǒng),被集成的每個(gè)局部數(shù)據(jù) 源之上都可能運(yùn)行著自己原來的應(yīng)用程序,這就要求局部數(shù)據(jù)源在被集成之后 仍然保持一定程度的獨(dú)立性;異構(gòu)性主要有運(yùn)行環(huán)境的異構(gòu)和數(shù)據(jù)模型的異構(gòu) 2 1 。 本論文研究基于s o a 解決分布式異構(gòu)數(shù)據(jù)集成問題,在企業(yè)分層體系結(jié)構(gòu) 中抽象出一個(gè)數(shù)據(jù)服務(wù)層,建立一個(gè)統(tǒng)一的綜合數(shù)據(jù)模型,專門用來解決s o a 的數(shù)據(jù)服務(wù)要求;通過數(shù)據(jù)轉(zhuǎn)換、數(shù)據(jù)移植、數(shù)據(jù)共享等方式捕獲與數(shù)據(jù)訪問 和數(shù)據(jù)更新相關(guān)的邏輯,完成數(shù)據(jù)服務(wù)的建模和元數(shù)據(jù)管理,創(chuàng)建和維護(hù)數(shù)據(jù) 服務(wù);最后給出了一個(gè)實(shí)現(xiàn)分布式應(yīng)用系統(tǒng)數(shù)據(jù)服務(wù)的邏輯框架。 1 2 國(guó)內(nèi)外研究現(xiàn)狀和發(fā)展動(dòng)態(tài) 分布式系統(tǒng)的特點(diǎn)是運(yùn)作的敏捷性、信息需求的多樣性、信息系統(tǒng)的異構(gòu) 性以及良好的擴(kuò)展性。因此,建立分布式系統(tǒng)的統(tǒng)一數(shù)據(jù)模型和實(shí)現(xiàn)的數(shù)據(jù)服 北京t 業(yè)人學(xué)t 學(xué)頌i :學(xué)位論文 務(wù)應(yīng)具備開發(fā)和兼容性、適應(yīng)和柔性、協(xié)作和靈活性。而傳統(tǒng)數(shù)據(jù)建模和數(shù)據(jù) 共享主要是針對(duì)同一企業(yè)內(nèi)部或相同組織結(jié)構(gòu)內(nèi)部的緊耦合性的數(shù)據(jù)共享和交 換,對(duì)松散的異構(gòu)數(shù)據(jù)無能為力。 目前,最新的面向服務(wù)的體系結(jié)構(gòu)的提出,突破傳統(tǒng)的像“煙囪”一樣的數(shù) 據(jù)模型,把它們扁平化,在設(shè)計(jì)數(shù)據(jù)模型的時(shí)候,直接從所在領(lǐng)域出發(fā),建立 面向主題的域模型,從而建立對(duì)應(yīng)的數(shù)據(jù)模型,這種數(shù)據(jù)模型可以在某個(gè)領(lǐng)域 內(nèi)通用,而并不依賴某個(gè)具體業(yè)務(wù)。 s o a 是思考構(gòu)建軟件模型的一種優(yōu)秀方式,因?yàn)閟 o a 的松耦合的、抽象 的。它的優(yōu)勢(shì)在于可以構(gòu)造組件、企業(yè)域、服務(wù)和規(guī)范數(shù)據(jù)模型。要快速搭建 滿足s o a 結(jié)構(gòu)的數(shù)據(jù)模型要求一個(gè)關(guān)注復(fù)用、避免垂直式應(yīng)用程序和i t 資源 孤島”的體系結(jié)構(gòu)。把s o a 應(yīng)用于數(shù)據(jù)集成領(lǐng)域是采用s o a 進(jìn)行軟件架構(gòu)設(shè) 計(jì)和實(shí)現(xiàn)的一個(gè)熱點(diǎn),也是分布式異構(gòu)數(shù)據(jù)集成的重大機(jī)遇。 i b m 和b e a :i b m 和b e a 是s o a 的先行者。其中m m 公司先后發(fā)布了 應(yīng)用于s o a 架構(gòu)的3 1 種產(chǎn)品,覆蓋了他們提供的五大產(chǎn)品線w e b s p h e r e 、 w o r k p l a c e 、t i v o l i 、d b 2 及其r a t i o n a l 。b e a 公司在2 0 0 7 年發(fā)布業(yè)界第一個(gè)能 把業(yè)務(wù)和i t 置于同一工作環(huán)境中的s o a 工具s o a 3 6 0o 產(chǎn)品系列,它涵蓋b e a 的三個(gè)產(chǎn)品系列:t u x e d o 、w e b l o g i e 和a q u a l o g i e 。而針對(duì)數(shù)據(jù)建模和數(shù)據(jù)集 成,i b m 和b e a 等還聯(lián)合提出了服務(wù)數(shù)據(jù)對(duì)象( s e r v i c ed a t ao b j e c t s ,s d o ) 體 系結(jié)構(gòu)。s d o 是一種應(yīng)用程序編程接口,可以簡(jiǎn)化和統(tǒng)一對(duì)異構(gòu)數(shù)據(jù)的訪問, 同時(shí)也可用于數(shù)據(jù)處理的其他方面。其中b e a 的a q u a l o g i ed a t as e r v i c e s p l a t f o r m 就是專門用來為s o a 構(gòu)建的企業(yè)級(jí)數(shù)據(jù)服務(wù)平臺(tái)的。 m i c r o s o f t :使用基于x m lw e b 服務(wù)的方式解決異構(gòu)數(shù)據(jù)集成是微軟推出 的主要解決方案,并提供了相關(guān)的技術(shù)和產(chǎn)品,如a d o n e t 。近來,又提出了 面向s o a 的架構(gòu)i n d i g o 和集成工具m i c r o s o f tb i z t a l k 。相對(duì)于其他廠商而言, 微軟更加“明智”的選擇了從開發(fā)人員入手,引導(dǎo)開發(fā)人員進(jìn)入s o a ,從 m b f ( m i e r o s o f lb u s i n e s sf r a m e w o r k ) 來看,就是提供給開發(fā)人員的參考架構(gòu)。 o r a c l e :o r a c l e 的服務(wù)導(dǎo)向架構(gòu)套件( o r a c l es o as u i t e ) 已全面上市。這 是一組全面的、基于標(biāo)準(zhǔn)的中問件產(chǎn)品,融合了易構(gòu)建、易配置、易管理且服 務(wù)導(dǎo)向架構(gòu)的多個(gè)特性。該套件具備的“插座式”能力使客戶在利用現(xiàn)有中間件 技術(shù)的同時(shí)可充分享受到服務(wù)導(dǎo)向架構(gòu)的種種益處。 r e dh a t :早在2 0 0 5 年,j b o s s 通過一系列的收購(gòu)( 收購(gòu)h i b e m a t e ,d r o o l s , a l j u n a ) 和整合推出j e m s ( j b o s se n t e r p r i s em i d d l e w a r es u i t e ) 產(chǎn)品結(jié)構(gòu),以支 持s o a 。r e dh a t 在收購(gòu)j b o s s 后,立即宣布將與2 0 0 7 年九月推出j b o s s e n t e r p r i s es o a p l a t f o r m 的產(chǎn)品組合包,包含基本的j b o s s a s 與s e a m 、h i b e r n a t e 等,以實(shí)現(xiàn)將操作系統(tǒng)與全套的s o a 解決方案相整合,為企業(yè)級(jí)計(jì)算提供一個(gè) 第1 章緒論 更靈活、成本更低的基礎(chǔ)平臺(tái)。 與國(guó)外r r 業(yè)相比,中國(guó)企業(yè)的r r 系統(tǒng)積累時(shí)間短,復(fù)雜度不是特別高, 很多情況下并不一定用s o a 來解決問題。國(guó)內(nèi)雖然也已開始研究s o a 并進(jìn)行 應(yīng)用,但大多數(shù)經(jīng)驗(yàn)都來自歐美,國(guó)內(nèi)還缺乏s o a 的成功樣例。 s o a 本身只是如何將軟件組織在一起的抽象概念,僅定義了服務(wù)如何相互 理解以及如何交互,并沒有確切地定義服務(wù)具體如何實(shí)現(xiàn)和交互,其依賴于用 ) 洲l 和w e b 服務(wù)等技術(shù)實(shí)現(xiàn),并與具體應(yīng)用相結(jié)合以軟件的形式存在的更加 具體的概念和技術(shù)p j 。 1 3 課題來源與主要研究?jī)?nèi)容 本課題來源于遠(yuǎn)程開放教育信息系統(tǒng)和中國(guó)貿(mào)易業(yè)績(jī)?cè)u(píng)價(jià)體系。遠(yuǎn)程開放 教育信息系統(tǒng)由很多信息系統(tǒng)組成,如電大在線,電大教務(wù)管理系統(tǒng),多媒體 教學(xué)平臺(tái),這些系統(tǒng)是按照業(yè)務(wù)發(fā)展的需要獨(dú)立開發(fā)的,從而形成了多個(gè)信息 孤島。隨著國(guó)家現(xiàn)代遠(yuǎn)程教育工程的實(shí)施和電大系統(tǒng)開放教育的深入開展,對(duì) 遠(yuǎn)程開放教育提出了新的更高的要求。不僅要求每個(gè)電大單位都能獨(dú)自完成信 息化建設(shè),更要從整個(gè)遠(yuǎn)程開放教育體系來整理和整合業(yè)務(wù)。為了滿足遠(yuǎn)程開 放教育發(fā)展的需要,必須依據(jù)s o a 策略重新對(duì)遠(yuǎn)程開放教育信息系統(tǒng)進(jìn)行規(guī) 劃。 , 中國(guó)貿(mào)易業(yè)績(jī)?cè)u(píng)價(jià)體系將數(shù)據(jù)倉(cāng)庫(kù)技術(shù)應(yīng)用于外貿(mào)業(yè)務(wù)分析和決策,對(duì)世 界貿(mào)易組織及中國(guó)海關(guān)的海量外貿(mào)數(shù)據(jù)進(jìn)行分析和處理【4 】。原始外貿(mào)數(shù)據(jù)以多 種文件格式存放,國(guó)內(nèi)交易數(shù)據(jù)存放于f o x p r o 數(shù)據(jù)庫(kù),世界各國(guó)交易數(shù)據(jù)存放 于其特定的p c - t a s 系統(tǒng)數(shù)據(jù)庫(kù),人口數(shù)據(jù)、國(guó)內(nèi)生產(chǎn)總值數(shù)據(jù)存放于e x c e l 文件中。在構(gòu)建數(shù)據(jù)倉(cāng)庫(kù)前,需要根據(jù)數(shù)據(jù)倉(cāng)庫(kù)中按主題組織的數(shù)據(jù)模型將這 些異構(gòu)數(shù)據(jù)源中的非標(biāo)準(zhǔn)數(shù)據(jù)進(jìn)行轉(zhuǎn)換。 本論文把面向服務(wù)的思想引入數(shù)據(jù)模型的建立,借鑒數(shù)據(jù)倉(cāng)庫(kù)按主題組織 數(shù)據(jù)的思想,把數(shù)據(jù)模型分為數(shù)據(jù)實(shí)體服務(wù)層、服務(wù)聚合層、跨組織聚合層三 個(gè)層次描述,通過數(shù)據(jù)實(shí)體、數(shù)據(jù)服務(wù)對(duì)象等對(duì)數(shù)據(jù)模型進(jìn)行逐層抽象和逐層 組合,建立從組織內(nèi)數(shù)據(jù)實(shí)體視圖到虛擬化的、面向用戶的、統(tǒng)一的跨組織數(shù) 據(jù)視圖,研究提出一個(gè)解決企業(yè)級(jí)數(shù)據(jù)集成和共享的方案。 在項(xiàng)目和論文中要完成的主要內(nèi)容: 建立統(tǒng)一的綜合數(shù)據(jù)模型,為所有信息源的數(shù)據(jù)提供一個(gè)統(tǒng)一視圖。 把數(shù)據(jù)模型進(jìn)行轉(zhuǎn)換和映射,創(chuàng)建數(shù)據(jù)服務(wù)。 應(yīng)用前面所述的方法建立中央電大教務(wù)管理系統(tǒng)的數(shù)據(jù)模型。 提出中央電大教務(wù)管理系統(tǒng)數(shù)據(jù)服務(wù)的實(shí)現(xiàn)框架,并對(duì)關(guān)鍵技術(shù)和解 北京_ t 業(yè)人學(xué)丁學(xué)碩i :學(xué)位論文 決方案進(jìn)行分析。 1 4 論文的結(jié)構(gòu)與內(nèi)容 本文將從以下幾個(gè)部分來闡述: 第一部分:( 第l 章) 介紹與本課題相關(guān)的背景知識(shí),對(duì)國(guó)內(nèi)外相關(guān)領(lǐng)域的 研究和進(jìn)展進(jìn)行綜述。介紹本課題的來源及主要研究?jī)?nèi)容。 第二部分:( 第2 章) 介紹系統(tǒng)相關(guān)的關(guān)鍵技術(shù)。首先是對(duì)數(shù)據(jù)模型的概念、 第三部分: 第四部分: 分類,以及幾種主要的幾種數(shù)據(jù)模型進(jìn)行了詳細(xì)介紹,然后重 點(diǎn)對(duì)s o a 的架構(gòu)模型、支撐技術(shù)和相關(guān)的標(biāo)準(zhǔn)進(jìn)行了研究和分 析,討論了s o a 技術(shù)架構(gòu)在企業(yè)應(yīng)用集成中的作用、地位和優(yōu) 勢(shì)。 ( 第3 章) 本章詳細(xì)介紹了基于s o a 建立分布式應(yīng)用系統(tǒng)數(shù)據(jù) 模型的方法,把數(shù)據(jù)模型分為數(shù)據(jù)實(shí)體服務(wù)層、服務(wù)聚合層、 跨組織聚合層三個(gè)層次描述,利用傳統(tǒng)的e r 分析方法并借鑒 數(shù)據(jù)倉(cāng)庫(kù)按主題存儲(chǔ)數(shù)據(jù)模型的結(jié)構(gòu)建立業(yè)務(wù)數(shù)據(jù)的主題域數(shù) 據(jù)模型;使用面向?qū)ο?、面向組件和面向服務(wù)的建模方法,進(jìn) 行逐層抽象、組合和映射,最終建立應(yīng)用系統(tǒng)的服務(wù)數(shù)據(jù)模型。 ( 第4 章) 本章討論了基于s o a 的分布式應(yīng)用系統(tǒng)數(shù)據(jù)模型技 術(shù)支撐平臺(tái)的分析與實(shí)踐,研究建立基于s o a 的中央電大教務(wù) 管理系統(tǒng)的數(shù)據(jù)模型,分析了數(shù)據(jù)服務(wù)模型的實(shí)現(xiàn)框架,闡述 了如何利用現(xiàn)有技術(shù)來實(shí)現(xiàn)數(shù)據(jù)服務(wù)。最后,討論了實(shí)現(xiàn)一個(gè) 分布式應(yīng)用系統(tǒng)數(shù)據(jù)服務(wù)的一些技術(shù)細(xì)節(jié)和實(shí)際應(yīng)用實(shí)例。 第2 章關(guān)鍵技術(shù)和理論 自從開始構(gòu)建分布式應(yīng)用系統(tǒng)開始,應(yīng)用程序設(shè)計(jì)者就開始關(guān)注數(shù)據(jù)模型 的建立。最早的做法都是應(yīng)用傳統(tǒng)信息系統(tǒng)據(jù)模型的建模,加上一些分布式因 素;或者采用工作流的方法去建立,針對(duì)某一個(gè)業(yè)務(wù)設(shè)計(jì)數(shù)據(jù)模型,最后把所 有業(yè)務(wù)的數(shù)據(jù)模型設(shè)計(jì)完成,組成完整的系統(tǒng)的數(shù)據(jù)模型。目前,隨著面向服 務(wù)的體系結(jié)構(gòu)( s e r v i e e - o d e n t e da r c h i t e c t u r e ,s o a ) 的在分布式應(yīng)用系統(tǒng)中的應(yīng) 用,需要突破傳統(tǒng)的像“煙囪”一樣的數(shù)據(jù)模型,從所在領(lǐng)域出發(fā),建立扁平 化的全局?jǐn)?shù)據(jù)模型。 2 1 面向服務(wù)的體系架構(gòu) 在1 9 9 6 年,g a r t n e rg r o u p 就提出了s o a 的概念,但是那個(gè)時(shí)候軟件技 術(shù)還不足以從真正意義上支持企業(yè)實(shí)現(xiàn)s o a 。隨著網(wǎng)絡(luò)技術(shù)的不斷發(fā)展,在 2 0 0 2 年1 2 月,g a r t n e r 再次提出了s o a 是“現(xiàn)代應(yīng)用開發(fā)領(lǐng)域最重要的課 題”。 2 1 1s o a 概述 面向服務(wù)的體系結(jié)構(gòu)( s o a ) 是一個(gè)組件模型,它將應(yīng)用程序的不同功能單 元( 稱為服務(wù)) 通過這些服務(wù)之間定義良好的接口和契約聯(lián)系起來。接口是采用 中立的方式進(jìn)行定義的,它應(yīng)該獨(dú)立于實(shí)現(xiàn)服務(wù)的硬件平臺(tái)、操作系統(tǒng)和編程 語言1 4 1 。這使得構(gòu)建在各種這樣的系統(tǒng)中的服務(wù)可以以一種統(tǒng)一和通用的方式 進(jìn)行交互。 這種具有中立的接口定義( 沒有強(qiáng)制綁定到特定的實(shí)現(xiàn)上) 的特征稱為服務(wù) 之間的松耦合。松耦合系統(tǒng)的好處有兩點(diǎn),一點(diǎn)是它的靈活性,另一點(diǎn)是,當(dāng) 組成整個(gè)應(yīng)用程序的每個(gè)服務(wù)的內(nèi)部結(jié)構(gòu)和實(shí)現(xiàn)逐漸地發(fā)生改變時(shí),它能夠繼 續(xù)存在i s 。相反,緊耦合意味著應(yīng)用程序的不同組件之間的接口與其功能是緊 密相連的,因而當(dāng)需要對(duì)部分或整個(gè)應(yīng)用程序進(jìn)行某種形式的更改時(shí),它們就 顯得非常脆弱。 作為一種新型的軟件開發(fā)體系結(jié)構(gòu),s o a 具有無可比擬的優(yōu)勢(shì),符合現(xiàn)在 軟件開發(fā)的發(fā)展潮流,尤其適用于企業(yè)級(jí)的應(yīng)用開發(fā)。隨著互聯(lián)網(wǎng)絡(luò)的進(jìn)一步 發(fā)展和分布式應(yīng)用的不斷普及,s o a 的應(yīng)用會(huì)更加的普遍并被人們所接受,成 北京t 業(yè)大學(xué)工學(xué)頌i :學(xué)位論文 為繼面向?qū)ο蟆⒚嫦蚪M件之后新的設(shè)計(jì)方式。 2 1 2s o a 的基本架構(gòu)和操作 s o a 的基本結(jié)構(gòu)如圖2 1 所示。該結(jié)構(gòu)描述了面向服務(wù)的體系結(jié)構(gòu)的角色、 操作和基本構(gòu)件【6 】。 圖2 1 $ o a 體系結(jié)構(gòu)圖 f i g u r e2 - 1s o a a m h i t e e n t r e 面向服務(wù)的體系結(jié)構(gòu)中的角色包括: 服務(wù)使用者:服務(wù)使用者是一個(gè)應(yīng)用程序、一個(gè)軟件模塊或需要一個(gè) 服務(wù)的另一個(gè)服務(wù)。它發(fā)起對(duì)注冊(cè)中心中的服務(wù)的查詢,通過傳輸綁 定服務(wù),并且執(zhí)行服務(wù)功能。服務(wù)使用者根據(jù)接口契約來執(zhí)行服務(wù)。 服務(wù)提供者:服務(wù)提供者是一個(gè)可通過網(wǎng)絡(luò)尋址的實(shí)體,它將自己的 服務(wù)和接口契約發(fā)布到服務(wù)注冊(cè)中心,以便服務(wù)使用者可以發(fā)現(xiàn)和訪 問該服務(wù)。 服務(wù)注冊(cè)中心:服務(wù)注冊(cè)中心是服務(wù)發(fā)現(xiàn)的支持者。它包含一個(gè)可用 服務(wù)的存儲(chǔ)庫(kù),并允許感興趣的服務(wù)使用者查找服務(wù)提供者接口。 面向服務(wù)的體系結(jié)構(gòu)中的每個(gè)實(shí)體都扮演著服務(wù)提供者、使用者和注冊(cè)中 心這三種角色中的某一種( 或多種) 。面向服務(wù)的體系結(jié)構(gòu)中的操作包括: 發(fā)布:為了使服務(wù)可訪問,需要發(fā)布服務(wù)描述以使服務(wù)使用者可以發(fā) 現(xiàn)和調(diào)用它。 發(fā)現(xiàn):服務(wù)請(qǐng)求者定位服務(wù),方法是查詢服務(wù)注冊(cè)中心來找到滿足其 標(biāo)準(zhǔn)的服務(wù)。 綁定和調(diào)用:在檢索完服務(wù)描述之后,服務(wù)使用者繼續(xù)根據(jù)服務(wù)描述 中的信息來調(diào)用服務(wù)。 面向服務(wù)的體系結(jié)構(gòu)中的構(gòu)件包括: 服務(wù):可以通過己發(fā)布接口使用服務(wù),并且允許服務(wù)使用者調(diào)用服務(wù)。 服務(wù)描述:服務(wù)描述指定服務(wù)使用者與服務(wù)提供者交互的方式。它指 定來自服務(wù)的請(qǐng)求和響應(yīng)的格式。服務(wù)描述可以指定一組前提條件、 第2 蘋關(guān)鍵技術(shù)和理論 后置條件或服務(wù)質(zhì)量( q u a l i t yo f s v r v i c e ,q o s ) 級(jí)別”。 采用面向服務(wù)的體系結(jié)構(gòu)設(shè)計(jì)分布式應(yīng)用系統(tǒng),可以通過發(fā)布的可發(fā)現(xiàn)的 接口為其他的應(yīng)用程序提供服務(wù),可以降低升發(fā)成木、持續(xù)集成和降低風(fēng)險(xiǎn)。 當(dāng)用w e b 服務(wù)技術(shù)來實(shí)現(xiàn)面向服務(wù)的體系結(jié)構(gòu),更是一種構(gòu)建應(yīng)用程序的強(qiáng)大 而靈活的的方式。 想成功地創(chuàng)建s o a ,需要的不僅僅是好的工具和標(biāo)準(zhǔn),其中非常重要的過 程就是面向服務(wù)的數(shù)據(jù)建模,這需要一些規(guī)范的步驟來支持。對(duì)于任何對(duì)企業(yè) 應(yīng)用程序開發(fā)感興趣的人來講,理解面向服務(wù)的數(shù)據(jù)建模非常重要的。 2 2 數(shù)據(jù)模型 從建模的觀點(diǎn)來看,s o a 帶來的挑戰(zhàn)是如何設(shè)計(jì)并描述良好的數(shù)據(jù)模型以 及如何系統(tǒng)地實(shí)現(xiàn)它們。首先,這需要一些數(shù)據(jù)模型方面技術(shù)和理論的支持。 在傳統(tǒng)軟件系統(tǒng)的開發(fā)中,數(shù)據(jù)模型是描述數(shù)據(jù)內(nèi)容和數(shù)據(jù)之間聯(lián)系的方 法,是一組描述數(shù)據(jù)庫(kù)的概念。這些概念精確地描述數(shù)據(jù)、數(shù)據(jù)之問的關(guān)系、 數(shù)據(jù)的語義和完整性約束,很多數(shù)據(jù)模型還包括一個(gè)操作集合。數(shù)據(jù)模型應(yīng)滿 足三方面要求:一是能真實(shí)地模擬現(xiàn)實(shí)世界;二是容易為人們理解;三是便于 在計(jì)算機(jī)上實(shí)現(xiàn)。企業(yè)應(yīng)用系統(tǒng)設(shè)計(jì)的核心問題之一就是設(shè)計(jì)一個(gè)好的數(shù)據(jù)模 型,s o a 也不例外。 2 2 1 數(shù)據(jù)模型概念 數(shù)據(jù)是現(xiàn)實(shí)世界中符號(hào)的抽象,而數(shù)據(jù)模型( d a t am o d e l ) 則是數(shù)據(jù)特征的 抽象【8 】。數(shù)據(jù)模型描述數(shù)據(jù)的結(jié)構(gòu)、定義在其上的操作以及約束條件。它從抽 象層次上描述了系統(tǒng)的靜態(tài)特征、動(dòng)態(tài)行為和約束條件,為系統(tǒng)的信息表示和 操作提供一個(gè)抽象框架。 數(shù)據(jù)模型按應(yīng)用層次分成三種類型,它們是:概念數(shù)據(jù)模型( c o n c e p t u a l d a t am o d e l ) 、邏輯數(shù)據(jù)模型( l o g i cd a t am o d e l ) 、物理數(shù)據(jù)模型( p h y s i c a ld a t a m o d e l ) 。 概念數(shù)據(jù)模型又稱概念模型,它是一種面向客觀世界、面向用戶的模型, 它與具體的信息系統(tǒng)無關(guān),與具體的計(jì)算機(jī)平臺(tái)無關(guān)。概念模型著重于對(duì)客觀 世界復(fù)雜事物結(jié)構(gòu)的描述及事物間的內(nèi)在聯(lián)系的刻畫,而將與d b m s 和計(jì)算 機(jī)有關(guān)的物理的、細(xì)節(jié)的描述留給其它層次的模型。因此,概念模型是整個(gè)數(shù) 據(jù)模型的基礎(chǔ)拶】。目前,較為有名的概念模型有e r 模型、擴(kuò)充的e - r 模型、 面向?qū)ο竽P偷取?邏輯數(shù)據(jù)模型又稱邏輯模型,它是一種面向數(shù)據(jù)庫(kù)系統(tǒng)的模型,該模型著 北京丁業(yè)人學(xué) :學(xué)碩j :學(xué)位論文 重于在數(shù)據(jù)庫(kù)系統(tǒng)一級(jí)的實(shí)現(xiàn)。它是客觀世界到計(jì)算機(jī)之間的中介模型,具有 承上啟下的功能。概念模型只有在轉(zhuǎn)換成邏輯模型后才能在數(shù)據(jù)庫(kù)中得以表示。 物理數(shù)據(jù)模型又稱物理模型,它是一種面向計(jì)算機(jī)物理表示的模型,此模 型給出了數(shù)據(jù)模型在計(jì)算機(jī)上物理結(jié)構(gòu)的表示。 數(shù)據(jù)模型所描述的內(nèi)容有三個(gè)部分,它們是數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)操作與數(shù)據(jù)約 束。 數(shù)據(jù)結(jié)構(gòu)。數(shù)據(jù)模型中的數(shù)據(jù)結(jié)構(gòu)主要描述數(shù)據(jù)類型、性質(zhì)以及數(shù)據(jù) 間的聯(lián)系。數(shù)據(jù)結(jié)構(gòu)是數(shù)據(jù)模型的基礎(chǔ),數(shù)據(jù)操作與約束均建立在數(shù) 據(jù)結(jié)構(gòu)之上。不同數(shù)據(jù)結(jié)構(gòu)有不同的操作與約束。因此,一般數(shù)據(jù)模 型均依據(jù)數(shù)據(jù)結(jié)構(gòu)的不同而分類。 數(shù)據(jù)操作。數(shù)據(jù)模型中的數(shù)據(jù)操作主要描述在相應(yīng)數(shù)據(jù)結(jié)構(gòu)上的操作 類型與操作方式。 數(shù)據(jù)約束。數(shù)據(jù)模型中的數(shù)據(jù)約束主要描述數(shù)據(jù)結(jié)構(gòu)內(nèi)數(shù)據(jù)間的語法、 語義聯(lián)系,它們間的制約與依存關(guān)系,以及數(shù)據(jù)動(dòng)態(tài)變化的規(guī)則,以 保證數(shù)據(jù)的正確、有效與相容。 數(shù)據(jù)模型可以將復(fù)雜的現(xiàn)實(shí)世界要求反映到計(jì)算機(jī)數(shù)據(jù)庫(kù)中的物理世界, 這種反映是一個(gè)逐步轉(zhuǎn)化的過程,它分為四個(gè)階段,被稱為四個(gè)世界。由現(xiàn)實(shí) 世界開始,經(jīng)歷概念世界、信息世界而至計(jì)算機(jī)世界,從而完成整個(gè)轉(zhuǎn)化。 那么,數(shù)據(jù)模型和這四個(gè)世界是什么樣的關(guān)系呢? 現(xiàn)實(shí)世界就是具體的應(yīng) 用,與數(shù)據(jù)模型是沒有關(guān)系的;概念世界對(duì)應(yīng)了概念數(shù)據(jù)模型;邏輯世界對(duì)應(yīng) 了邏輯數(shù)據(jù)模型;計(jì)算機(jī)世界對(duì)應(yīng)了物理數(shù)據(jù)模型。表2 - 1 給出了概念數(shù)據(jù)模 型和邏輯數(shù)據(jù)模型的分類以及它們的對(duì)應(yīng)關(guān)系。 表2 - l 概念模型和邏輯模型對(duì)應(yīng)關(guān)系圖 t a b l e2 - 1c o n c e p tm o d e la n dl o g i cm o d e lr e l a t i o n s h i p 概念e - r 模型對(duì)象關(guān)系 面向?qū)ο?模型模型 模型 邏輯關(guān)系對(duì)象關(guān)系面向?qū)ο?模型模型模型模型 2 2 2e r 模型 e - r 模型( e n t i t y - r e l a t i o n s h i pm o d e l ) 又稱實(shí)體關(guān)系模型,它于1 9 7 6 年由 p e t e rc h e n 首先提出,這是一種概念化的模型,它將現(xiàn)實(shí)世界的要求轉(zhuǎn)化成實(shí) 體、關(guān)系、屬性等幾個(gè)基本概念以及它們間的兩種基本關(guān)系,并且用一種較為 簡(jiǎn)單的圖即e - r 虱( e n t i t y - r e l a t i o m h i pd i a 鮮u n ) 表示。 第2 章關(guān)鍵技術(shù)和理論 e r 模型有如下三個(gè)基本概念: 實(shí)體( e n t i t y ) :現(xiàn)實(shí)世界中的事物可以抽象成為實(shí)體,實(shí)體是概念世界中 的基本單位,它們是客觀存在的且又能相互區(qū)別的事物。凡是有共性的實(shí)體可 組成一個(gè)集合稱為實(shí)體集( e n t i t ys e t ) 。 屬性( a t t r i b u t e ) :現(xiàn)實(shí)世界中事物均有一些特性,這些特性可以用屬性這 個(gè)概念表示。屬性刻畫了實(shí)體的特征。屬性一般由屬性名、屬性型和屬性值組 成,其中屬性名是屬性標(biāo)識(shí),屬性的型與值則給出了屬性的類型與取值。一個(gè) 屬性有一定的取值范圍,稱為屬性的值域( v a l u ed o m a i n ) 或稱為值集( v a l u e s e t ) 。 關(guān)系( r d a t i o n s h i p ) :現(xiàn)實(shí)世界中事物問的關(guān)聯(lián)稱為關(guān)系。在概念世界中聯(lián) 系反映了實(shí)體集間的一定關(guān)系。就聯(lián)系所包含的實(shí)體集的個(gè)數(shù)而言,關(guān)系可分 為以下幾種:兩個(gè)實(shí)體集間的關(guān)系、多個(gè)實(shí)體集間的關(guān)系、一個(gè)實(shí)體集內(nèi)部的 關(guān)系。 在建立了實(shí)體集和實(shí)體集間的關(guān)系以后,就可以從概念模型出發(fā)建立邏輯 模型了。與e r 模型對(duì)應(yīng)的邏輯模型是關(guān)系模型。 關(guān)系模型的基本思想是用二維表形式表示實(shí)體及其聯(lián)系。二維表中的每一 列對(duì)應(yīng)實(shí)體的一個(gè)屬性,其中給出相應(yīng)的屬性值,每一行形成一個(gè)由多種屬性 組成的多元組,或稱元組,與一特定實(shí)體相對(duì)應(yīng)。 關(guān)系數(shù)據(jù)庫(kù)結(jié)構(gòu)的最大優(yōu)點(diǎn)是它的結(jié)構(gòu)特別靈活,可滿足所有用布爾邏輯 運(yùn)算和數(shù)學(xué)運(yùn)算規(guī)則形成的查詢要求;在關(guān)系數(shù)據(jù)庫(kù)中還能搜索、組合和比較 不同類型的數(shù)據(jù),加入和刪除數(shù)據(jù)都非常方便。 2 2 3 面向?qū)ο竽P?面向?qū)ο竽P? o b j e c t - o r i e i i t e x lm o d e l ) 是在吸收了以前各種概念模型優(yōu)點(diǎn) 的基礎(chǔ)上并借鑒了面向?qū)ο蟮脑O(shè)計(jì)方法而建立的模型。這種模型具有更強(qiáng)的表 示能力。 在面向?qū)ο竽P椭械淖罨镜母拍钍菍?duì)象( o b e c t ) ,它是客觀世界中概念 化的基本實(shí)體,它可以是簡(jiǎn)單的實(shí)體也可以是復(fù)雜的實(shí)體;它可以是具體的實(shí) 體,也可以是抽象的實(shí)體??傊嗷ツ軈^(qū)別的事物均可視為對(duì)象。 對(duì)象有如下特點(diǎn):對(duì)象的封裝( e n c a p s u l a t e ) :對(duì)象的屬性與方法是封 裝在一起的,亦即是說,操作與屬性是相互依存的。 對(duì)象標(biāo)識(shí)符的獨(dú)立性:每個(gè)對(duì)象均有一個(gè)獨(dú)立于屬性以外的名字,亦 即是說,對(duì)象的屬性值與對(duì)象名是有區(qū)別的。在e - r 模型中每個(gè)實(shí)體 的名是由一個(gè)屬性值集表示的,這與面向?qū)ο竽P徒厝徊煌?北京。t + 業(yè)人學(xué)l 學(xué)壩i :學(xué)位論文 對(duì)象屬性值的多值性:一個(gè)對(duì)象的屬性,可以是單值也可以是多值。 如有學(xué)生修讀課程這一屬性可為多值,因?yàn)閷W(xué)生一般修讀課程可超過 一門,這就是對(duì)象屬性值的多值性。 為便于概念上認(rèn)識(shí)的方便,一般將具有相同屬性、方法的對(duì)象集合在一起 稱為類( c l a s s ) ,而此時(shí)類中對(duì)象稱為實(shí)例( i n s t a n c e ) 。 類與類之間存在著某些聯(lián)系,在面向?qū)ο竽P椭?,這些聯(lián)系一般被分為兩 種:子類( s u b c l a s s ) 與超類( s u p e r - c l a s s ) ,類的子集也可以是一個(gè)類,稱為該 類的子類,而原來的類,則稱為子類的超類,子類繼承( i n h e r i t a n c e ) 超類的屬 性與方法,并具有自己的屬性與方法;類的聚合( c o m p o s i t i o n ) 與分解 ( d e c o m p o s i t i o n ) ,在現(xiàn)實(shí)世界中往往存在著由簡(jiǎn)單的對(duì)象組合成復(fù)雜的對(duì)象的 現(xiàn)象,在面向?qū)ο竽P椭屑词穷惖木酆?。類的聚合即表示若干個(gè)簡(jiǎn)單類可以聚 合成一個(gè)復(fù)雜類。 面向?qū)ο竽P湍苊枋鰪?fù)雜的現(xiàn)實(shí)世界,具有較強(qiáng)靈活性、可擴(kuò)充性與可重 用性。它的動(dòng)態(tài)特性描述、對(duì)象標(biāo)識(shí)符、類的泛化特化、類的聚合分解以及消 息功能等都比前面所介紹的模型要好。此模型既是一種概念模型,同時(shí)還可以 依據(jù)它直接構(gòu)造邏輯模型,稱為面向?qū)ο蟮倪壿嬆P汀?2 3x m l 和w e bs e r v i c e s s o a 很早就已經(jīng)出現(xiàn)了,而在軟件開發(fā)中真正應(yīng)用s o a 卻是從x m l 和 w e bs e r v i c e 技術(shù)的成熟和廣泛應(yīng)用開始的。 2 3 1x m l 2 3 1 1x m l 概述 訂“e x t e n s i b l em a r k u pl a n g u a g e ,可擴(kuò)展標(biāo)記語言) 是一種新的標(biāo)記語言。 同h t m l 一樣是特別為w e b 應(yīng)用服務(wù)的標(biāo)準(zhǔn)通用標(biāo)記語言( s t a n d a r dg e n e r a l i z e d m a r k u pl a n g u a g e ,s g m l ) 的一個(gè)簡(jiǎn)化子集,用于支持i n t e r n e t 上結(jié)構(gòu)文檔的交 換【l2 1 。x m l 因具有更多的語義、良好的可擴(kuò)展性、簡(jiǎn)單易用、自描述等特點(diǎn)而 特別適用于w e b 上的數(shù)據(jù)交換,自萬維網(wǎng)聯(lián)盟( w 3 c ) 于1 9 9 8 推出x m l l 0 規(guī) 范后,已經(jīng)得到行業(yè)的廣泛支持和應(yīng)用,成為數(shù)據(jù)組織和交換的事實(shí)標(biāo)準(zhǔn)之一。 x m l 具有如下重要特性。 擴(kuò)展性。x m l 是一種用于設(shè)計(jì)標(biāo)記語言的元語言,而不是象h t m l 那 樣,是一種只有一個(gè)固定標(biāo)記集的特定標(biāo)記語言。x m l 允許用戶根據(jù) 其需要?jiǎng)?chuàng)建自己的標(biāo)記,這些標(biāo)記可通過x m ld t d ( d o c u m c n tt y p e 第2 章關(guān)鍵技術(shù)和理論 d e f i m t i o n ) 和x m l 模式加以定義。 靈活性。x m l 提供了一種結(jié)構(gòu)化的數(shù)據(jù)表現(xiàn)方式,從而使用戶界面與 結(jié)構(gòu)化數(shù)據(jù)相分離。 自描述性。x m l 文檔通常包含一個(gè)文檔類型( d t d ) 聲明,從而便于機(jī) 器理解數(shù)據(jù)的意義。x m l 文檔中的數(shù)據(jù)可被任何能夠?qū) m l 數(shù)據(jù)進(jìn) 行解析的應(yīng)用程序所提取、分析和處理,并以所需格式顯示。 2 3 1 2x m l 相關(guān)技術(shù) 與x m l 相關(guān)的技術(shù)有很多,下面對(duì)主要的幾種進(jìn)行介紹。 ( 1 ) 文檔類型定義( d t d ) 和x m l 模式 x m l 文檔可以事先定義其結(jié)構(gòu),在編制包含相似內(nèi)容的文檔時(shí)可以限定遵 循的標(biāo)準(zhǔn),這樣編制出來的文檔具有相同的結(jié)構(gòu),便于計(jì)算機(jī)統(tǒng)一處理。x m l 文檔結(jié)構(gòu)定義有兩種辦法:d t d ( d o c u m e n tt y p ed e f i n i t i o n ) 和x m l 模式。 d t d 是一組能融合在x m l 數(shù)據(jù)里或者以單獨(dú)的文檔存在的聲明,它定義 一些規(guī)則來描述被允許的x m l 數(shù)據(jù)內(nèi)容【13 1 。一個(gè)d t d 只能和一個(gè)給定的x m l 文檔或數(shù)據(jù)對(duì)象關(guān)聯(lián)起來。d t d 的缺點(diǎn)是很難理解和數(shù)據(jù)類型相當(dāng)有限,如在 d t d 中不提供如整數(shù)、浮點(diǎn)數(shù)、布爾數(shù)等數(shù)值數(shù)據(jù)類型,所有的文檔內(nèi)容都是 字符數(shù)據(jù)。 x m l 模式和d t d 的功能一樣,都是用來定義標(biāo)記和標(biāo)記的用法,但跟d t d 相比,它至少有三個(gè)優(yōu)點(diǎn)。首先,x m l 模式文檔是一種特殊的x m l 文檔,它 遵循x m l 的語法要求,避免讀者再去學(xué)習(xí)一套語法的負(fù)擔(dān);其次,x m l 模式 的語法結(jié)構(gòu)更簡(jiǎn)單,易于學(xué)習(xí)和使用,而且提供了豐富的數(shù)據(jù)類型,不但有整 數(shù)、浮點(diǎn)數(shù)等常用的類型,還提供了自定義數(shù)據(jù)類型機(jī)制;最后,x m l 模式在 代碼的重用性和可擴(kuò)展性方面要遠(yuǎn)遠(yuǎn)優(yōu)于d t d 。x m l 模式則采用了名域空間 的機(jī)制,使得一個(gè)x m l 文檔可以調(diào)用多種模式文檔。 x m l 模式有很多種,其中x m ls c h e m a 是w 3 c 的推薦標(biāo)準(zhǔn),于2 0 0 1 年8 月正式發(fā)布,應(yīng)用也最為廣泛。 ( 2 ) d o m 與s a x 編程接口 用于將x m l 解析綁定到需要它的應(yīng)用程序,兩個(gè)最常見引擎技術(shù)是w 3 c 的文檔對(duì)象模型( d o c u m e n to b j e c tm o d e l ,d o m ) 和開放標(biāo)準(zhǔn)一用于x m l 的簡(jiǎn) 單a p i fs i m p l ea p if o rx m l ,s 砧x ) o d o m 是x m l 解析器的一種解析接口標(biāo)準(zhǔn),是一種允許代碼直接指向x m l 文檔各部分屬性的a p i 1 4 l 。d o ma p i 是一個(gè)對(duì)象模型驅(qū)動(dòng)的a p i 。實(shí)現(xiàn)了d o m 的x m l 在內(nèi)存中生成一個(gè)對(duì)象模型。實(shí)際上就是一個(gè)x m l 文檔內(nèi)容和結(jié)構(gòu)的 d o m 樹。d o m 一次將整個(gè)文檔讀入內(nèi)存,然后向程序提供整個(gè)文檔可操作的 北京工業(yè)人學(xué) + 學(xué)壩 學(xué)位論文 d o m 樹。d o ma p i 的核心是文檔和節(jié)點(diǎn)界面。文檔( d o e m n e n t ) 是表示x m l 文 檔的頂層對(duì)象。d o c u m e n t 用一顆節(jié)點(diǎn)樹來保存數(shù)據(jù),節(jié)點(diǎn)可以是代表元素、屬 性或者其他內(nèi)容的基本類型。 s a x 同d o m 一樣也是一個(gè)訪問x m l 文檔的接口。s a x 的設(shè)計(jì)實(shí)現(xiàn)與 d o m 是完全不同,d o m 處理x m l 文檔是基于將x m l 文檔解析成樹狀模型, 調(diào)入內(nèi)存進(jìn)行處理。而s a x 則是采用基于事件驅(qū)動(dòng)的處理模式,它將x m l 文 檔轉(zhuǎn)化成一系列的事件,由單獨(dú)的事件處理器來決定如何處理。s a x 是把x m l 文檔解析成事件流,所有沒有被過濾的事件都會(huì)保留下來。 0 1x p a t h 、x s l t 和x q u e r y x p a t h 用于在x m l 文檔的層次樹形結(jié)構(gòu)中便利的路徑表示法,它的主要功 能有:提供緊湊的非x m l 語法來引用x m l 文檔內(nèi)的一個(gè)或一組節(jié)點(diǎn);為編程 處理x m l 文檔提供標(biāo)準(zhǔn)的字符串、數(shù)字和布爾表達(dá)式處理的函數(shù)庫(kù);作為一 種有效的語言工具,可以引用被任何標(biāo)記符號(hào)分割的x m l 文檔內(nèi)容;和其它 x m l 編程接口或處理模型( 如x s l t 等) 緊密結(jié)合。 x s l t ( e x t e n s i b l es t y l e s h e e tl a n g u a g et r a n s f o r m a t i o n s ) 是用于x m l 數(shù)據(jù)轉(zhuǎn) 換和顯示的編程語言【皓】。它支持一個(gè)小的靈活類型集合:布爾值、數(shù)字、字符 串和外部對(duì)象。還包括對(duì)數(shù)據(jù)的操作集合如 , , 等和流程控制語句如 x s l :i f b , 等。x s l t 集成了x p a t h , 通過x p a t h 定位和引用x m l 文檔中的節(jié)點(diǎn)和節(jié)點(diǎn)集,然后對(duì)這些節(jié)點(diǎn)或者節(jié) 點(diǎn)集進(jìn)行按照轉(zhuǎn)換要求進(jìn)行編程處理,得到需要的輸出結(jié)果。 x q u e r y 是用于定位和過濾x m l 文檔中的元素、屬性和文本的查詢語言, 它把數(shù)據(jù)庫(kù)查詢處理帶給了x m l 。 2 3 2w 曲s e r v i c e s 2 3 2 1w e bs e r v i c e s 概述 根據(jù)w 3 c 關(guān)于w e b 服務(wù)的定義,w e b 服務(wù)是用于支持網(wǎng)絡(luò)上機(jī)器與機(jī)器 間互操作的軟件系統(tǒng)。包含機(jī)器可處理的格式描述的接口( 特別的如w s d l ) 。 其他系統(tǒng)與w e b 服務(wù)的交互,采用s o a p 消息描述,h t t p 以及與x m l 序列 化相關(guān)的其他w e b 標(biāo)準(zhǔn)進(jìn)行傳輸【l6 j 。 w e b 服務(wù)可以從多個(gè)角度來看。從技術(shù)方面,一個(gè)w e b 服務(wù)是可以被u r i 識(shí)別的應(yīng)用軟件,其發(fā)布和綁定由x m l 描述和發(fā)現(xiàn),并可與其他基于x m l 消 息的應(yīng)用程序交互。從功能角度看,w e b 服務(wù)是一種新型的w e b 應(yīng)用程序,具 有自包含、自描述以及模塊化的特點(diǎn),可以通過w e b 發(fā)布、查找和調(diào)用。其實(shí) 現(xiàn)的功能可以是響應(yīng)客戶一個(gè)簡(jiǎn)單的請(qǐng)求,也可以是完成一個(gè)復(fù)雜的業(yè)務(wù)流程。 第2 犖關(guān)鍵技術(shù)和理論 具體而言w e b 服務(wù)應(yīng)具有如下特點(diǎn): 可描述,可通過服務(wù)描述語言來描述; 可發(fā)現(xiàn),可在注冊(cè)中心注冊(cè)描述信息并發(fā)布: 可查找,通過向注冊(cè)服務(wù)器發(fā)送請(qǐng)求可以找到滿足查詢條件的服務(wù), 獲取服務(wù)的綁定信息; 可綁定,通過服務(wù)的描述信息生成可調(diào)用的服務(wù)實(shí)例或服務(wù)代理; 可調(diào)用,使用服務(wù)描述信息中的綁定細(xì)節(jié)可以實(shí)現(xiàn)服務(wù)的遠(yuǎn)程調(diào)用; 可組合,可與其他服務(wù)組合形成新的服務(wù)【l “。 盡管對(duì)w e b 服務(wù)進(jìn)行描述的出發(fā)點(diǎn)或應(yīng)用類型不同,但它們均具有如下共 同特征: 應(yīng)用的分布式:為適應(yīng)網(wǎng)絡(luò)應(yīng)用中分布式的數(shù)據(jù)源和服務(wù)提供者,分 布式的服務(wù)響應(yīng)、松散耦合是w 如服務(wù)
溫馨提示
- 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. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 電工電氣行業(yè)工程師工作總結(jié)
- 2025技術(shù)合同主要包括些合同
- 電力行業(yè)線路員培訓(xùn)感悟
- 提升小學(xué)科學(xué)實(shí)驗(yàn)教學(xué)質(zhì)量的策略匯報(bào)與分享
- 數(shù)據(jù)分析對(duì)安全管理工作的支撐總結(jié)計(jì)劃
- 教育信息化推動(dòng)辦公效率提升
- 水果市場(chǎng)保安工作總結(jié)
- 教育裝備現(xiàn)代化背景下學(xué)校實(shí)驗(yàn)教學(xué)樓的整合與創(chuàng)新實(shí)踐研究報(bào)告
- 小班大眾文化藝術(shù)教育安排計(jì)劃
- 投資理財(cái)在學(xué)校發(fā)展中的重要作用
- 一年級(jí)數(shù)學(xué)(上)計(jì)算題專項(xiàng)練習(xí)集錦
- 消防安全應(yīng)急預(yù)案下載
- 《北航空氣動(dòng)力學(xué)》課件
- 附件:財(cái)政業(yè)務(wù)基礎(chǔ)數(shù)據(jù)規(guī)范(3.0版)
- 電商公司售后服務(wù)管理制度
- 火災(zāi)應(yīng)急處理課件
- 創(chuàng)新者的逆襲3:新質(zhì)生產(chǎn)力的十八堂案例課-記錄
- 2024年河南省公務(wù)員考試《行測(cè)》真題及答案解析
- 2022-2024北京初三二模英語匯編:話題作文
- 人教版八年級(jí)英語上冊(cè)Unit1-10完形填空閱讀理解專項(xiàng)訓(xùn)練
- 2024年湖北省武漢市中考英語真題(含解析)
評(píng)論
0/150
提交評(píng)論