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