《基于軟總線技術(shù)的多數(shù)據(jù)庫(kù)融合應(yīng)用研究與實(shí)現(xiàn).ppt》由會(huì)員分享,可在線閱讀,更多相關(guān)《基于軟總線技術(shù)的多數(shù)據(jù)庫(kù)融合應(yīng)用研究與實(shí)現(xiàn).ppt(25頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
1、基于軟總線技術(shù)的多數(shù)據(jù)庫(kù)融合應(yīng)用研究與實(shí)現(xiàn),報(bào)告人:靳輝 導(dǎo)師: 金志剛 2004年4月,一、數(shù)據(jù)庫(kù)融合需求,企業(yè)的決策依據(jù)來(lái)自于對(duì)企業(yè)內(nèi)外部各種數(shù)據(jù)多方位、多層次分析,而異構(gòu)數(shù)據(jù)是不能很好地集成的。異構(gòu)數(shù)據(jù)有幾種情況,一是企業(yè)中的數(shù)據(jù)存放在不同類型的數(shù)據(jù)庫(kù)中,有小型的數(shù)據(jù)庫(kù),也有一些大型的數(shù)據(jù)庫(kù)系統(tǒng);另一種是有業(yè)務(wù)往來(lái)的企業(yè)之間有可能有一部分?jǐn)?shù)據(jù)需要共享,這些數(shù)據(jù)的類型、格式等也可能不盡相同。異構(gòu)數(shù)據(jù)的一個(gè)典型的例子是Web數(shù)據(jù)資源的利用。,如何解決數(shù)據(jù)異構(gòu)問(wèn)題,合理、充分利用各種可能的數(shù)據(jù)源,是當(dāng)前的一個(gè)研究熱點(diǎn)。 合理利用軟總線及軟插件技術(shù)可以有效的解決這一問(wèn)題。,二、軟件復(fù)用技術(shù),
2、何為軟件復(fù)用? 所謂軟件復(fù)用是指利用現(xiàn)有的軟件成分(資源)來(lái)構(gòu)造新的軟件系統(tǒng)。該軟件成分可能是已有的軟件,也可能是專門(mén)開(kāi)發(fā)設(shè)計(jì)的可復(fù)用軟件構(gòu)件。復(fù)用成分是軟件復(fù)用技術(shù)的核心,復(fù)用過(guò)程的直觀描述如圖1所示。,系統(tǒng)分析軟件結(jié)構(gòu),軟件分析模塊分解刻畫(huà),程序設(shè)計(jì)/編碼(部分),,新增成分,原有成分,復(fù)用成分庫(kù),圖1 軟件復(fù)用過(guò)程,目標(biāo)系統(tǒng),功能模塊,可用部件,,,,,,,,軟件復(fù)用類型 軟件復(fù)用技術(shù)一般可分為組裝技術(shù)和生成技術(shù)兩類。組裝技術(shù)即對(duì)已有軟件構(gòu)件不作修改或少作修改,直接將其插裝在一起,從而構(gòu)造出新的目標(biāo)系統(tǒng);生成技術(shù)有程序生成器完成對(duì)軟件結(jié)構(gòu)模式的復(fù)用,生成器到處模式相當(dāng)于種子,從中
3、可生長(zhǎng)出新的專用構(gòu)件。如V c++ 的Wizard。,軟插件與軟總線,軟插件(S-IC)模型 軟插件技術(shù)從本質(zhì)上來(lái)講是一種軟件集成技術(shù)。據(jù)統(tǒng)計(jì),生成一個(gè)新的軟件系統(tǒng),80%85%的工作量耗費(fèi)在重復(fù)編寫(xiě)已有的軟件單元上。因此人們感到必須尋找一種新的集成機(jī)制,將以成熟的軟件單元制成一個(gè)相對(duì)獨(dú)立的實(shí)體,使之不加改動(dòng)或少作改動(dòng)就應(yīng)用于新的軟件系統(tǒng)中,從而提高軟件生產(chǎn)效率。軟插件應(yīng)運(yùn)而生。,按照軟插件理論,軟插件是一種具有一組外接插頭----功能描述和外接消息以及相應(yīng)的說(shuō)明信息的軟件單元實(shí)體。(假設(shè)構(gòu)造一個(gè)系統(tǒng)所需要的軟插件都已存在,那么構(gòu)造者只需要對(duì)整個(gè)系統(tǒng)的構(gòu)造策略和原則進(jìn)行精心的描述和制定,將
4、所需要的軟插件按哲這些原則、策略組織起來(lái),便可以推出一個(gè)新的軟件系統(tǒng),從而大大提高軟件生產(chǎn)效率。),軟插件應(yīng)具有的特征 模塊性好,獨(dú)立性強(qiáng);(一個(gè)軟插件應(yīng)是一個(gè)可以獨(dú)立存在的實(shí)體,它應(yīng)當(dāng)不受或少受外界影響,以便能較為自由的為不同的軟件系統(tǒng)所用) 可靠性好; 連接簡(jiǎn)單; 封裝功能; 內(nèi)部功能的高效實(shí)現(xiàn); 清晰簡(jiǎn)明的說(shuō)明。,軟總線模型,軟總線模型出現(xiàn)于軟插件概念之后,其解決軟插件間的交互問(wèn)題,以支持軟件工廠總裝期間和運(yùn)行階段的高級(jí)通信,并解決系統(tǒng)內(nèi)各軟插件的互操作問(wèn)題。圖2給出了軟總線概念模型。,用戶界面插件,用戶界面插件,適配器,適配器,適配器,適配器,,數(shù)據(jù)構(gòu)件,數(shù)據(jù)構(gòu)件,軟 總 線,功能服務(wù)
5、插件,功能服務(wù)插件,用戶界面插件,適配器,適配器,控制服務(wù)插件,圖2 軟總線概念模型,,,,,,,,,,,,,分布環(huán)境中軟插件和軟總線應(yīng)用,作為開(kāi)放系統(tǒng)的主要特征,互操作一直是計(jì)算機(jī)界關(guān)注的焦點(diǎn)。隨著分布式系統(tǒng)的日漸流行,大量的異構(gòu)網(wǎng)絡(luò)及各個(gè)廠商推出的軟、硬件產(chǎn)品,造成分布式系統(tǒng)的各個(gè)層次都存在互操作問(wèn)題。如果將軟總線與操作系統(tǒng)、網(wǎng)絡(luò)通信機(jī)制結(jié)合起來(lái),就能夠比較好地解決分布系統(tǒng)的互操作問(wèn)題。圖3給出了將軟總線模型應(yīng)用于分布系統(tǒng)的體系模型。,VB/PB.. 應(yīng)用程序,數(shù)據(jù)庫(kù) 應(yīng)用程序,WWW瀏覽器,應(yīng)用程序插件,OCX/OLE,APIs,HTTP/HTML,適配器,軟 總 線,Win
6、dows9X/NT,UNIX,Windows/UNIX,操作系統(tǒng),TCP/IP,UDP/IP,網(wǎng)絡(luò)通信協(xié)議,,圖3 分布環(huán)境中的軟總線體系模型,,,,,,,,,,,,,,,,,,,網(wǎng)絡(luò),封裝的軟插件可位于不同的系統(tǒng)平臺(tái),他們通過(guò)各自的適配器向軟總線發(fā)出請(qǐng)求,軟總線對(duì)其進(jìn)行解釋并確定接受方的位置。向網(wǎng)絡(luò)層發(fā)送消息,完成通信并實(shí)現(xiàn)互操作。程序員只需設(shè)計(jì)不同的適配器,就能最大限度使用已有的軟件,實(shí)現(xiàn)系統(tǒng)集成。,三、基于XML的軟總線,XML----Web的又一場(chǎng)革命 自Web產(chǎn)生以來(lái),HTML一直作為網(wǎng)頁(yè)的描述語(yǔ)言,盡管隨著新版本的出現(xiàn),HTML的功能越來(lái)越完善,但還是有它的不足之處。,HTML
7、的不足,靜態(tài)標(biāo)識(shí)語(yǔ)言,標(biāo)簽預(yù)定義,難以擴(kuò)展; 同時(shí)描述網(wǎng)頁(yè)內(nèi)容與顯示信息,給Web信息搜索帶來(lái)不便。 與HTML不同,XML是一種基于SGML的元語(yǔ)言,它允許在它之上定義更復(fù)雜的語(yǔ)言。,XML的優(yōu)點(diǎn),可擴(kuò)展性 由于XML只定義了語(yǔ)法,用戶可以根據(jù)自己的需求定制自己的XML語(yǔ)言,甚至可以針對(duì)領(lǐng)域定義領(lǐng)域的規(guī)范。 與平臺(tái)無(wú)關(guān) 只描述內(nèi)容,不包括數(shù)據(jù)的顯示信息,只要與相應(yīng)的擴(kuò)展樣式表結(jié)合就可以被識(shí)別、顯示。 與數(shù)據(jù)庫(kù)接口 “XML是數(shù)據(jù)庫(kù)的文檔化,同時(shí)也是文檔的數(shù)據(jù)庫(kù)化”。XML已成為Web資源與數(shù)據(jù)庫(kù)集成的重要技術(shù)。,基于XML軟總線的數(shù)據(jù)融合模型,基于XML的軟總線,,,,,SQL Se
8、rver,Sybase,Oracle,Web,,,,,,圖4 基于XML軟總線的數(shù)據(jù)融合模型,用戶界面插件,用戶界面插件,適配器,適配器,,,,,圖5 基于XML的軟總線結(jié)構(gòu),,基于XML 的軟總線,,,,,SQL Server,Sybase,Oracle,Web,,,,,,數(shù)據(jù)獲取,,格式轉(zhuǎn)換,接口,通過(guò)使用軟總線,實(shí)現(xiàn)了對(duì)異構(gòu)數(shù)據(jù)源的集成及轉(zhuǎn)換,最終通過(guò)XML格式與用戶進(jìn)行交互,所以既解決了多數(shù)據(jù)庫(kù)的融合問(wèn)題,同時(shí)解決了終端用戶的系統(tǒng)的異構(gòu)問(wèn)題。,四、基于CORBA(軟總線)的分布式工作流模型,,工作流控 制數(shù)據(jù)庫(kù),,總工作流管理系統(tǒng) (運(yùn)行與企業(yè)總工 作流服務(wù)器),,總公司 數(shù)據(jù)庫(kù),,工
9、作流 數(shù)據(jù),,分布工 作流系 統(tǒng)1,,分布工 作流系 統(tǒng)2,,,分布工 作流系 統(tǒng)n,,工作流 數(shù)據(jù),,應(yīng)用 數(shù)據(jù),,應(yīng)用 數(shù)據(jù),,應(yīng)用系統(tǒng) (CORBA) 封裝的對(duì)象 或組件,,應(yīng)用系統(tǒng) (CORBA) 封裝的對(duì)象 或組件,,用戶1,,用戶n,,,,,,,,,,,,,,,,,,,,圖6 基于CORBA的分布式工作流模型,為什么分層次? 各協(xié)作企業(yè)/部門(mén)都應(yīng)該有自己的工作流管理系統(tǒng)和相應(yīng)的數(shù)據(jù)庫(kù),因?yàn)椋?1.各協(xié)作企業(yè)/部門(mén)是相對(duì)獨(dú)立的尸體,平時(shí)都有自己的經(jīng)營(yíng)與管理流程。如果采用集中模式,用單一工作流與單一數(shù)據(jù)庫(kù)服務(wù)器管理所有企業(yè)的過(guò)程,整合起來(lái)十分困難,不太現(xiàn)實(shí);大量的數(shù)據(jù)存取也會(huì)對(duì)服務(wù)器
10、能力與帶寬提出很高的要求,導(dǎo)致效率低下。 2.各協(xié)作企業(yè)/部門(mén)所承擔(dān)的任務(wù)一般也有一定的獨(dú)立性??梢岳斫?,每個(gè)寫(xiě)作任務(wù)都可劃分為幾個(gè),相對(duì)獨(dú)立的模塊,協(xié)作成員各負(fù)責(zé)一塊是合理的。由于模塊的相對(duì)獨(dú)立性,各企業(yè)/部門(mén)在大多數(shù)情況下可以獨(dú)立運(yùn)行其流程,是在本地?cái)?shù)據(jù)庫(kù)上存取數(shù)據(jù)。這樣效率較高。 對(duì)于跨地區(qū)協(xié)作的企業(yè)聯(lián)盟,需要通過(guò)Internet相互連接,在Internet上訪問(wèn)工作流及其應(yīng)用系統(tǒng),可以瀏覽器Web或Java等圖形界面作為客戶端,通過(guò)CORBA中間層查找相應(yīng)工作流,工作流調(diào)用所需對(duì)象,取得服務(wù),也就是基于CORBA阮總線的3層體系。,,,,,HTML及Forms,Java,C++等 圖
11、形界面,Internet及 TCP/IP,,,,圖7 通過(guò)CORBA訪問(wèn)工作流與應(yīng)用,客戶層,中間層,資源層,,,對(duì)象 服務(wù)器,,Web 服務(wù)器,,CORBA ORB,,,CORBA IIOP,HTTP,基于Web的用戶界面,,應(yīng) 用 服 務(wù) 層,文檔 管理 服務(wù),郵件 管理 服務(wù),共享 白板 服務(wù),圖像 瀏覽 服務(wù),,,工 作 流 運(yùn) 行 環(huán) 境,XML_WPDL,工作流執(zhí)行,管理與監(jiān)控工具,數(shù)據(jù)訪問(wèn)層,,數(shù) 據(jù) 存 儲(chǔ),,過(guò)程定義數(shù)據(jù),,工作流數(shù)據(jù),,用戶數(shù)據(jù),圖8 工作流管理系統(tǒng)結(jié)構(gòu),,,,,,,,,,,,考慮到系統(tǒng)的通用性,客戶端最好使用瀏覽器,由瀏覽器向Web服務(wù)器發(fā)送請(qǐng)求,Web服務(wù)器接受請(qǐng)求后,其Java Servlets即與ORB聯(lián)系,由ORB通知相應(yīng)工作流系統(tǒng)調(diào)用所需的CORBA對(duì)象,取得服務(wù),然后從原路返回結(jié)果。 分布數(shù)據(jù)庫(kù)之間的數(shù)據(jù)通過(guò)XML文件進(jìn)行交換。XML可使用與各種操作系統(tǒng),并得到各大數(shù)據(jù)庫(kù)廠商的支持,即使不同平臺(tái)的數(shù)據(jù)庫(kù),也可通過(guò)XML文件交互數(shù)據(jù)。,進(jìn)度安排,了解工作流管理系統(tǒng)技術(shù)現(xiàn)狀(2004.34) 熟悉Java CORBA及XML(2004. 5) 系統(tǒng)分析、模塊分解(2004.67) 程序設(shè)計(jì)(2004. 89) 程序組裝調(diào)試、修改(2004.10) 論文撰寫(xiě)(2004.11),