(計算機應用技術專業(yè)論文)基于soa的分布式應用系統(tǒng)數(shù)據(jù)模型的研究與建立.pdf_第1頁
(計算機應用技術專業(yè)論文)基于soa的分布式應用系統(tǒng)數(shù)據(jù)模型的研究與建立.pdf_第2頁
(計算機應用技術專業(yè)論文)基于soa的分布式應用系統(tǒng)數(shù)據(jù)模型的研究與建立.pdf_第3頁
(計算機應用技術專業(yè)論文)基于soa的分布式應用系統(tǒng)數(shù)據(jù)模型的研究與建立.pdf_第4頁
(計算機應用技術專業(yè)論文)基于soa的分布式應用系統(tǒng)數(shù)據(jù)模型的研究與建立.pdf_第5頁
已閱讀5頁,還剩62頁未讀, 繼續(xù)免費閱讀

(計算機應用技術專業(yè)論文)基于soa的分布式應用系統(tǒng)數(shù)據(jù)模型的研究與建立.pdf.pdf 免費下載

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

摘要 軟件技術的發(fā)展已經(jīng)經(jīng)歷了面向過程、面向?qū)ο蠛兔嫦蚪M件幾個階段,近幾 年,又提出了面向服務的體系結構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è)務驅(qū)動等特點,現(xiàn)已成為企業(yè)應用開發(fā)的熱點。 在基于s o a 的分布式企業(yè)應用開發(fā),其中最基礎的工作就是建立一個可靠、穩(wěn) 定、有利于整合的數(shù)據(jù)模型,進行數(shù)據(jù)的集成和重構,以解決龐大而復雜的業(yè)務 數(shù)據(jù)在各個系統(tǒng)之間的流動和異構系統(tǒng)之間的數(shù)據(jù)共享。 本論文從中央廣播電視大學教務管理系統(tǒng)出發(fā),將面向服務架構的思想應用 到數(shù)據(jù)模型建模過程中。將數(shù)據(jù)模型、業(yè)務策略和服務定義結合起來,以建立統(tǒng) 一數(shù)據(jù)模型為中心,在系統(tǒng)的分層體系結構中抽象一個數(shù)據(jù)服務層,專門用來解 決s o a 的數(shù)據(jù)服務要求,從而隔離應用與底層數(shù)據(jù)源。 論文首先討論了數(shù)據(jù)模型建模的相關理論和技術,詳細地闡述了s o a 的相 關概念、特點、優(yōu)勢、及主要實現(xiàn)技術,并分析了基于s o a 的分布式應用系統(tǒng) 的參考架構。其次,論文借鑒借鑒數(shù)據(jù)倉庫主題數(shù)據(jù)存儲的思想和面向服務分析 和設計的方法,提出了分主題域e r 實體數(shù)據(jù)模型和服務數(shù)據(jù)模型兩階段來建立 基于s o a 的數(shù)據(jù)模型,以及采用分層描述的方法從數(shù)據(jù)實體層、數(shù)據(jù)聚合層和 跨組織服務聚合層的三個層次來描述數(shù)據(jù)模型。最后,在中央電大教務管理系統(tǒng) 的實際開發(fā)中應用這種方法,分析建立系統(tǒng)的數(shù)據(jù)模型;同時根據(jù)中央電大教務 管理系統(tǒng)的特點,提出了數(shù)據(jù)服務的實現(xiàn)框架,并針對不同的實際問題和技術細 節(jié),分析設計了相應的解決方案,完成理論與實踐的結合。 關鍵詞s o a ;分布式應用系統(tǒng);數(shù)據(jù)服務;數(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 獨創(chuàng)性聲明 本人聲明所呈交的論文是我個人在導師指導下進行的研究工作及取得的研 究成果。盡我所知,除了文中特別加以標注和致謝的地方外,論文中不包含其他 人已經(jīng)發(fā)表或撰寫過的研究成果,也不包含為獲得北京工業(yè)大學或其它教育機構 的學位或證書而使用過的材料。與我一同工作的同志對本研究所做的任何貢獻均 已在論文中作了明確的說明并表示了謝意。 簽名:羔日期:絲z 么叢 關于論文使用授權的說明 本人完全了解北京工業(yè)大學有關保留、使用學位論文的規(guī)定,即:學校有權 保留送交論文的復印件,允許論文被查閱和借閱:學??梢怨颊撐牡娜炕虿?分內(nèi)容,可以采用影印、縮印或其他復制手段保存論文。 ( 保密的論文在解密后應遵守此規(guī)定) 簽名:王缸導師簽名: 第1 章緒論 1 1 本研究課題的學術背景及其理論與實際意義 隨著網(wǎng)絡技術和企業(yè)信息化的發(fā)展,分布式應用系統(tǒng)得到了越來越廣泛的 應用。人們可以分散在不同的地理位置上,通過網(wǎng)絡跨時空的共享信息、協(xié)同 工作,極大地提高了工作效率。但是,這一方面導致分布式應用系統(tǒng)的功能、 性能、規(guī)模和復雜性的極大增長,同時也要求各個系統(tǒng)之間能相互交互,使得 這些分布在不同地域的系統(tǒng)提出了集成和整合的需求。 另一方面,軟件的發(fā)展已經(jīng)經(jīng)歷了面向過程、面向?qū)ο蠛兔嫦蚪M件等幾個 階段,近兩年來,為了適應新的軟件發(fā)展,又提出了面向服務的體系結構( 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 ) 的軟件設計方法,因其松耦合、易集成、可重用和業(yè)務驅(qū) 動等特點,已成為現(xiàn)在企業(yè)應用開發(fā)的熱點。s o a 既是一種軟件體系結構,也 是一種新的軟件開發(fā)方法和r r 策略【l l 。目前各大廠商都分別提出了各自的相關 技術和解決方案。但不論采用哪種軟件體系結構或設計方法,建立一個可靠、 穩(wěn)定、有利于整合的數(shù)據(jù)模型都是構建一個分御式應用系統(tǒng)的關鍵,而對基于 s o a 的分布式應用系統(tǒng)開發(fā),其中最基礎的工作就是基于s o a 企業(yè)信息系統(tǒng) 參考架構進行數(shù)據(jù)的集成和重構。 各個企業(yè)應用系統(tǒng)中異構數(shù)據(jù)的集成有其自己的特征,主要表現(xiàn)為分布性、 自治性和異構性。分布性是指異構數(shù)據(jù)存放在分散的、彼此可相互通信的多個 場地;自治性是指集成系統(tǒng)不能影響各局部應用系統(tǒng),被集成的每個局部數(shù)據(jù) 源之上都可能運行著自己原來的應用程序,這就要求局部數(shù)據(jù)源在被集成之后 仍然保持一定程度的獨立性;異構性主要有運行環(huán)境的異構和數(shù)據(jù)模型的異構 2 1 。 本論文研究基于s o a 解決分布式異構數(shù)據(jù)集成問題,在企業(yè)分層體系結構 中抽象出一個數(shù)據(jù)服務層,建立一個統(tǒng)一的綜合數(shù)據(jù)模型,專門用來解決s o a 的數(shù)據(jù)服務要求;通過數(shù)據(jù)轉(zhuǎn)換、數(shù)據(jù)移植、數(shù)據(jù)共享等方式捕獲與數(shù)據(jù)訪問 和數(shù)據(jù)更新相關的邏輯,完成數(shù)據(jù)服務的建模和元數(shù)據(jù)管理,創(chuàng)建和維護數(shù)據(jù) 服務;最后給出了一個實現(xiàn)分布式應用系統(tǒng)數(shù)據(jù)服務的邏輯框架。 1 2 國內(nèi)外研究現(xiàn)狀和發(fā)展動態(tài) 分布式系統(tǒng)的特點是運作的敏捷性、信息需求的多樣性、信息系統(tǒng)的異構 性以及良好的擴展性。因此,建立分布式系統(tǒng)的統(tǒng)一數(shù)據(jù)模型和實現(xiàn)的數(shù)據(jù)服 北京t 業(yè)人學t 學頌i :學位論文 務應具備開發(fā)和兼容性、適應和柔性、協(xié)作和靈活性。而傳統(tǒng)數(shù)據(jù)建模和數(shù)據(jù) 共享主要是針對同一企業(yè)內(nèi)部或相同組織結構內(nèi)部的緊耦合性的數(shù)據(jù)共享和交 換,對松散的異構數(shù)據(jù)無能為力。 目前,最新的面向服務的體系結構的提出,突破傳統(tǒng)的像“煙囪”一樣的數(shù) 據(jù)模型,把它們扁平化,在設計數(shù)據(jù)模型的時候,直接從所在領域出發(fā),建立 面向主題的域模型,從而建立對應的數(shù)據(jù)模型,這種數(shù)據(jù)模型可以在某個領域 內(nèi)通用,而并不依賴某個具體業(yè)務。 s o a 是思考構建軟件模型的一種優(yōu)秀方式,因為s o a 的松耦合的、抽象 的。它的優(yōu)勢在于可以構造組件、企業(yè)域、服務和規(guī)范數(shù)據(jù)模型。要快速搭建 滿足s o a 結構的數(shù)據(jù)模型要求一個關注復用、避免垂直式應用程序和i t 資源 孤島”的體系結構。把s o a 應用于數(shù)據(jù)集成領域是采用s o a 進行軟件架構設 計和實現(xiàn)的一個熱點,也是分布式異構數(shù)據(jù)集成的重大機遇。 i b m 和b e a :i b m 和b e a 是s o a 的先行者。其中m m 公司先后發(fā)布了 應用于s o a 架構的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è)界第一個能 把業(yè)務和i t 置于同一工作環(huán)境中的s o a 工具s o a 3 6 0o 產(chǎn)品系列,它涵蓋b e a 的三個產(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 。而針對數(shù)據(jù)建模和數(shù)據(jù)集 成,i b m 和b e a 等還聯(lián)合提出了服務數(shù)據(jù)對象( s e r v i c ed a t ao b j e c t s ,s d o ) 體 系結構。s d o 是一種應用程序編程接口,可以簡化和統(tǒng)一對異構數(shù)據(jù)的訪問, 同時也可用于數(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 構建的企業(yè)級數(shù)據(jù)服務平臺的。 m i c r o s o f t :使用基于x m lw e b 服務的方式解決異構數(shù)據(jù)集成是微軟推出 的主要解決方案,并提供了相關的技術和產(chǎn)品,如a d o n e t 。近來,又提出了 面向s o a 的架構i n d i g o 和集成工具m i c r o s o f tb i z t a l k 。相對于其他廠商而言, 微軟更加“明智”的選擇了從開發(fā)人員入手,引導開發(fā)人員進入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ā)人員的參考架構。 o r a c l e :o r a c l e 的服務導向架構套件( o r a c l es o as u i t e ) 已全面上市。這 是一組全面的、基于標準的中問件產(chǎn)品,融合了易構建、易配置、易管理且服 務導向架構的多個特性。該套件具備的“插座式”能力使客戶在利用現(xiàn)有中間件 技術的同時可充分享受到服務導向架構的種種益處。 r e dh a t :早在2 0 0 5 年,j b o s s 通過一系列的收購( 收購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)品結構,以支 持s o a 。r e dh a t 在收購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 等,以實現(xiàn)將操作系統(tǒng)與全套的s o a 解決方案相整合,為企業(yè)級計算提供一個 第1 章緒論 更靈活、成本更低的基礎平臺。 與國外r r 業(yè)相比,中國企業(yè)的r r 系統(tǒng)積累時間短,復雜度不是特別高, 很多情況下并不一定用s o a 來解決問題。國內(nèi)雖然也已開始研究s o a 并進行 應用,但大多數(shù)經(jīng)驗都來自歐美,國內(nèi)還缺乏s o a 的成功樣例。 s o a 本身只是如何將軟件組織在一起的抽象概念,僅定義了服務如何相互 理解以及如何交互,并沒有確切地定義服務具體如何實現(xiàn)和交互,其依賴于用 ) 洲l 和w e b 服務等技術實現(xiàn),并與具體應用相結合以軟件的形式存在的更加 具體的概念和技術p j 。 1 3 課題來源與主要研究內(nèi)容 本課題來源于遠程開放教育信息系統(tǒng)和中國貿(mào)易業(yè)績評價體系。遠程開放 教育信息系統(tǒng)由很多信息系統(tǒng)組成,如電大在線,電大教務管理系統(tǒng),多媒體 教學平臺,這些系統(tǒng)是按照業(yè)務發(fā)展的需要獨立開發(fā)的,從而形成了多個信息 孤島。隨著國家現(xiàn)代遠程教育工程的實施和電大系統(tǒng)開放教育的深入開展,對 遠程開放教育提出了新的更高的要求。不僅要求每個電大單位都能獨自完成信 息化建設,更要從整個遠程開放教育體系來整理和整合業(yè)務。為了滿足遠程開 放教育發(fā)展的需要,必須依據(jù)s o a 策略重新對遠程開放教育信息系統(tǒng)進行規(guī) 劃。 , 中國貿(mào)易業(yè)績評價體系將數(shù)據(jù)倉庫技術應用于外貿(mào)業(yè)務分析和決策,對世 界貿(mào)易組織及中國海關的海量外貿(mào)數(shù)據(jù)進行分析和處理【4 】。原始外貿(mào)數(shù)據(jù)以多 種文件格式存放,國內(nèi)交易數(shù)據(jù)存放于f o x p r o 數(shù)據(jù)庫,世界各國交易數(shù)據(jù)存放 于其特定的p c - t a s 系統(tǒng)數(shù)據(jù)庫,人口數(shù)據(jù)、國內(nèi)生產(chǎn)總值數(shù)據(jù)存放于e x c e l 文件中。在構建數(shù)據(jù)倉庫前,需要根據(jù)數(shù)據(jù)倉庫中按主題組織的數(shù)據(jù)模型將這 些異構數(shù)據(jù)源中的非標準數(shù)據(jù)進行轉(zhuǎn)換。 本論文把面向服務的思想引入數(shù)據(jù)模型的建立,借鑒數(shù)據(jù)倉庫按主題組織 數(shù)據(jù)的思想,把數(shù)據(jù)模型分為數(shù)據(jù)實體服務層、服務聚合層、跨組織聚合層三 個層次描述,通過數(shù)據(jù)實體、數(shù)據(jù)服務對象等對數(shù)據(jù)模型進行逐層抽象和逐層 組合,建立從組織內(nèi)數(shù)據(jù)實體視圖到虛擬化的、面向用戶的、統(tǒng)一的跨組織數(shù) 據(jù)視圖,研究提出一個解決企業(yè)級數(shù)據(jù)集成和共享的方案。 在項目和論文中要完成的主要內(nèi)容: 建立統(tǒng)一的綜合數(shù)據(jù)模型,為所有信息源的數(shù)據(jù)提供一個統(tǒng)一視圖。 把數(shù)據(jù)模型進行轉(zhuǎn)換和映射,創(chuàng)建數(shù)據(jù)服務。 應用前面所述的方法建立中央電大教務管理系統(tǒng)的數(shù)據(jù)模型。 提出中央電大教務管理系統(tǒng)數(shù)據(jù)服務的實現(xiàn)框架,并對關鍵技術和解 北京_ t 業(yè)人學丁學碩i :學位論文 決方案進行分析。 1 4 論文的結構與內(nèi)容 本文將從以下幾個部分來闡述: 第一部分:( 第l 章) 介紹與本課題相關的背景知識,對國內(nèi)外相關領域的 研究和進展進行綜述。介紹本課題的來源及主要研究內(nèi)容。 第二部分:( 第2 章) 介紹系統(tǒng)相關的關鍵技術。首先是對數(shù)據(jù)模型的概念、 第三部分: 第四部分: 分類,以及幾種主要的幾種數(shù)據(jù)模型進行了詳細介紹,然后重 點對s o a 的架構模型、支撐技術和相關的標準進行了研究和分 析,討論了s o a 技術架構在企業(yè)應用集成中的作用、地位和優(yōu) 勢。 ( 第3 章) 本章詳細介紹了基于s o a 建立分布式應用系統(tǒng)數(shù)據(jù) 模型的方法,把數(shù)據(jù)模型分為數(shù)據(jù)實體服務層、服務聚合層、 跨組織聚合層三個層次描述,利用傳統(tǒng)的e r 分析方法并借鑒 數(shù)據(jù)倉庫按主題存儲數(shù)據(jù)模型的結構建立業(yè)務數(shù)據(jù)的主題域數(shù) 據(jù)模型;使用面向?qū)ο?、面向組件和面向服務的建模方法,進 行逐層抽象、組合和映射,最終建立應用系統(tǒng)的服務數(shù)據(jù)模型。 ( 第4 章) 本章討論了基于s o a 的分布式應用系統(tǒng)數(shù)據(jù)模型技 術支撐平臺的分析與實踐,研究建立基于s o a 的中央電大教務 管理系統(tǒng)的數(shù)據(jù)模型,分析了數(shù)據(jù)服務模型的實現(xiàn)框架,闡述 了如何利用現(xiàn)有技術來實現(xiàn)數(shù)據(jù)服務。最后,討論了實現(xiàn)一個 分布式應用系統(tǒng)數(shù)據(jù)服務的一些技術細節(jié)和實際應用實例。 第2 章關鍵技術和理論 自從開始構建分布式應用系統(tǒng)開始,應用程序設計者就開始關注數(shù)據(jù)模型 的建立。最早的做法都是應用傳統(tǒng)信息系統(tǒng)據(jù)模型的建模,加上一些分布式因 素;或者采用工作流的方法去建立,針對某一個業(yè)務設計數(shù)據(jù)模型,最后把所 有業(yè)務的數(shù)據(jù)模型設計完成,組成完整的系統(tǒng)的數(shù)據(jù)模型。目前,隨著面向服 務的體系結構( 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 ) 的在分布式應用系統(tǒng)中的應 用,需要突破傳統(tǒng)的像“煙囪”一樣的數(shù)據(jù)模型,從所在領域出發(fā),建立扁平 化的全局數(shù)據(jù)模型。 2 1 面向服務的體系架構 在1 9 9 6 年,g a r t n e rg r o u p 就提出了s o a 的概念,但是那個時候軟件技 術還不足以從真正意義上支持企業(yè)實現(xiàn)s o a 。隨著網(wǎng)絡技術的不斷發(fā)展,在 2 0 0 2 年1 2 月,g a r t n e r 再次提出了s o a 是“現(xiàn)代應用開發(fā)領域最重要的課 題”。 2 1 1s o a 概述 面向服務的體系結構( s o a ) 是一個組件模型,它將應用程序的不同功能單 元( 稱為服務) 通過這些服務之間定義良好的接口和契約聯(lián)系起來。接口是采用 中立的方式進行定義的,它應該獨立于實現(xiàn)服務的硬件平臺、操作系統(tǒng)和編程 語言1 4 1 。這使得構建在各種這樣的系統(tǒng)中的服務可以以一種統(tǒng)一和通用的方式 進行交互。 這種具有中立的接口定義( 沒有強制綁定到特定的實現(xiàn)上) 的特征稱為服務 之間的松耦合。松耦合系統(tǒng)的好處有兩點,一點是它的靈活性,另一點是,當 組成整個應用程序的每個服務的內(nèi)部結構和實現(xiàn)逐漸地發(fā)生改變時,它能夠繼 續(xù)存在i s 。相反,緊耦合意味著應用程序的不同組件之間的接口與其功能是緊 密相連的,因而當需要對部分或整個應用程序進行某種形式的更改時,它們就 顯得非常脆弱。 作為一種新型的軟件開發(fā)體系結構,s o a 具有無可比擬的優(yōu)勢,符合現(xiàn)在 軟件開發(fā)的發(fā)展潮流,尤其適用于企業(yè)級的應用開發(fā)。隨著互聯(lián)網(wǎng)絡的進一步 發(fā)展和分布式應用的不斷普及,s o a 的應用會更加的普遍并被人們所接受,成 北京t 業(yè)大學工學頌i :學位論文 為繼面向?qū)ο蟆⒚嫦蚪M件之后新的設計方式。 2 1 2s o a 的基本架構和操作 s o a 的基本結構如圖2 1 所示。該結構描述了面向服務的體系結構的角色、 操作和基本構件【6 】。 圖2 1 $ o a 體系結構圖 f i g u r e2 - 1s o a a m h i t e e n t r e 面向服務的體系結構中的角色包括: 服務使用者:服務使用者是一個應用程序、一個軟件模塊或需要一個 服務的另一個服務。它發(fā)起對注冊中心中的服務的查詢,通過傳輸綁 定服務,并且執(zhí)行服務功能。服務使用者根據(jù)接口契約來執(zhí)行服務。 服務提供者:服務提供者是一個可通過網(wǎng)絡尋址的實體,它將自己的 服務和接口契約發(fā)布到服務注冊中心,以便服務使用者可以發(fā)現(xiàn)和訪 問該服務。 服務注冊中心:服務注冊中心是服務發(fā)現(xiàn)的支持者。它包含一個可用 服務的存儲庫,并允許感興趣的服務使用者查找服務提供者接口。 面向服務的體系結構中的每個實體都扮演著服務提供者、使用者和注冊中 心這三種角色中的某一種( 或多種) 。面向服務的體系結構中的操作包括: 發(fā)布:為了使服務可訪問,需要發(fā)布服務描述以使服務使用者可以發(fā) 現(xiàn)和調(diào)用它。 發(fā)現(xiàn):服務請求者定位服務,方法是查詢服務注冊中心來找到滿足其 標準的服務。 綁定和調(diào)用:在檢索完服務描述之后,服務使用者繼續(xù)根據(jù)服務描述 中的信息來調(diào)用服務。 面向服務的體系結構中的構件包括: 服務:可以通過己發(fā)布接口使用服務,并且允許服務使用者調(diào)用服務。 服務描述:服務描述指定服務使用者與服務提供者交互的方式。它指 定來自服務的請求和響應的格式。服務描述可以指定一組前提條件、 第2 蘋關鍵技術和理論 后置條件或服務質(zhì)量( q u a l i t yo f s v r v i c e ,q o s ) 級別”。 采用面向服務的體系結構設計分布式應用系統(tǒng),可以通過發(fā)布的可發(fā)現(xiàn)的 接口為其他的應用程序提供服務,可以降低升發(fā)成木、持續(xù)集成和降低風險。 當用w e b 服務技術來實現(xiàn)面向服務的體系結構,更是一種構建應用程序的強大 而靈活的的方式。 想成功地創(chuàng)建s o a ,需要的不僅僅是好的工具和標準,其中非常重要的過 程就是面向服務的數(shù)據(jù)建模,這需要一些規(guī)范的步驟來支持。對于任何對企業(yè) 應用程序開發(fā)感興趣的人來講,理解面向服務的數(shù)據(jù)建模非常重要的。 2 2 數(shù)據(jù)模型 從建模的觀點來看,s o a 帶來的挑戰(zhàn)是如何設計并描述良好的數(shù)據(jù)模型以 及如何系統(tǒng)地實現(xiàn)它們。首先,這需要一些數(shù)據(jù)模型方面技術和理論的支持。 在傳統(tǒng)軟件系統(tǒng)的開發(fā)中,數(shù)據(jù)模型是描述數(shù)據(jù)內(nèi)容和數(shù)據(jù)之間聯(lián)系的方 法,是一組描述數(shù)據(jù)庫的概念。這些概念精確地描述數(shù)據(jù)、數(shù)據(jù)之問的關系、 數(shù)據(jù)的語義和完整性約束,很多數(shù)據(jù)模型還包括一個操作集合。數(shù)據(jù)模型應滿 足三方面要求:一是能真實地模擬現(xiàn)實世界;二是容易為人們理解;三是便于 在計算機上實現(xiàn)。企業(yè)應用系統(tǒng)設計的核心問題之一就是設計一個好的數(shù)據(jù)模 型,s o a 也不例外。 2 2 1 數(shù)據(jù)模型概念 數(shù)據(jù)是現(xiàn)實世界中符號的抽象,而數(shù)據(jù)模型( d a t am o d e l ) 則是數(shù)據(jù)特征的 抽象【8 】。數(shù)據(jù)模型描述數(shù)據(jù)的結構、定義在其上的操作以及約束條件。它從抽 象層次上描述了系統(tǒng)的靜態(tài)特征、動態(tài)行為和約束條件,為系統(tǒng)的信息表示和 操作提供一個抽象框架。 數(shù)據(jù)模型按應用層次分成三種類型,它們是:概念數(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)無關,與具體的計算機平臺無關。概念模型著重于對客觀 世界復雜事物結構的描述及事物間的內(nèi)在聯(lián)系的刻畫,而將與d b m s 和計算 機有關的物理的、細節(jié)的描述留給其它層次的模型。因此,概念模型是整個數(shù) 據(jù)模型的基礎拶】。目前,較為有名的概念模型有e r 模型、擴充的e - r 模型、 面向?qū)ο竽P偷取?邏輯數(shù)據(jù)模型又稱邏輯模型,它是一種面向數(shù)據(jù)庫系統(tǒng)的模型,該模型著 北京丁業(yè)人學 :學碩j :學位論文 重于在數(shù)據(jù)庫系統(tǒng)一級的實現(xiàn)。它是客觀世界到計算機之間的中介模型,具有 承上啟下的功能。概念模型只有在轉(zhuǎn)換成邏輯模型后才能在數(shù)據(jù)庫中得以表示。 物理數(shù)據(jù)模型又稱物理模型,它是一種面向計算機物理表示的模型,此模 型給出了數(shù)據(jù)模型在計算機上物理結構的表示。 數(shù)據(jù)模型所描述的內(nèi)容有三個部分,它們是數(shù)據(jù)結構、數(shù)據(jù)操作與數(shù)據(jù)約 束。 數(shù)據(jù)結構。數(shù)據(jù)模型中的數(shù)據(jù)結構主要描述數(shù)據(jù)類型、性質(zhì)以及數(shù)據(jù) 間的聯(lián)系。數(shù)據(jù)結構是數(shù)據(jù)模型的基礎,數(shù)據(jù)操作與約束均建立在數(shù) 據(jù)結構之上。不同數(shù)據(jù)結構有不同的操作與約束。因此,一般數(shù)據(jù)模 型均依據(jù)數(shù)據(jù)結構的不同而分類。 數(shù)據(jù)操作。數(shù)據(jù)模型中的數(shù)據(jù)操作主要描述在相應數(shù)據(jù)結構上的操作 類型與操作方式。 數(shù)據(jù)約束。數(shù)據(jù)模型中的數(shù)據(jù)約束主要描述數(shù)據(jù)結構內(nèi)數(shù)據(jù)間的語法、 語義聯(lián)系,它們間的制約與依存關系,以及數(shù)據(jù)動態(tài)變化的規(guī)則,以 保證數(shù)據(jù)的正確、有效與相容。 數(shù)據(jù)模型可以將復雜的現(xiàn)實世界要求反映到計算機數(shù)據(jù)庫中的物理世界, 這種反映是一個逐步轉(zhuǎn)化的過程,它分為四個階段,被稱為四個世界。由現(xiàn)實 世界開始,經(jīng)歷概念世界、信息世界而至計算機世界,從而完成整個轉(zhuǎn)化。 那么,數(shù)據(jù)模型和這四個世界是什么樣的關系呢? 現(xiàn)實世界就是具體的應 用,與數(shù)據(jù)模型是沒有關系的;概念世界對應了概念數(shù)據(jù)模型;邏輯世界對應 了邏輯數(shù)據(jù)模型;計算機世界對應了物理數(shù)據(jù)模型。表2 - 1 給出了概念數(shù)據(jù)模 型和邏輯數(shù)據(jù)模型的分類以及它們的對應關系。 表2 - l 概念模型和邏輯模型對應關系圖 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 模型對象關系 面向?qū)ο?模型模型 模型 邏輯關系對象關系面向?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 ) 又稱實體關系模型,它于1 9 7 6 年由 p e t e rc h e n 首先提出,這是一種概念化的模型,它將現(xiàn)實世界的要求轉(zhuǎ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 章關鍵技術和理論 e r 模型有如下三個基本概念: 實體( e n t i t y ) :現(xiàn)實世界中的事物可以抽象成為實體,實體是概念世界中 的基本單位,它們是客觀存在的且又能相互區(qū)別的事物。凡是有共性的實體可 組成一個集合稱為實體集( e n t i t ys e t ) 。 屬性( a t t r i b u t e ) :現(xiàn)實世界中事物均有一些特性,這些特性可以用屬性這 個概念表示。屬性刻畫了實體的特征。屬性一般由屬性名、屬性型和屬性值組 成,其中屬性名是屬性標識,屬性的型與值則給出了屬性的類型與取值。一個 屬性有一定的取值范圍,稱為屬性的值域( v a l u ed o m a i n ) 或稱為值集( v a l u e s e t ) 。 關系( r d a t i o n s h i p ) :現(xiàn)實世界中事物問的關聯(lián)稱為關系。在概念世界中聯(lián) 系反映了實體集間的一定關系。就聯(lián)系所包含的實體集的個數(shù)而言,關系可分 為以下幾種:兩個實體集間的關系、多個實體集間的關系、一個實體集內(nèi)部的 關系。 在建立了實體集和實體集間的關系以后,就可以從概念模型出發(fā)建立邏輯 模型了。與e r 模型對應的邏輯模型是關系模型。 關系模型的基本思想是用二維表形式表示實體及其聯(lián)系。二維表中的每一 列對應實體的一個屬性,其中給出相應的屬性值,每一行形成一個由多種屬性 組成的多元組,或稱元組,與一特定實體相對應。 關系數(shù)據(jù)庫結構的最大優(yōu)點是它的結構特別靈活,可滿足所有用布爾邏輯 運算和數(shù)學運算規(guī)則形成的查詢要求;在關系數(shù)據(jù)庫中還能搜索、組合和比較 不同類型的數(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)點 的基礎上并借鑒了面向?qū)ο蟮脑O計方法而建立的模型。這種模型具有更強的表 示能力。 在面向?qū)ο竽P椭械淖罨镜母拍钍菍ο? o b e c t ) ,它是客觀世界中概念 化的基本實體,它可以是簡單的實體也可以是復雜的實體;它可以是具體的實 體,也可以是抽象的實體??傊?,相互能區(qū)別的事物均可視為對象。 對象有如下特點:對象的封裝( e n c a p s u l a t e ) :對象的屬性與方法是封 裝在一起的,亦即是說,操作與屬性是相互依存的。 對象標識符的獨立性:每個對象均有一個獨立于屬性以外的名字,亦 即是說,對象的屬性值與對象名是有區(qū)別的。在e - r 模型中每個實體 的名是由一個屬性值集表示的,這與面向?qū)ο竽P徒厝徊煌?北京。t + 業(yè)人學l 學壩i :學位論文 對象屬性值的多值性:一個對象的屬性,可以是單值也可以是多值。 如有學生修讀課程這一屬性可為多值,因為學生一般修讀課程可超過 一門,這就是對象屬性值的多值性。 為便于概念上認識的方便,一般將具有相同屬性、方法的對象集合在一起 稱為類( c l a s s ) ,而此時類中對象稱為實例( 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 ) ,類的子集也可以是一個類,稱為該 類的子類,而原來的類,則稱為子類的超類,子類繼承( 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)實世界中往往存在著由簡單的對象組合成復雜的對象的 現(xiàn)象,在面向?qū)ο竽P椭屑词穷惖木酆?。類的聚合即表示若干個簡單類可以聚 合成一個復雜類。 面向?qū)ο竽P湍苊枋鰪碗s的現(xiàn)實世界,具有較強靈活性、可擴充性與可重 用性。它的動態(tài)特性描述、對象標識符、類的泛化特化、類的聚合分解以及消 息功能等都比前面所介紹的模型要好。此模型既是一種概念模型,同時還可以 依據(jù)它直接構造邏輯模型,稱為面向?qū)ο蟮倪壿嬆P汀?2 3x m l 和w e bs e r v i c e s s o a 很早就已經(jīng)出現(xiàn)了,而在軟件開發(fā)中真正應用s o a 卻是從x m l 和 w e bs e r v i c e 技術的成熟和廣泛應用開始的。 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 ,可擴展標記語言) 是一種新的標記語言。 同h t m l 一樣是特別為w e b 應用服務的標準通用標記語言( 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 ) 的一個簡化子集,用于支持i n t e r n e t 上結構文檔的交 換【l2 1 。x m l 因具有更多的語義、良好的可擴展性、簡單易用、自描述等特點而 特別適用于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è)的廣泛支持和應用,成為數(shù)據(jù)組織和交換的事實標準之一。 x m l 具有如下重要特性。 擴展性。x m l 是一種用于設計標記語言的元語言,而不是象h t m l 那 樣,是一種只有一個固定標記集的特定標記語言。x m l 允許用戶根據(jù) 其需要創(chuàng)建自己的標記,這些標記可通過x m ld t d ( d o c u m c n tt y p e 第2 章關鍵技術和理論 d e f i m t i o n ) 和x m l 模式加以定義。 靈活性。x m l 提供了一種結構化的數(shù)據(jù)表現(xiàn)方式,從而使用戶界面與 結構化數(shù)據(jù)相分離。 自描述性。x m l 文檔通常包含一個文檔類型( d t d ) 聲明,從而便于機 器理解數(shù)據(jù)的意義。x m l 文檔中的數(shù)據(jù)可被任何能夠?qū) m l 數(shù)據(jù)進 行解析的應用程序所提取、分析和處理,并以所需格式顯示。 2 3 1 2x m l 相關技術 與x m l 相關的技術有很多,下面對主要的幾種進行介紹。 ( 1 ) 文檔類型定義( d t d ) 和x m l 模式 x m l 文檔可以事先定義其結構,在編制包含相似內(nèi)容的文檔時可以限定遵 循的標準,這樣編制出來的文檔具有相同的結構,便于計算機統(tǒng)一處理。x m l 文檔結構定義有兩種辦法: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ù)里或者以單獨的文檔存在的聲明,它定義 一些規(guī)則來描述被允許的x m l 數(shù)據(jù)內(nèi)容【13 1 。一個d t d 只能和一個給定的x m l 文檔或數(shù)據(jù)對象關聯(lián)起來。d t d 的缺點是很難理解和數(shù)據(jù)類型相當有限,如在 d t d 中不提供如整數(shù)、浮點數(shù)、布爾數(shù)等數(shù)值數(shù)據(jù)類型,所有的文檔內(nèi)容都是 字符數(shù)據(jù)。 x m l 模式和d t d 的功能一樣,都是用來定義標記和標記的用法,但跟d t d 相比,它至少有三個優(yōu)點。首先,x m l 模式文檔是一種特殊的x m l 文檔,它 遵循x m l 的語法要求,避免讀者再去學習一套語法的負擔;其次,x m l 模式 的語法結構更簡單,易于學習和使用,而且提供了豐富的數(shù)據(jù)類型,不但有整 數(shù)、浮點數(shù)等常用的類型,還提供了自定義數(shù)據(jù)類型機制;最后,x m l 模式在 代碼的重用性和可擴展性方面要遠遠優(yōu)于d t d 。x m l 模式則采用了名域空間 的機制,使得一個x m l 文檔可以調(diào)用多種模式文檔。 x m l 模式有很多種,其中x m ls c h e m a 是w 3 c 的推薦標準,于2 0 0 1 年8 月正式發(fā)布,應用也最為廣泛。 ( 2 ) d o m 與s a x 編程接口 用于將x m l 解析綁定到需要它的應用程序,兩個最常見引擎技術是w 3 c 的文檔對象模型( d o c u m e n to b j e c tm o d e l ,d o m ) 和開放標準一用于x m l 的簡 單a p i fs i m p l ea p if o rx m l ,s 砧x ) o d o m 是x m l 解析器的一種解析接口標準,是一種允許代碼直接指向x m l 文檔各部分屬性的a p i 1 4 l 。d o ma p i 是一個對象模型驅(qū)動的a p i 。實現(xiàn)了d o m 的x m l 在內(nèi)存中生成一個對象模型。實際上就是一個x m l 文檔內(nèi)容和結構的 d o m 樹。d o m 一次將整個文檔讀入內(nèi)存,然后向程序提供整個文檔可操作的 北京工業(yè)人學 + 學壩 學位論文 d o m 樹。d o ma p i 的核心是文檔和節(jié)點界面。文檔( d o e m n e n t ) 是表示x m l 文 檔的頂層對象。d o c u m e n t 用一顆節(jié)點樹來保存數(shù)據(jù),節(jié)點可以是代表元素、屬 性或者其他內(nèi)容的基本類型。 s a x 同d o m 一樣也是一個訪問x m l 文檔的接口。s a x 的設計實現(xiàn)與 d o m 是完全不同,d o m 處理x m l 文檔是基于將x m l 文檔解析成樹狀模型, 調(diào)入內(nèi)存進行處理。而s a x 則是采用基于事件驅(qū)動的處理模式,它將x m l 文 檔轉(zhuǎn)化成一系列的事件,由單獨的事件處理器來決定如何處理。s a x 是把x m l 文檔解析成事件流,所有沒有被過濾的事件都會保留下來。 0 1x p a t h 、x s l t 和x q u e r y x p a t h 用于在x m l 文檔的層次樹形結構中便利的路徑表示法,它的主要功 能有:提供緊湊的非x m l 語法來引用x m l 文檔內(nèi)的一個或一組節(jié)點;為編程 處理x m l 文檔提供標準的字符串、數(shù)字和布爾表達式處理的函數(shù)庫;作為一 種有效的語言工具,可以引用被任何標記符號分割的x m l 文檔內(nèi)容;和其它 x m l 編程接口或處理模型( 如x s l t 等) 緊密結合。 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) 換和顯示的編程語言【皓】。它支持一個小的靈活類型集合:布爾值、數(shù)字、字符 串和外部對象。還包括對數(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é)點和節(jié)點集,然后對這些節(jié)點或者節(jié) 點集進行按照轉(zhuǎn)換要求進行編程處理,得到需要的輸出結果。 x q u e r y 是用于定位和過濾x m l 文檔中的元素、屬性和文本的查詢語言, 它把數(shù)據(jù)庫查詢處理帶給了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 關于w e b 服務的定義,w e b 服務是用于支持網(wǎng)絡上機器與機器 間互操作的軟件系統(tǒng)。包含機器可處理的格式描述的接口( 特別的如w s d l ) 。 其他系統(tǒng)與w e b 服務的交互,采用s o a p 消息描述,h t t p 以及與x m l 序列 化相關的其他w e b 標準進行傳輸【l6 j 。 w e b 服務可以從多個角度來看。從技術方面,一個w e b 服務是可以被u r i 識別的應用軟件,其發(fā)布和綁定由x m l 描述和發(fā)現(xiàn),并可與其他基于x m l 消 息的應用程序交互。從功能角度看,w e b 服務是一種新型的w e b 應用程序,具 有自包含、自描述以及模塊化的特點,可以通過w e b 發(fā)布、查找和調(diào)用。其實 現(xiàn)的功能可以是響應客戶一個簡單的請求,也可以是完成一個復雜的業(yè)務流程。 第2 犖關鍵技術和理論 具體而言w e b 服務應具有如下特點: 可描述,可通過服務描述語言來描述; 可發(fā)現(xiàn),可在注冊中心注冊描述信息并發(fā)布: 可查找,通過向注冊服務器發(fā)送請求可以找到滿足查詢條件的服務, 獲取服務的綁定信息; 可綁定,通過服務的描述信息生成可調(diào)用的服務實例或服務代理; 可調(diào)用,使用服務描述信息中的綁定細節(jié)可以實現(xiàn)服務的遠程調(diào)用; 可組合,可與其他服務組合形成新的服務【l “。 盡管對w e b 服務進行描述的出發(fā)點或應用類型不同,但它們均具有如下共 同特征: 應用的分布式:為適應網(wǎng)絡應用中分布式的數(shù)據(jù)源和服務提供者,分 布式的服務響應、松散耦合是w 如服務

溫馨提示

  • 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論