資源描述:
《海洋地質(zhì)數(shù)據(jù)訪問中間件設(shè)計和實現(xiàn)》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫。
1、海洋地質(zhì)數(shù)據(jù)訪問中間件設(shè)計和實現(xiàn) 摘要:海洋地質(zhì)數(shù)據(jù)訪問中間件是分布式網(wǎng)絡(luò)環(huán)境中,透明訪問異構(gòu)海洋地質(zhì)數(shù)據(jù)資源的工具,通過以數(shù)據(jù)服務(wù)方式封裝異構(gòu)數(shù)據(jù)源,提供了分布式訪問的標(biāo)準(zhǔn)接口;同時實現(xiàn)了對象和關(guān)系數(shù)據(jù)庫之間的高效映射,使業(yè)務(wù)邏輯層與數(shù)據(jù)存儲有效分離。文章介紹了海洋地質(zhì)數(shù)據(jù)訪問中間件的目標(biāo)功能、框架結(jié)構(gòu)、面向?qū)ο蟮暮Q蟮刭|(zhì)調(diào)查數(shù)據(jù)邏輯模型設(shè)計和對象訪問的接口契約。同時介紹了實現(xiàn)海洋地質(zhì)數(shù)據(jù)訪問中間件的關(guān)鍵技術(shù),包括基于NHibernate實現(xiàn)對象關(guān)系映射、基于WCF實現(xiàn)數(shù)據(jù)服務(wù)的構(gòu)建和托管以及分布式數(shù)據(jù)訪問等。Ab
2、stract:MarineGeologyDataAccessMiddlewarerealizesthemappingofphysicalmodelandstandardizedlogicmodel,realizestheobjecttorelationaldatabasemapping.Itseparatesthebusinesslogicstructureanddatabasestorage,suitsthedistributionapplication,andprovidesperfectserviceforupp
3、erlayerapplication.Thispapermainlyintroducesthefollowingcontents:DemandanalysisforMarineGeologyDataAccessMiddleware,frompurposeandfunction;studyoverallstructureof9MiddlewareofMarineGeologyDatabaseAccess;designofMarineGeologyDatalogicalmodel,definedatacontract,de
4、velopstheMarineGeologyDataAccessMiddlewarebasedon.NETplatform,includingmappingbetweenobjectmodelandrelationmodelbasedNHibernate;realizesconstructionandmanagementofWCFserviceanddistributeddataaccess.關(guān)鍵詞:中間件;對象關(guān)系映射;NHibernate;WCFKeywords:middleware;objectrelationa
5、lmapping;NHibernate;WCF中圖分類號:TP311文獻標(biāo)識碼:A文章編號:1006-4311(2013)26-0181-031系統(tǒng)目標(biāo)與功能數(shù)據(jù)訪問中間件是為了解決分布式網(wǎng)絡(luò)環(huán)境中,透明訪問異構(gòu)數(shù)據(jù)資源而開發(fā)的軟件[1]。海洋地質(zhì)數(shù)據(jù)訪問中間件(marinegeologydataaccessmiddleware,縮寫MGDAM)通過以數(shù)據(jù)服務(wù)[2]方式封裝異構(gòu)數(shù)據(jù)源,提供了分布式數(shù)據(jù)訪問的標(biāo)準(zhǔn)接口,實現(xiàn)了對多種數(shù)據(jù)源的統(tǒng)一訪問;同時針對海洋地質(zhì)調(diào)查數(shù)據(jù)[3]實現(xiàn)了應(yīng)用領(lǐng)域中對象實體及屬性與關(guān)系數(shù)據(jù)庫中
6、的關(guān)系表及數(shù)據(jù)之間的相互映射,從而使該中間件的使用者能夠直接面對業(yè)務(wù)模型,以面向?qū)ο蟮姆绞竭M行業(yè)務(wù)實體的操作。9MGDAM要能滿足以下功能需求:①利用合適的分布式數(shù)據(jù)訪問方法和數(shù)據(jù)提供方式,實現(xiàn)對不同單位海洋地質(zhì)數(shù)據(jù)的分布式訪問。②為上層業(yè)務(wù)應(yīng)用提供統(tǒng)一的業(yè)務(wù)模型。③解決面向?qū)ο蟮拈_發(fā)和關(guān)系數(shù)據(jù)存儲間的不匹配問題,實現(xiàn)對象關(guān)系映射(O/R-M)[4]。同時,基于合適的對象關(guān)系映射工具,能自動生成代碼,減少開發(fā)工作量。④能快速適應(yīng)數(shù)據(jù)源的變化。⑤主要滿足用戶信息查詢的需求,不涉及進行數(shù)據(jù)的修改。2系統(tǒng)設(shè)計2.1系統(tǒng)架構(gòu)設(shè)
7、計MGDAM的框架結(jié)構(gòu)如圖1所示,MGDAM位于異構(gòu)數(shù)據(jù)源系統(tǒng)(數(shù)據(jù)層)和應(yīng)用程序(應(yīng)用層)之間,向下協(xié)調(diào)各數(shù)據(jù)源系統(tǒng),向上為訪問集成數(shù)據(jù)的應(yīng)用提供統(tǒng)一數(shù)據(jù)模式和數(shù)據(jù)訪問的通用接口[5]。其中數(shù)據(jù)層是實際的物理數(shù)據(jù)存儲,主要是各類關(guān)系型數(shù)據(jù)庫,包括Oracle、SQLServer、Access,提供關(guān)系數(shù)據(jù)模型,以關(guān)系表、字段、記錄等方式提供數(shù)據(jù)。應(yīng)用層是各種應(yīng)用程序,包括WEB應(yīng)用程序、WinForm應(yīng)用程序等。MGDAM內(nèi)部自下而上又可以分為四個邏輯層次:持久化層、業(yè)務(wù)模型層、數(shù)據(jù)服務(wù)層、服務(wù)管理層。9持久化層[6
8、]提供對象關(guān)系映射框架,實現(xiàn)對象關(guān)系映射機制;由于本項目是基于.net進行開發(fā),則采用基于.NET的ORM映射工具NHibernate[7],利用NHibernate自動生成SQL去從數(shù)據(jù)庫存取對象。業(yè)務(wù)模型層調(diào)用持久層以實現(xiàn)業(yè)務(wù)對象的持久化,提供映射后的業(yè)務(wù)對象模型,業(yè)務(wù)對象模型是統(tǒng)一邏輯模型的子類,符合邏輯模型定義,為數(shù)據(jù)服務(wù)