




已阅读5页,还剩61页未读, 继续免费阅读
(机械制造及其自动化专业论文)基于nhibernate技术的网络培训平台的研究与设计.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要 摘要 随着计算机技术的发展和互联网的普及,人们已经进人了e 时代,也有人叫 信息时代或者数字化时代。在数字化的网络环境下,学生希望得到个性化的满足, 根据自己的情况进行学习。老师希望有效改进现有的教学模式,提高工作效率和 学生学习的积极性。e l e a r n i n g 系统正是为了迎合这一市场需求,以互联网为基 础,冲破传统教育教学理念和教学方法的束缚而提出的新的学习系统。而现如今 各种各样的e l e a r n i n g 系统充斥着市场,水平参差不齐,因此有一个好的设计理 念和过硬的技术支持是保持系统先进性所不可缺少的。 本论文运用对象关系映射的总体解决方案。对象关系映射是面向对象设计中 一项重要的技术,而n h i b e m a t e 是一个面向n e t 平台的对象关系映射的一个重 要应用。本论文封装n h i b e r n a t e 为数据持久层并对其性能作了优化,应用 n h i b e m a t e 来管理n e t 类到数据库表的映射,也用它来实现操作数据的方法。 本论文首先介绍了与课题相关的技术,然后阐述了o r 映射机制和基于n e t 平台的n h i b e m a t e 技术,分析和研究了如何利用该持久化技术开发系统,设计 并实现e l e a m i n g 系统。本系统不仅仅为学生提供更灵活的教学,由于其资源更 开放,设计和扩展更灵活,所以可以广泛地应用于企业培训,是一个电子商务性 质的e l e a m i n g 培训平台。是一个可以支持多家企业或学校同时进行培训的平 厶 口。 本系统设计并实现了e l e a r n i n g 系统。在客户端,用户可以在该系统中自助 注册,自助购买,自助学习,自助测试,自助答疑。资源呈现多媒体化、非线性、 立体化等特点,形成一个高度集成的资源库,这些资源对所有人都是开放的,用 户在这里的学习是一站式全自助的。在管理端,管理员可以搭建符合自身需求的 在线培训平台,可以对培训工作进行统一规划、统一实施、统一制定策略、统一 考核标准,并能够迅速的了解到每个部门、每个用户具体的学习情况。同时,管 理员可以个性化的管理课程,分布式的管理课件,灵活的设置考试规则,系统也 提供高效灵活的优惠策略,学习进程跟踪与报告,培训效果评估,教师辅导等功 能。该平台是一个以用户需求为中心,能根据不同的用户需求制定不同的培训方 案,并且能广泛的应用于电子商务的一个e l e a m i n g 培训平台。 关键词e - l e a r n i n g ;n h i b e m a t e ;网络培训;o r m ;企业培 j i a b s t r a c t i 量曼曼曼曼曼曼皇曼量量舅曼皇曼曼量蔓曼量皇曼鼍量曼曼曼曼曼曼曼量鼍曼皇曼曼曼曼曼曼曼曼曼曼曼皇曼曼曼曼曼曼曼曼曼曼量曼曼曼曼曼鼍曼曼鼍曼曼曼曼皇曼曼曼曼 a bs t r a c t w i t ht h ed e v e l o p m e n to fc o m p u t e rt e c h n o l o g ya n dt h ep o p u l a r i t yo ft h ei n t e r n e t , p e o p l eh a v eb e e ni n t ot h ee t i m e i tw a sa l s oc a l l e dt h ei n f o r m a t i o na g eo rt h ed i g i t a l a g e i nt h ed i g i t a ln e t w o r ke n v i r o n m e n t , s t u d e n t sh o p et ob ep e r s o n a l i z e dt om e e t , a c c o r d i n gt ot h e i ro w nc o n d u c ts t u d y t e a c h e r sh o p et oi m p r o v et h ee x i s t i n ge f f e c t i v e m o d e so ft e a c h i n g ,i m p r o v ew o r ke f f i c i e n c ya n dt h ee n t h u s i a s mo fs t u d e n t ss t u d y i n g e l e a m i n gs y s t e mi si no r d e rt om e e tt h i sm a r k e td e m a n d ,i n t e m e t b a s e d ,t ob r e a k t h r o u g ht h et r a d i t i o n a le d u c a t i o nt e a c h i n gp h i l o s o p h ya n dt e a c h i n gm e t h o d so f r e s t r a i n ta n dt h en e w l e a r n i n gs y s t e m i nt h i sp a p e r , t h et o t a ls o l u t i o ni so b j e c t - r e l a t i o n a lm a p p i n g o b j e c t - r e l a t i o n a l m a p p i n ga n do b j e c t - o r i e n t e dd e s i g na r ei m p o r t a n tt e c h n o l o g i e s ,a n dn h i b e m a t ei sa n i m p o r t a n ta p p l i c a t i o nb a s e do nd o t n e tp l a t f o r m i nt h i sp a p e r , p a c k a g i n gn h i b e m a t e f o rd a t a p e r s i s t e n c el a y e ra n dm a d et oo p t i m i z e i t sp e r f o r m a n c e ,t om a n a g e n h i b e r n a t ea p p l i c a t i o n sd o t n e tt y p et ot h ed a t a b a s et a b l em a p p i n g ,b u ta l s ou s ei tt o a c h i e v et h eo p e r a t i n gd a t a t h i sp a p e rf i r s ti n t r o d u c e dt h et e c h n o l o g ya n dr e l a t e dt o p i c s ,a n dt h e no no r m m e c h a n i s ma n dn h i b e r n a t et e c h n o l o g yb a s e do nd o t n e tp l a t f o r m ,t oa n a l y s i sa n d r e s e a r c ho nh o wt ou s et h e p e r s i s t e n tt e c h n o l o g yt od e v e l o pd e s i g n e d a n d i m p l e m e n t e de - l e a r n i n gs y s t e m t h es y s t e mn o to n l yp r o v i d e ss t u d e n t sw i t ham o r e f l e x i b l et e a c h i n gr e s o u r c eb e c a u s eo fi t sm o r eo p e n ,m o r ef l e x i b l ea n ds c a l a b i l i t y ,i t c a nb ew i d e l yu s e di nc o r p o r a t et r a i n i n g i tc a ns u p p o r tm o r et h a no n eb u s i n e s so r t r a i n i n gs c h o o lo ft h ep l a t f o r ma tt h es a m et i m e t h es y s t e md e s i g n e da n di m p l e m e n t e de - l e a r n i n gs y s t e m a tt h ec l i e n t ,t h eu s e r c a nb er e g i s t e r e di nt h es y s t e ms e l f - h e l p ,s e l f - p u r c h a s e ,s e l f - s t u d y , s e l f - t e s t i n g , s e l f - s e r v i c ea n dq & a r e s o u r c e so fam u l t i m e d i a , n o n l i n e a r , t h r e e - d i m e n s i o n a l c h a r a c t e r i s t i c so fah i g h l yi n t e g r a t e dl i b r a r yo fr e s o u r c e s ,t h e s er e s o u r c e sa r eo p e nt o a l lu s e r so ft h el e a r n i n gh e r ei sao n e - s t o p w i d es e l f - h e l p i nt h em a n a g e m e n ts i d e , a d m i n i s t r a t o r sc a ns e tu pt h e i ro w nn e e d si nl i n ew i t ht h eo n l i n et r a i n i n gp l a t f o r mt h a t c a nw o r ko nt h et r a i n i n go fu n i f i e d p l a n n i n ga n di m p l e m e n t a t i o no fau n i f i e dt r a i n i n g , u n i f o r ma s s e s s m e n ts t a n d a r d s ,a n db ea b l et o q u i c k l yu n d e r s t a n d t h a t e v e r y d e p a r t m e n t ,e v e r ys t a f fs p e c i f i cl e a r n i n g a tt h es a m et i m e ,a d m i n i s t r a t o r sc a n m a n a g ep e r s o n a l i z e dc o u r s e s ,d i s t r i b u t e ds o f t w a r em a n a g e m e n t ,af l e x i b l es e to ft e s t r u l e s ,t h es y s t e ma l s op r o v i d e sah i g h l ye f f i c i e n ta n df l e x i b l eb e n e f i t ss t r a t e g y , l e a r n i n gt h ep r o c e s so ft r a c k i n ga n ds oo n t h ep l a t f o r mc a nb ew i d e l yu s e da sa p l a t f o r mf o re l e a r n i n gs y s t e m ,t ou s e rn e e d sa st h ec e n t r a l ,a c c o r d i n gt ot h en e e d so f d i f f e r e n tu s e r s ,i tc a n d e v e l o p m e n td i f f e r e n tt r a i n i n gp r o g r a m s k e yw o r d se l e a r n i n g ;n h i b e m a t e ;t r a i n i n gp l a t f o r m ;c o r p o r a t et r a i n i n g l i 独创性声明 本人声明所呈交的论文是我个人在导师指导下进行的研究工作及取得的研 究成果。尽我所知,除了文中特另l i d l :i 以标注和致谢的地方外,论文中不包含其他 人已经发表或撰写过的研究成果,也不包含为获得北京工业大学或其它教育机构 的学位或证书而使用过的材料。与我一同工作的同志对本研究所做的任何贡献均 已在论文中作了明确的说明并表示了谢意。 签名:砀9 毒燕l日期:二竺7 f 、_ 妒 关于论文使用授权的说明 本人完全了解北京工业大学有关保留、使用学位论文的规定,即:学校有权 保留送交论文的复印件,允许论文被查阅和借阅;学校可以公布论文的全部或部 分内容,可以采用影印、缩印或其他复制手段保存论文。 ( 保密的论文在解密后应遵守此规定) 签名:叠壁:庭,导师签名天奎i 銎日期:銎蚴 第1 章绪论 1 1 背景及其意义 第1 章绪论 1 1 1 课题背景 随着i n t e r n e t 的快速发展和普及,以及教育的全球化和由此带来的教育竞争 的加剧,基于w e b 的e l e a r n i n g 系统已经成为许多大学和教育机构实施现代远 程教育的重要手段。e l e a r n i n g 的飞速发展过程中也还存在着一系列的问题: 利用旧有系统提供的开发工具进行学习资源开发,导致市场上的一些更强大 的新工具无法使用,使得资源的重用仅限于系统内部;不同厂家的e l e a r n i n g 系统软件之间无法实现数据交换,特别是表示学习内容的数据;传统的 e l e a r n i n g 平台不能提供教育中所需要的灵活性,表现在平台是集中式的、只能 提供预先定义好的课程内容,用户在同一门课程中不能选择不同形式、不同作者 的内容;系统功能没有实现重用,增大了系统开发的成本,降低了开发效率;平 台性不强,每个e l e a r n i n g 系统只能服务于一个学校或者一家培训机构,不能服 务于多家。 1 1 2 课题研究意义 e l e a m i n g 系统已经在教育领域较为广泛地应用。但是目前的e l e a r n i n g 系 统仍然存在着上述的诸多问题,针对上述问题,本文提出了基于o r m 的解决方 案。着重解决了以下问题: 能够很好的利用以前的资源,系统有很好的导入导出功能,使得以前的资源 能够得到重复利用;不同厂家的资源可以共享。资源可以放在不同厂家的服务器 上,增加了资源的安全性;增加了平台的灵活性,学生可以随意购买自己感兴趣 的课程。整个平台的服务对象不是唯一的,任何一个培训机构或者学校都可以到 此平台上进行培训;减少了系统对数据库的依赖性。由于o r m 技术使得系统对 数据库的依赖性大大降低【l 】,从而也提高了数据的安全性。 1 2 研究现状和发展趋势 一 1 2 1国外现状 国外企业e l e a r n i n g 产业自1 9 9 9 年起开始迅速发展。据b e e s i n & a s s o c i a t e s 发布的2 0 0 4 年度企业e l e a r n i n g 分析报告,2 0 0 4 年企业e l e a r n i n g 市场增长迅 速。互联网技术在培训中的应用得到了长足的发展,目前超过2 0 的公司培训采 用了在线模式,整个e l e a r n i n g 市场,包括培训内容、服务和技术产品,市场总 额己经达到了1 2 0 1 4 0 亿美元,己经形成了比较成熟的e l e a r n i n g 产业。 北京t 、l k 大掌1 2 _ 学硕l j 学位论文 一些组织和公司开发出了e l e a r n i n g 的学习系统如i b ml o t u sl m s 、o r a c l e l e a n r i n g 、w e bc t 、b l a c k b o a r d 、三星e c a m p u s ,也出现了一些e l e a r n i n g 内 容提供商如s m a r t f o r c e 、s k i l l s o f i 、n g e t 等等。许多跨国公司都依托e l e a r n i n g 建 立了企业大学或公司的培训系统,如o r a c l e 公司依托自己开发的e l e a r n i n g 学 习管理系统同时为甲骨文公司4 万多员工及5 0 万事业伙伴提供服务;i b m 大约 有3 0 万人通过i b m 全球性大学进行在线培训与学习;c i s c o 推出了“合作伙伴 在线学习网站”,使全球所有的合作伙伴都受益于这种最新的技术和新型培训方 式;摩托罗拉公司成立了享誉全球的企业大学一摩托罗拉大学,在全球2 4 个国 家开设了1 0 0 个分校。 一些行业组织和国际标准化组织开展了e l e a r n i n g 的标准的研究,制定了 e l e a r n i n g 的一些技术标准,如a i c c ( a v i a t i o n l n d u s t r yc o m m i t t e e ) a g r 规范、 a d l ( a d v a n c e d d i s t r i b u t e d l e a r n i n g ) 的s c o r m 标准、i m s ( i n s t r u c t i o n a l m a n a g e m e n ts y s t e m s ) 的元数据规范、i e e e l t c s 的1 4 8 4 标准、i s o - j t c i s c 3 6 的标准等等。 同时,建构主义、情境学习、协作学习等学习理论也逐步应用到e l e a r n i n g 当中,知识管理在企业中的应用逐步得到了重视,理论研究较为深入,但通过研 读这些文献及其它一些资料,发现,相关的研究特别是有关e l e a r n i n g 的学习模 式的研究,是基本上建立在西方的学习文化和教育文化之上的,我国的教育文化 和学习文化与之有较大差别,简单地照搬和套用 可能并不适合我们的实际,我们必须从本国的学习文化和教育文化入手,借 鉴国外己有的研究成果,在开展企业e l e a r n i n g 培训实践的基础上,研究的结论 会更有价值和意义。 作为美国教育行业网络教育解决方案的最大供应商3 c o m 公司早在两年前 就针对教育信息化市场进行深人调研,着手开发电子教育解决方案,并于今年发 布了m e d i ae a s e e 一教育解决方案。这一创新的集成化解决方案包含有一整套专 为采用r i c hm e d i a 多媒体内容来进行学习而设计的软件与硬件产品,它充分利 用计算机网络来增加教育的价值与含金量。该解决方案系统的设计基于现代教育 理论,包括了当今教育界先进的教学方法、教学技术以及教育思想,使教育者能 够根据不同学习者各自的学习目标制定不同的教学计划。这套解决方案将教与学 的过程从以教师为中心逆转为以学生为中心,它可以为各类教学者们提供r i c h m e d i a 格式的各种有用的教学资料,从而建立起一个各类教育资源共享的教育社 区。 综上所述,外国企业e l e a r n i n g 培i ) i i 的良好发展势头,为我们开展研究创造 了很好的基础,若是在已有研究成果的基础上,结合企业e l e a r n i n g 培训的实践, 从知识管理和绩效技术的视角探讨企业e l e a m i n g 培训,会对我国企业开展 第l 覃绪论 e l e a r n i n g 培训提供可借鉴的建设性意见。 1 2 2 国内现状 中华会计网校( w w w c h i n a a c c e o m ) 是国内权威、专业的会计远程教育网站, 也是联合国教科文组织技术与职业教育培训在中国的试点项目。自0 2 成立以来, 中华会计网校已经拥有注册学员数百万,连续6 年被评为“十佳网络教育机构, 被亲切地誉为“会计人的网上家园”。 网校的系统建设主要包括学员管理模块,虚拟多媒体课堂模块,在线教学答 疑模块,学员交互交流模块、实时在线语音教学模块等1 3 个模块,紧密集成为 了一个完整的多媒体网络远程教育系统。 不过,该会计远程教育网站的专业过于集中,仅限于会计等相关专业进行网 络培训。扩展性不强,不能为其他行业提供更好、更广泛的网络培训。 3 c o m 公司已与中国教育电子公司、中国宏观经济信息网联手为“校校通 工程和远程教育提供了全面的解决方案。这次在3 c o m 推出的 m e d i a e a s e e e d u c a t i o n 解决方案平台之上,中国教育电子公司和中国宏观经济信 息网,将作为3 c o m 这一教育解决方案的重要战略合作伙伴,共同开发适合中国 本土的应用,服务中国广大的教育信息化市场。中国教育电子公司是国内致力于 教育信息化的排头兵,该公司开发了大量的教育软件与教学资源库,这次将实现 与3 c o m 资源的全面整合,打造符合中国国情的高质量电子教育系统。 3 c o m 的m e d i a e a s e 解决了在窄带线路上运行宽带应用的难题,并通过合理 的逻辑架构来达到这一点。这套教育解决方案的逻辑架构主要分为四个部分。 ( 1 ) 中心业务点中心业务点指的是那些位于学区一级的、托管着各类应用 并存储着学校中继点需要的多媒体内容的服务器或其他设备。 ( 2 ) 中继点指学校中的流媒体服务器和w e b 服务器,其上存储着浏览点保 留的或计划使用的多媒体内容,并负责将内容传送给浏览点。 ( 3 ) 浏览点学校用来浏览点继点上存储着的r i c h m e d i a 多媒体信息的p c 机。教师们还可以利用浏览点在其上设计、保留或预定授课内容和考试内容。浏 览点可以位于学区内,也可以位于学区外。 ( 4 ) 管理点系统管理员用来对m e d i a e a s e 教育解决方案进行远程管理的计 算机。 1 2 3 未来发展趋势 1 2 3 1 与传统教育的结合e l e a r n i n g 完全取代传统的课堂教学是不现实的, 传统课堂教学在知识传授、社会性、互动性方面具有巨大优势,e l e a r n i n g 需要 不断与传统教学相互碰撞,在碰撞中逐步融合,在融合中不断补充和完善。“中 华会计网校”的实验班管理模式就是很好的例子。 北京t 业人学下学硕l :学位论文 1 2 3 2专业化程度加大随着产业、行业培训网将的大量出现,要求 e l e a r n i n g 网站高度专业化,走行业办学的道路。定制、特色、服务是培训质量 的内涵,创造属于网站的特色和品牌是e l e a r n i n g 的出路。 1 2 3 3非学历教育比例将会增大 随着终身学习的呼声越来越高,人们对网 上非学历教育的需求也越来越大。非学历网络教育作为一个现实、稳定并会持续 增长的经济增长点,也受到众多教育机构和企业的追逐。但我国现代远程教育还 处于起步阶段,没有经验可循,需要借鉴国外的经验。 1 3课题来源 北京麦格特科技发展有限公司是一家从电子培训的高科技公司。本课题是以 北京麦格特科技发展有限公司与北京工业大学c a d c a m 中心合作开发的大训 网络培训平台为背景的横向课题。本课题研究了在e l e a r n i n g 系统中基于n e t 平台o r m 技术- n h i b e r n a t e 的应用。 1 4主要技术和组织结构 本论文基于n e t 平台,采用o r m 技术详细阐述了e l e a r n i n g 系统的设计 与实现,并基于面向对象的思想,采用三层架构设计实现了电子培训系统,在持 久层采用n h i b e r n a t e ,屏蔽了底层细节,提高了系统的可移植性和扩展性。本文 的组织结构如下: 介绍了本文的研究背景,相关领域的研究现状和发展趋势;介绍了网络培训 平台的总体设计方案;介绍了n h i b e m a t e 在n e t 开发中的分析与研究;重点分 析了n h i b e r n a t e 技术在电子培训平台中的应用;对全文研究的总体结论并对今 后的研究工作进行了展望。 4 第2 章网络培训平台的总体设计方案 第2 章网络培训平台的总体设计方案 鉴于第一章对e l e a r n i n g 系统的现状分析和分析得出的优缺点,本系统采用 总体解决方案为o r m 技术,基于n e t 的平台,实现了n h i b e r n a t e 的应用。 对象关系数据库映射( o b j e c t r e l a t i o n a lm a p p i n g ( o r m ) ) 这个术语表示一种 技术,用来把对象模型表示的对象映射到基于s q l 的关系模型数据结构中去【2 】。 在今日的企业环境中,把面向对象的软件和关系数据库一起使用可能是相当麻 烦、浪费时间的。n h i b e m a t e 是个面向n e t 环境的对象关系数据库映射工具【3 】。 n h i b e m a t e 除了能将一张表映射为一个对象,还可以将表间关系变为对象的 属性。例如学生和课程间的多对多关系就可以转化为学生类中的一个课程集合的 属性。由此可见,n h i b e m a t e 不仅仅管理n e t 类到数据库表的映射,还提供数 据查询和获取数据的方法。因此采用n h i b e r n a t e ,可以大幅度减少开发时人工使 用s q l 处理数据的时间。 2 1 对象关系映射基本概念 对象关系映射( o b j e c tr e l a t i o n a lm a p p i n g ,简称o r m ) 是一种为了解决面 向对象与关系数据库存在的互不匹配的现象的技术【4 】。简单的说,o r m 是通过 使用描述对象和数据库之间映射的元数据,将程序中的对象自动持久化到关系数 据库中。本质上就是将数据从一种形式转换到另外一种形式。这也同时暗示者 额外的执行开销;然而,如果o r m 作为一种中间件实现,则会有很多机会做优 化,而这些在手写的持久层并不存在。更重要的是用于控制转换的元数据需要 提供和管理;但是同样,这些花费要比维护手写的方案要少;而且就算是遵守 o d m g 规范的对象数据库依然需要类级别的元数据。 对象关系映射,是随着面向对象的软件开发方法发展而产生的。面向对象 的开发方法是当今企业级应用开发环境中的主流开发方法,关系数据库是企业级 应用环境中永久存放数据的主流数据存储系统。对象和关系数据是业务实体的两 种表现形式,业务实体在内存中表现为对象,在数据库中表现为关系数据。内存 中的对象之间存在关联和继承关系,而在数据库中,关系数据无法直接表达多对 多关联和继承关系。因此,对象关系映射( o r m ) 系统一般以中间件的形式存在, 主要实现程序对象到关系数据库数据的映射。 面向对象是从软件工程基本原则( 如耦合、聚合、封装) 的基础上发展起来的, 而关系数据库则是从数学理论发展而来的,两套理论存在显著的区别。为了解决 这个不匹配的现象,对象关系映射技术应运而生。 o r ,字母0 起源于“对象 ( o b j e c t ) ,而r 则来自于“关系”( r e l a t i o n a l ) 。 几乎所有的程序里面,都存在对象和关系数据库。在业务逻辑层和用户界面层中, 北京t 业大学1 - 掌坝十学位论文 是面向对象的。当对象信息发生变化的时候,需要把对象的信息保存在关系数据 库中。 当开发一个应用程序的时候( 不使用o r m ) ,可能会写不少数据访问层的代 码,用来从数据库保存,删除,读取对象信息,等等。在d a l 中写了很多的方 法来读取对象数据,改变状态对象等等任务。而这些代码写起来总是重复的。 如果打开最近的程序,看看d a l 代码,肯定会看到很多近似的通用的模式。 以保存对象的方法为例,传入一个对象,为s q l c o m m a n d 对象添加s q l p a r a m e t e r , 把所有属性和对象对应,设置s q l c o m m a n d 的c o m m a n d t e x t 属性为存储过程, 然后运行s q l c o m m a n d 。对于每个对象都要重复的写这些代码。 除此之外,还有更好的办法吗? 有,引入一个o r m 。实质上,一个o r m 会为生成d a l 。与其自己写d a l 代码,不如用o r m 。用o r m 保存,删除, 读取对象,o r m 负责生成s q l ,只需要关心对象就好。 对象关系映射成功运用在不同的面向对象持久层产品中,如:t o r q u e ,o j b , h i b e m a t e ,t o p l i n k ,c a s t o rj d o ,t j d o 等。 一般的o r m 包括以下四部分:一个对持久类对象进行操作的a p i ;一个 语言或a p i 用来规定与类和类属性相关的查询; 一个规定m a p p i n gm e t a d a t a 的 工具;一种技术可以让o r m 的实现同事务对象一起进行d i r t yc h e c k i n g ,l a z y a s s o c i a t i o nf e t c h i n g 以及其他的优化操作。 2 2 面向对象设计的持久化问题 如今大多数编程语言都是基于面向对象的模型,该模型很好的抽象了真实世 界问题域,对现实数据实现了易于理解的自然描述。对于实际应用中需要处理的 数据的存储方式,现在多数是采用关系型数据库。但面向对象的模型遵循的一些 软件工程原理如封装、关联、聚合、继承、多态等与关系数据库遵循的关系数学 理论产生的不匹配使得在持久化对象的过程中遇到了许多困难。在面向对象的开 发中,数据访问层最基本的数据操作包括插入对象、删除对象、更新对象和查询 对象。几乎所有的系统分析是软件工程的重要阶段,是所有开发的依据。在系统 分析阶段,通过对系统的综合研究,对问题域进行抽象,准确的理解系统需求和 系统内部运行机制,有助于准确地掌握系统的需求,从而正确地定义问题域,确 定软件开发的具体内容。通过系统分析,要完成确定系统需求的内容、确定所有 涉及到的要素、为当前需要解决的问题建立相应的模型等工作,做到充分理解用 户对系统的需求。 对于具体的系统实现,需要相应的技术上的实现方法,先从更广义的持久层 的实现来考虑。如图2 1 所示,可以看到持久层的层次。 ( 1 ) 表现层用户接口逻辑在最上层。这里的代码负责页面的呈现与控制, 页面导向。 第2 章网络培训平台的总体设计方案 ( 2 ) 业务层这一层广泛的分布在应用程序中。通常认为业务层实现业务逻 辑,或者是问题领域中能被用户理解的系统需求。在有些系统中,业务曾有自己 的内部实现,采用业务领域对象。而大部分的,会使用持久层的模型。 ( 3 ) 持久层持久层是一组类或者组件,这些类或者组件负责数据读取这一 层需要包括业务层的实体。 ( 4 ) 数据库层数据库在应用程序之外,持久地表现着系统状态。 ( 5 ) 帮助m 具类每个应用程序都有一系列的基本的帮助类和工具类在所 有层次中都被使用。这些基础类并不属于某个层次,因为这些类并不遵守某一层 的标准。 图2 - 1 持久层在数据厍中的层次 f i g u r e2 - 1l a s t i n gl e v e li nd a t a b a s e 对象模型与关系数据库模型各自理论出发点是不同的:对象模型的理论体系 可以简单归结为两点:以对象看待世界及对象间关系( 继承,关联,聚合,组合) 维系着整体构成。 而关系数据库模型唯一出发点是有效储存数据,主键是数据库的关键技术, 关系在这里只是各个数据表的主键之间的关联,这种关联应该称之为数据的关 联,其表达的意义远远没有对象之间的关联那么深广。因此,如何在对象和关系 数据库之间建立一种满意的映射关系是持久层设计的关键问题。现实的情况是很 难做到把关系表记录完整的映射到持久对象的关系上来,这主要体现在多表的关 系无法直接映射到对持久对象的映射上来,可能是一个表映射多个持久对象,有 可能是多个表映射一个持久对象,更有可能的是表的某些字段映射到一个持久对 象,但是另外一些字段映射到别的持久对象上。而且即使这些问题都处理好了, 也不能直接按照对象的方式来对持久对象( p e r s i s t e n to b j e c t ) 编程,因为存在1 : n 关系的持久对象的查询其实就是l + n 次对数据库的查询,结果是对某个关联很 北京t 业大学 学坝十学位论文 多其他持久对象的p o 查询速度非常慢,最后不得不整个修改底层设计,最后等 于是完全抛弃了对象设计,完全是按照表字段进行操作。这样做的结果是使程序 设计人员非常难受,因为系统的设计是从需求设计,系统设计这样自顶而下的, 结果到了详细设计阶段,却被持久层映射问题限制,不得不自底向上修改设计方 案,又回到了按照过程进行编程的老路上来,背离了面向对象的程序设计思想。 这其实是一个很经典的问题:对象和关系的映射问题。实际上自从o o p 编程流 行以后,就存在这个难题了,所以才有人提出关系数据库进行重新设计,改用对 象数据库,但实际上关系数据库仍然是存储数据的主要形式,于是就只能在上层 的应用层找解决方案。这就是对o r m 策略和技术的研究。 2 3对象关系映射技术 2 3 1j a v a 阵营 由于j a v a 天生的面向对象特性,使用o r m 技术便是顺理成章的了。出身名 门的e j b ,功能强大但是过于复杂,学习及使用成本都很高,因此它仅仅适合大 型企业应用。j d o 则简单易用,无需编写大量的接口,但是由于利益的原因,i b m 、 o r a c l e 、b e a 三大巨头都不支持j d o ,所以它的发展也就受到了阻碍。 作为开源软件的h i b e r n a t e 则是对j b d c 进行了轻量级的对象封装【5 】,使得 j a v a 程序员在使用面向对象编程思维来操纵数据库时能够得心应手。h i b e r n a t e 是一个独立的框架。不需要任何应用服务器的支持,只需要一个配置文件和对应 于持久类的映射文件即可实现o r m 功能。h i b e r n a t e 使用一种类似s q l 的h q l 语言来加强其功能。 h i b e r n a t e 可以应用在任何使用j b d c 的场合,即可以在j a v a 的客户端程序 使用【6 】。也可以在s e r v l e t j s p 的w e b 应用中使用,h i b e r n a t e 支持e j b 标准,因 此在中小应用中非常普及。 2 3 2 n e t 阵营 n h i b e r n a t e 是一个基于n e t 的针对关系型数据库的对象持久化类库。 n h i b e m a t e 是从j a v a 中的h i b e r n a t e 移植而来,相对于其它的o r m 组件拥有更 成熟的思想与构架。n h i b e r n a t e 从数据库底层来持久化n e t 对象到关系型数据 库而不需要书写s q l 去从数据库存取对象。代码仅仅和对象关联,n h i b e r n a t e 会自动产生s q l 语句,并确保对象提交到j 下确的表和字段中去。n h i b e m a t e 在 灵活性上也具有其它组件不可比拟的优势,因此应用范围非常广泛。 e n t i t y b r o k e r 是一个相对比较好的组件,它的特色在于对c o m + 事务的支持, 这一点是大多数o r m 组件没有做到的。x p o n e t ,g e n t l e n e t 等也是一个比较 不错的组件。 第2 章网络培训平台的总体设计方案 微软在n e t 产品里曾经计划开发自己的o r m 工具o b j e c t s p a c e ,后来演变 成了d l l n q 。在微软发布的文档里对其做了如下定义:n e tl a n g u a g ei n t e g r a t e d q u e r yf o rr e l a t i o n a ld a t a ”,其调用数据的语言结构跟n e t 语言非常类似,只是 加上了很多数据库对象的特性。d l i n q 是一种中间语言,最终将通过重编译成 s q l 语言提交给数据库服务器。 2 3 3b o r l a n d 阵营 b o r l a n d 公司自己的产品b o l d 是w i n d 3 2 平台下的o r m ,国外有很多 d e l p h i 程序员在使用它。e c o 的前身是b o l df o rd e l p h i ,现在应用于n e t 。它结 合了o c l 语言,利用t o g e t h e r 工具,把r a d 和u m l 建模溶合在一起,在一定 程度上实现了m d a 。因此,e c o 的思想比起前面提到的一些o r m 产品要先进 许多,但同时也增加了学习的难度。例如使用者必须深刻了解u m l 及一定的设 计模式概念才可以真正掌握它。由于资料相对较少,这些开发工具在国内应用的 较少。 2 4对象关系映射优点 在实际的开发中,真正对客户有价值的是其独特的业务功能,而现在的现状 是花费了大量的时间在编写数据访问的方法,包括后期的b u g 查找,维护等也 会花费相当多的时间在数据处理上。这就是说,在实际的开发中很多的时间都被 浪费在根本不创造价值的非业务事件上了。在使用o r m 之后,将不需要再浪费 太多的时间在数据访问操作上。o r m 框架已经把数据库转变成了熟悉的对象, 将只需要了解面向对象开发就可以实现数据库应用程序的开发。 通过建立o r m 系统,能够大量减少程序开发代码,实现o r m 后,开发数 据访问层就比较简单,大大减少了出错机会。同时通过实现c a c h e ,能够对性能 进行调优,实现了o r m 隔离了数据访问层和业务层之间的关系,能够对每一层 进行单独跟踪,增加了性能优化的可能。可以很方便的更改数据库。利用o r m 可以将业务层与数据访问层分开【7 】,开发人员不需要关心对象实际的存储方式, 如果需要把s q ls e r v e r 数据库换成o r a c l e 数据库,只需要修改配置文件就可以, 不必修改数据访问层。 2 5 网络培训平台o r m 的实现 根据o r m 的总体设计方案,大训网络培训平台的关系对象模型设计如图2 2 所示。 2 6 本章小结 本章主要介绍了对象关系映射的概念,面向对象设计的持久化问题,以及目 前存在的各种o r m 技术的对比,通过对o r m 技术优点的分析,从而确定为什 北京1 = 业人学t 学硕 :学位论史 量皇曼舅曼曼曼量曼曼曼量鼻舅量量曼曼量黑罾鼍曼鼍曼曼曼曼曼曼! 曼曼曼曼曼曼曼曼曼曼曼曼量曼曼曼皇曼曼曼曼曼曼! 曼曼曼曼曼曼曼曼曼曼曼曼曼m 么该系统要运用n h i b e m a t e 技术来实现网络培训平台的设计与实现。 鞭 甚韬猫函溺碉 豳塑夔巫匦圃 多0 矗l f d 沁s l u d y g r o u p l 塑耍匿匦逦巫鳓 西孵霸糍葡戮滋毓而i 溺 祝搦丰f | 爰 移糍 d b o c p , , o o 黼o u e s l i o n l 穆莎蘸西繇嚣碌i 两滋i 诵 舞趁爱【d 籼) q a q u e 曩l * d n j 至塑疑鳓鳜薹藕匣 雾丽滋瓣滋隧霜弱i 茹矿 匿叠圣剐耍丽黼两 薹照曛辜鳓净 蛩塑堂苎瞪归 獭獭麟塑 翌垂匿窭硒殛戛鳓 试卷铪饩是【矗抽。s t u c t 秘 甄丽藕西猫螨磊蔽两油 d ! ! 里墨l 羔堕:壁! ! 堕掺 瓣鞘硬新孺可暖矿蕊丽万磊丽蕊逆磁溺 j 亿照是 d b o ,a c c o “n l | n f o l 履塑殛鳓 避垂蛹凰墨鱼垂必 图2 - 2o r m 总体设计 f i g u r e2 - 2o r ms y s t e md e s i g n 1 0 第3 章n h m e r n a t e 在n e t 开发中的分析与研究 第3 章n h i b e m a t e 在n e t 开发中的分析与研究 n h i b e m a t e 是基于n e t 的o r m 持久层框架,它从基于j a v a 的h i b e r n a t e 项 目移植而来。o r m 就是把对象映射到关系数据库的记录,简单的说就是能实现 把一个对象存储为数据表中的一条记录和由一条记录创建一个相应的对象,数据 表中一行每列的数据就是对象的属性。使用o r m 时,更多的是从对象的角度来 设计程序,而把数据( 对象的属性) 存储的细节放在后面,完全采用面向对象( o o ) 的方式来设计,从而直观的表达业务概念【8 1 。 3 1n h i b e r n a t e 体系架构 n h i b e r n a t e 高度抽象的体系结构展示了使用数据库和配置文件来为应用程 序提供持久化服务。由于
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 人体解剖生理学考核试题(及答案解析)
- 医师资格考试(实践技能)复习题库及答案(湛江2025年)
- 2025年院感防控考核试题及答案
- 天津大学2025年9月《人体解剖生理学》作业考核试题及答案参考8
- 数控车技能考试题及答案
- 吸油烟机制作工成本控制考核试卷及答案
- 2025年人力资源管理师资格考试试题及答案
- 2025年护士执业考试真题及考试答案
- 通力电梯内部考试题及答案
- 指挥实操模拟试题及答案
- 2025四川省水电投资经营集团有限公司所属电力公司员工招聘6人备考模拟试题及答案解析
- 房地产中介居间服务合同5篇
- 童话中的英雄勇敢的小矮人作文10篇范文
- 康复科的科室介绍
- 公安校园欺凌课件大纲
- 人教PEP版(2024)四年级上册英语全册教案(单元整体教学设计)
- 2025年江苏省南京市中考历史真题卷含答案解析
- 2025-2026学年浙教版小学劳动技术一年级上册教学计划及进度表
- 甲状腺疾病课件
- 数控滚齿机操作指导手册
- 医保智能审核培训课件
评论
0/150
提交评论