(计算机应用技术专业论文)网络化hrm系统关键技术研究与实现.pdf_第1页
(计算机应用技术专业论文)网络化hrm系统关键技术研究与实现.pdf_第2页
(计算机应用技术专业论文)网络化hrm系统关键技术研究与实现.pdf_第3页
(计算机应用技术专业论文)网络化hrm系统关键技术研究与实现.pdf_第4页
(计算机应用技术专业论文)网络化hrm系统关键技术研究与实现.pdf_第5页
已阅读5页,还剩65页未读 继续免费阅读

(计算机应用技术专业论文)网络化hrm系统关键技术研究与实现.pdf.pdf 免费下载

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

摘要 摘要 经济一体化、贸易全球化的发展趋势,加速了大型企业经营和管理与世界接轨的步 伐,促进了网络化管理信息系统的诞生。网络化人力资源管理系统( h u m a nr e s o u r c e m a n a g e m e n t ,h r m ) 是企业信息化建设的核心内容之一,对提升企业的管理水平,增 强企业活力及核心竞争力具有重要的促进作用,可以使分布地域广、规模大、内部机构 繁多、人员流动性大的大型企业集团公司,通过i n t e r n e t 和i n t r a n e t 进行人力资源管理的 所有业务,包括:人力资源战略管理( 人力资源规划、人力资源指标分析、决策支持、 员工素质测评、经理自助) 、人力资源管理( 离职管理、薪资福利管理、保险管理、工伤 管理、绩效考核管理、招聘管理、培训管理、报表管理、劳动人事法规、企业规章制度) 、 人事信息存储与管理( 考勤休假管理、员工信息管理、机构及职位管理、合同管理) 、员 工自助和系统权限控制与管理等。 本学位论文针对跨地域大型煤矿公司h r m 系统的需求,研究网络化h r m 系统的 关键技术,包括:b s 结构的多层w e b 应用系统、j 2 e e 体系结构、j s p s e r v l e t 开发模 式、s t r u t s + h i b e r n a t e + s p r i n g ( s s h ) 轻量级框架等关键技术的设计与实现等问题。j 2 e e 框 架与b s 结构的多层w e b 应用系统,具有层次性和平台无关性,节约系统的开发、运 行及维护成本;j s p s e r v l e t 开发模式的优势在于直接、简单;s s h 框架可以方便地处理 容器级的服务,改变应用程序设计的耦合度和灵活性,提高了层次之间的独立性和代码 的可重用性,有利于系统的扩展和维护。 通过某大型煤业公司的h r m 系统实施表明:采用j 2 e e 、s s h 框架等技术研发的网 络化h r m 系统,可以允许层替换而不影响到其它层的代码,减轻开发者处理复杂问题的 负担,提高了层次之间的独立性和代码的可重用性,非常有利于系统的扩展和维护。系 统具有层次性、平台无关性、层次之间独立性和代码可重用性等特点,系统开发与维护 成本低,易扩展,灵活安全,操作方便。 本学位论文研发的网络化h r m 系统,采用当今最先进的网络控制技术和软件开发 技术,系统稍加修改可以推广应用到其它跨地域大型矿业公司,进行人力资源业务的网 络化决策与管理。 关键词:网络化h r m 系统;j 2 e e ;s s h 轻量级框架;平台无关性;代码可重用性 人迕使通人。、i 学硕f j 学伊论文 a b s t r a c t e c o n o m i ci n t e g r a t i o na n dt h et r e n do ft r a d eg l o b a l i z a t i o nh a sa c c e l e r a t e dt h eo p e r a t i o n a n dm a n a g e m e n to fl a r g e s c a l ee n t e r p r i s e sp a c e dw i t ht h ew o r l d ,p r o m o t i n gt h en e t w o r k m a n a g e m e n ti n f o r m a t i o ns y s t e mw a sb o r n n e t w o r k e dh u m a nr e s o u r c em a n a g e m e n ts y s t e m ( h r m ) i so n eo ft h ek e yc o n t e n to ft h ee n t e r p r i s ei n f o r m a t i o nc o n s t r u c t i o n ,t oi m p r o v e e n t e r p r i s em a n a g e m e n tl e v e l ,a n d e n h a n c et h e v i t a l i t yo fe n t e r p r i s e s a n dt h ec o r e c o m p e t i t i v e n e s sh a sa ni m p o r t a n tr o l ei np r o m o t i n g , e n a b l i n gt h ed i s t r i b u t i o no fv a s tt e r r i t o r y , b u tl a r g ea n dn u m e r o u si n t e r n a lo r g a n i z a t i o n sa n d p e r s o n n e lm o b i l i t yg r o u po fl a r g e e n t e r p r i s e s ,t h r o u g ht h ei n t e r n e ta n di n t r a n e tf o rh u m a nr e s o u r c e sm a n a g e m e n ti na l lb u s i n e s s , i n c l u d i n g :s t r a t e g i cm a n a g e m e n to fh u m a nr e s o u r c e s ( h u m a nr e s o u r c e sp l a n n i n g ,h u m a n r e s o u r c e si n d e xa n a l y s i s ,d e c i s i o ns u p p o r t ,s t a f fq u a l i t ym e a s u r e m e n t ,m a n a g e rs e l f - s e r v i c e ) , h u m a nr e s o u r c e sm a n a g e m e n t ( 1 e a v em a n a g e m e n t ,p a y r o l lb e n e f i t sm a n a g e m e n t , i n s u r a n c e m a n a g e m e n t ,i n j u r ym a n a g e m e n t ,p e r f o r m a n c ea p p r a i s a lm a n a g e m e n t , r e c r u i t m e n t m a n a g e m e n t ,t r a i n i n gm a n a g e m e n t ,r e p o r t m a n a g e m e n t , l a b o ra n dp e r s o n n e ll a w sa n d r e g u l a t i o n s ,b u s i n e s sr u l e sa n dr e g u l a t i o n s ) ,p e r s o n n e li n f o r m a t i o ns t o r a g ea n dm a n a g e m e n t ( a t t e n d a n c el e a v em a n a g e m e n t ,e m p l o y e ei n f o r m a t i o nm a n a g e m e n t ,i n s t i t u t i o n a la n dj o b m a n a g e m e n t ,c o n t r a c tm a n a g e m e n t ) ,e m p l o y e es e l f - s e r v i c ea n ds y s t e ma c c e s sc o n t r o la n d m a n a g e m e n t t h ec r o s s - r e g i o n a l l a r g e s c a l ec o a lc o m p a n yh r ms y s t e mr e q u i r e m e n t s ,r e s e a r c h n e t w o r k s ,k e yt e c h n o l o g y b a s e dh r ms y s t e m si n c l u d e sb ss t r u c t u r e ,m u l t i t i e rw e b a p p l i c a t i o n s ,j 2 e ea r c h i t e c t u r e ,j s p s e r v l e td e v e l o p m e n tm o d e l ,s t r u t s + h i b e r n a t e + s p r i n g ( s s h ) k e yt e c h n o l o g i e ss u c ha sl i g h t w e i g h tf r a m e w o r kf o rt h ed e s i g na n di m p l e m e n t a t i o n i s s u e s j 2 e ef r a m e w o r ka n db ss t r u c t u r e ,m u l t i t i e rw e ba p p l i c a t i o ns y s t e m ,w i t hal e v e l a n d p l a t f o r m - i n d e p e n d e n t n a t u r ec o n s e r v a t i o n s y s t e md e v e l o p m e n t ,o p e r a t i o n a n d m a i n t e n a n c ec o s t s ;j s p s e r v l e td e v e l o p m e n tm o d e lh a st h ea d v a n t a g eo fd i r e c t ,s i m p l e ;s s h f r a m e w o r kc a ne a s i l yh a n d l ec o n t a i n e r l e v e ls e r v i c e s ,c h a n g e si nt h ec o u p l i n gd e g r e eo f a p p l i c a t i o nd e s i g na n df l e x i b i l i t y ,i n c r e a s i n gi n d e p e n d e n c eb e t w e e nt h el e v e l sa n dc o d e r e u s a b i l i t yi sc o n d u c i v et oe x p a n s i o no ft h es y s t e ma n dm a i n t e n a n c e t h er e s e a r c ha n dd e v e l o p m e n to fn e t w o r k b a s e dh r ms y s t e mu s e s t o d a y s m o s t a d v a n c e dn e t w o r kc o n t r o lt e c h n o l o g ya n ds o f t w a r ed e v e l o p m e n tt e c h n o l o g y s y s t e ms l i g h t l y m o d i f i e dc a nb ea p p l i e dt oo t h e rc r o s s r e g i o n a ll a r g e - - s c a l em i n i n gc o m p a n i e st oc o n d u c t b u s i n e s sn e t w o r kh u m a nr e s o u r c e sd e c i s i o n - m a k i n ga n dm a n a g e m e n t k e yw o r d s :h r ms y s t e m :j 2 e e ;s s hf r a m e w o r k ;p l a t f o r mi n d e p e n d e n c e ;c o d e r e u s a b i l i t y n 大连交通大学学位论文独创性声明 本人声明所呈交的学位论文是本人在导师指导下进行的研究工作 及取得的研究成果。尽我所知,除了文中特别加以标注和致谢及参考 文献的地方外,论文中不包含他人或集体已经发表或撰写过的研究成 果,也不包含为获得太整交通太堂或其他教育机构的学位或证书而 使用过的材料。与我一同工作的同志对本研究所做的任何贡献均已在 论文中作了明确的说明并表示谢意。 本人完全意识到本声明的法律效力,申请学位论文与资料若有不 实之处,由本人承担一切相关责任。 学位论文作者签名:浠勘蓼 日期: 山、7 年f 月矽日 大连交通大学学位论文版权使用授权书 本学位论文作者完全了解太整塞通太堂有关保护知识产权及保 留、使用学位论文的规定,即:研究生在校攻读学位期间论文工作的 知识产权单位属太董塞通太堂,本人保证毕业离校后,发表或使用 论文工作成果时署名单位仍然为太整塞通太堂。学校有权保留并向 国家有关部门或机构送交论文的复印件及其电子文档,允许论文被查 阅和借阅。 本人授权大连交通大堂可以将学位论文的全部或部分内容编入 中国科学技术信息研究所中国学位论文全文数据库等相关数据库 进行检索,可以采用影印、缩印或扫描等复制手段保存、汇编学位论 、 又。 ( 保密的学位论文在解密后应遵守此规定) 学位论文作者签名:海牺秀 导师签名: 日期:翔口7 年 月 力日 学位论文作者毕业后去向: 工作单位: 通讯地址: 邮编: 电子信箱: 卿o t 日期:1 椰夕年,厶月多胡 电话: 第立绪论 第一章绪论 1 1 课题的背景与意义 随着互连网络的普及,i n t e m e t i n t r a n e t 极大地改变了人们工作、学习和生活的方式。 网络为人们提供了大量的信息和便捷的服务手段,与此同时也带来了无限的商机和新的 应用需求。为了适应经济全球化的发展趋势,提高企业核心竞争力,各类企业在信息化 建设方面的投入也越来越大。企业信息化成了企业在竞争中处于不败之地的有效手段之 一。 人力资源( h u m a nr e s o u r c e s ,h r ) 在2 1 世纪的重要性毋庸置疑,人力资源已成为企 业核心竞争力的战略性资源,“科技以人为本 的思想更是强调了人力资源的重要性。 企业通过建立智能,高效和全面的人力资源管理系统,为企业的管理层提供准确的人事 管理依据与决策数据。在此基础上,企业可以充分利用现有资源,以信息管理为基础, 融入科学的人事管理思想和模式,使企业的人力资源达到最优配置,推动企业可持续稳 定的发展。以“人力资源管理”理念为理论基础而开发的人力资源管理系统已经被越来 越多的企业采用。o i 在这样的背景下,本文设计开发基于j 2 e e 的网络化h r m 系统有着重要的现实意 义。所谓网络化h r m 系统,是指人力资源管理电子信息化,是企业基于高速度,大容 量的硬件和先进的r r 软件的人力资源管理模式。通俗地说,就是人力资源管理信息化 或自动化。人力资源管理系统作为人力资源管理的一个计算机工具,可以将企业从员工 招聘,岗位和组织机构设置、培训、技能、薪资和福利、绩效到离职管理等几乎所有与 企业最重要的资产、人相关的信息用数据库统一管理起来,有效地避免了原先由于人力 资源相关数据的离散存储而造成的信息不相容、更新和共享困难等问题,使得企业内人 力资源的管理得以走向标准化、科学化、数字化和网络化。1 2 - 3 1 1 2 国内外网络化h r m 系统的发展与现状 h r m 系统的发展历史基本可以分为3 个阶段,最初的h r m 系统可以追溯到2 0 世 纪6 0 年代末期。随着计算机开始在管理领域普遍应用,同时大型企业用手工来计算和 发放薪资既费时费力又容易出差错,为了解决这个矛盾,第一代的人力资源管理系统应 运而生。当时由于技术条件和需求的限制,用户非常少,而且那种系统充其量只不过是 一种自动计算薪资的工具,既不包含非财务的信息,也不包含薪资的历史信息,几乎没 有报表生成功能和薪资数据分析功能。但是,它的出现为人力资源的管理展示了美好的 人迕交通人学l :。学硕f j 学仲沦文 自i 景,即用汁算机的高速度和自动化末代替手动的巨大工作量,用计算机的高准确性来 避免手工的错误和误差,伎大规模集中处理大型企业的薪资成为可能。1 4 1 第二代的人力资源管理系统出现在2 0 世纪7 0 年代未。由于计算机技术的飞速发展, 为人力资源管理系统的阶段性发展提供了可能。第二代人力资源管理系统基本上解决了 第一代系统的t 要缺陷,对非财务的人力资源信息和薪资的历史信息都给予了考虑,其 报表生成和薪资数据分析功能也都有了较大的改善。但这一代的系统主要是由于计算机 专业人员开发研制的,未能系统考虑人力资源的需求和理念,而且其非财务的人力资源 信息也不够系统和全面。人力资源管理系统的革命性变革出现在2 0 世纪9 0 年代术。由 于市场竞争的需要,如何吸引和留住人才,激发员工的积极性,调动员工的主人翁精神, 工作责任感和工作热情已经成为关系企业兴衰的重要因素,人才已经成为企业的重要资 产之一。“公平、公正、合理 的企业管理理念和企业管理水平的提高,使社会对人力 资源管理系统有了更高的需求同时由于个人电脑的普及,数据库技术、客户服务器技术, 特别是技术的发展,使得第三代人力资源管理系统的出现成为必然。 第三代人力资源管理系统的特点是从人力资源管理的角度出发,用集中的数据库将 几乎所有与人力资源相关的数据如薪资福利、招聘、个人职业生涯的设计、培训、职位 管理、绩效管理、岗位描述、个人信息和历史资料统一管理起来,形成了集成的信息源。 友好的用户界面,强有力的报表生成工具、分析工具和信息的共享使得人力资源管理人 员得以摆脱繁重日常工作,集中精力从战略的角度来考虑企业人力资源规划和政策。 虽然人力资源管理软件在中国己有几十年的发展历程,但由于人力资源管理整个大 环境的观念和管理相对国外滞后,据统计,美国在财务会计上占有9 0 的工作由计算机 完成,人力资源管理中8 0 1 0 0 的信息由计算机完成:国外人力资源管理软件具有操作简 单、界面友好的特点,业务流程清晰,管理非常规范。但国外系统往往不够灵活,通用 性差。 目前国内人力资源管理软件有用友公司的h r m s 、金蝶公司的e h r 、金益康公司 的金益康人力资源管理信息系统、上海广电软件信息有限公司的汇智人力资源管理系 统、上海嘉扬信息系统公司的嘉扬人力资源管理系统、汇林科软件( 深圳) 有限公司的人 力资源管理系统等等。国外的有o r a c l e 公司的人力资源管理系统、s a p 公司的人力资源 管理系统、p e o p l e s o f 公司推出的全球人力资源管理系统等。总体而言,国内厂商如金益 康在中国人事信息管理方面标准化程度较高;而金蝶的k 3 人力资源系统在整体规划、 与其他应用系统的集成、人性化设计、基于d o t n e t 开发等方面占据优势。 2 第章绪论 作为计算机应用的一部分,使朋计算机对人力资源信息进行管理,有着手工管理所 无法比拟的优点,例如:检索迅速、查找方便、可靠性高、成本低等,这些优点能够极大 地提高人力资源管理的效率,是企业的科学化、正规化管理,与世界接轨的重要条件。 1 3 论文研究工作及结构安排 本文共分五章,论文的结构和各章的主要内容如下: 第一章为绪论,首先分析了人力资源管理系统的背景和意义,然后阐述了论文的国 内外的研究现状。 第二章是关键技术研究,讨论了j 2 e e 关键技术,m v c 设计模式,以及s s h 框架 体系。 第三章是网络化h r m 系统的需求分析,首先分析人力资源管理系统的业务需求, 然后对其功能需求进行详细分析,主要是对人力资源战略管理、人力资源管理、人事信 息管理、员工自助、工伤管理、系统权限管理等业务进行具体建模分析,并附以部分用 例图。 第四章是h r m 系统的设计,首先介绍了系统设计的原则和目标,然后介绍了系统 整体功能设计、系统分层体系架构设计和数据库设计,并对人力管理、人事信息、机构 职位、系统权限管理等模块进行了具体设计说明,并附以部分类图和顺序图。 第五章首先简要介绍系统的实现平台,然后对系统表示层、业务层、数据持久层给 出具体实现过程,并附上部分系统的源代码。 最后是全文总结和展望,总结全文研究工作,并对下一步的工作进行展望。 3 人连交通人学l :学硕十 何涂艾 第二章关键技术 2 1j 2 e e 的关键技术及其体系结构 j 2 e e 是使用j a v a 技术开发企业级应用的一种事实上的工业标准,它是j a v a 技术不 断适应和促进企业级应用过程中的产物。目前,j a v a 平台有三个版本:适用于小型设备 和智能卡的j 2 m e ( j a v a2p l a t f o r mm i c r oe d i t i o n ) 、适用于桌面系统的j 2 s e ( j a v a2s t a n d a r d e d i t i o n ) 和适用于企业级应用的j 2 e e ( j a v a2e n t e r p r i s ee d i t i o n ) 。其中,s u n 3 l l 推出j 2 e e 的目的是为了克服传统c s 模式的弊病,迎合b s 的潮流,为应用j a v a 技术开发服务器 端应用提供一个平台独立的、可移植的、多用户的、安全的和基于标准的企业级平台, 从而简化企业应用的开发、管理与部署。j 2 e e 是一个标准,一个规范,而非现成的产 品。各平台开发商按j 2 e e 规范分别开发了不同的j 2 e e 应用服务器,作为j 2 e e 企业级 应用的部署平台1 5 1 。 2 1 1j 2 e e 的优势 j 2 e e t 3 3 j 为搭建具有可伸缩性、灵活性、易维护性的商务系统提供了良好的机制: 1 ) 保留现有l t 资产 由于企业必须适应新的商务需求,利用已有的企业信息系统方面的投资,而不是重 新制定全盘方案就变得很重要。同时,基于j 2 e e 平台的产品几乎能够在任何操作系统 和硬件配置上运行。这样,由于广泛的业界支持和一些重要的企业计算领域供应商的参 加,j 2 e e 架构可以充分利用用户原有的投资。 2 _ ) 高效的开发 j 2 e e 允许公司把一些通用的、很繁琐的服务端任务交给中间件供应商去完成。这 样,开发人员可以集中精力在如何创建商业逻辑上,缩短了开发时间。 3 _ ) 支持异构环境 j 2 e e 能够开发部署在异构环境中的可移植程序。基于j 2 e e 的应用程序不依赖任何 特定操作系统、中间件、硬件。因此设计合理的基于j 2 e e 的程序只需开发一次就可以 部署到各种平台。j 2 e e 的第三方组件同样可以部署到异构环境中,节省了开发费用。 可伸缩性 企业必须要选择一种服务器端平台,这种平台应能提供极佳的可伸缩性去满足那些 在它们系统上进行商业运作的大批新客户。基于j 2 e e 平台的应用程序可被部署到各种 操作系统上。j 2 e e 领域的供应商提供了更为广泛的负载平衡策略,可以允许多台服务 器集成部署,来消除系统中的瓶颈。 4 第一:章芙键 乏术 5 ) 稳定的可用性 一个服务器端平台必须能全天候运转来满足公司客户、合作伙伴的需要。j 2 e e 部 署到可靠的健壮性好的操作环境中,它们支持长期的可用性1 6 1 。 2 1 2j 2 e e 的核心a p i 与组件 j 2 e e 平台由一整套服务( s e r v i c e s ) 、应用程序接n ( a p b ) 和协议构成,它对开发基于 w e b 的多层应用提供了功能支持,下面对j 2 e e 中的重要技术规范进行简单的描述: 1 j d b c ( j a v ad a t a b a s ec o n n e c t i v i t y ) 它是一种用于执行s q l 语句的j a v aa p i ,可以为多种关系数据库提供统一访问,同 时,它对开发者屏蔽了一些细节问题和对数据库的访问具有平台无关性。 2 j n d i ( j a v an a m ea n dd i r e c t o r yi n t e r f a c e ) 它是s u n 公司提供的一种标准的j a v a 命名系统接口,提供统一的客户端a p i ,通 过不同的访问提供者接口j n d is p i 的实现,被用于执行名字和目录服务。 3 e j b ( e n t e r p r i s ej a v a b e a n ) 它提供了一个框架来开发和实施分布式商务逻辑,简化了具有可伸缩性和高度复杂 的企业级应用的开发。e j b 规范定义了e j b 组件在何时如何与它们的容器进行交互作用。 容器负责提供公用的服务,如目录服务、事物管理、安全性、资源缓冲池以及容错性。 4 r m i ( r e m o t em e t h o di n v o k e ) 它使用了序列化方式在客户端和服务器端传递数据,是一种调用远程对象上方法的 低层协议。 5 j s p ( j a v as e r v e rp a g e s ) j s p 页面有h t m l 代码和嵌入其中的j a v a 代码组成。服务器在页面被客户端所请 求以后对这些j a v a 代码进行处理,然后将生成的h t m l 页面返回给客户端的浏览器。 6 j a v as e r v l e t 它是一种小型的j a v a 程序,扩展了w e b 服务器的功能。作为一种服务器端的应用, 当被请求时开始执行。它的其他功能大多与j s p 相似,不过实现方式不同。s e r v l e t 全部 由j a v a 写出并生成h t m l ,而j s p 通常是h t m l 代码中嵌入少量的j a v a 代码。 7 x m l ( e x t e n s i b l em a r k u pl a n g u a g e ) 它是可扩展标记语言,是一种跨平台的,依赖于内容的技术。x m l 被用来在不同 的商务过程中共享数据。 8 j m s ( j a v am e s s a g es e r v i c e ) 它是一组j a v a 应用程序接e l ( j a v aa p 0 ,提供创建、发送、接收、读取消息的服务。 9 j a v a m a i l 5 人j 尘交通人学r 7 :硕l :,何论文 它是用于存取邮件服务器的a p i ,提供了一套邮件服务器的抽象类。 1 0 j a f ( j a v a b e a n sa c t i v a t i o nf r a m e w o r k ) j a v a m a i l 利用j a f 来处理m i m e 编码的邮件附件。m i m e 的字节流可以被转换为 j a v a 对象,或者转换自j a v a 对象。1 6 1 j 2 e e 核心技术之间的关系如图2 1 所示。 图2 1j 2 e e 核心技术关系 f i g 2 1 t h er e l a t i o no ft h ec o r et e c h n o l o g yo fj 2 e e 2 1 3j 2 e e 的体系结构 j 2 e e 使用多层的分布式应用模型i s l ,应用逻辑按照功能划分为组件,各个应用组 件根据他们所在层分布不同的机器上。j 2 e e 的多层企业级应用模型将两层化模型中的 不同层面切分为很多层。一个多层化应用能够为不同的每种服务提供一个独立的层。图 2 2 是j 2 e e 典型的n 层体系结构。 6 第章芙键技术 一 客,绒用窖貉;w e l l l - 2 j b 簪潞 l | d b l c _ 浏览嚣l w e b 般貉嚣 上l| s i n l p l f l 一 e f l t i l y l- u l t i t m ib l j s p l、一 龇蛐l、一 9 。l p - 两鬲艄厍碉 : 。l k :u 陪l。叫:r r 服务器 图2 2j 2 e e 典型的n 层体系结构 f i g 2 2at y p i c a ln - t i e rj 2 e ea r c h i t e c t u r e 一般地,j 2 e e 可以划分为三层:表示层、业务层、数据层。表示层负责处理和最 终用户之间的交互;业务层则负责处理业务流程;数据层主要是指数据库,也包含对外 部系统的资源访问。本结构具有跨平台的特性,结构中的三个层次可以处于不同的平台 下进行协作应用;因为客户表示层可以使用不同的客户端程序,因此具有很好的分布性, 可以适应分布式管理的要求;在后台的应用系统集成中,可以把企业不同的应用系统集 成到该结构中,因此可以有效的保护现有的资源不被破坏。 2 2m v c 设计模式 2 2 1 设计模式基本概念 面向对象技术的出现和应用大大提高了软件的重用性和软件的质量。面向对象的编 程也比以往的各种编程模式要简单和高效,但是面向对象的设计方法要比以往的设计方 法复杂和有技巧地多,一个良好的设计应该既具备对问题的针对性,也充分考虑到将来 问题和需求有足够的通用性。在过去的十几年中,人们在自己环境中不断发现问题和寻 找问题的解决方案的时候,现有一些问题及其解决方案不断变化面孔重复出现,在这些 不同的面孔后面有着共同的本质,这些共同的本质就是模式的概念。在软件开发过程中 也有很多解决方案是不断重复的,面向对象的开发中尤其如此,于是人们就把软件开发 过程分解成若干个不同的设计模式,所谓的面向对象的设计模式1 9 1 ,从而达到提高代码 复用程度、降低开发复杂度、提高开发效率的效果。 人们对设计模式有很多定义,其中被引用的最多是c h r i s t o p h e ra l e x a n d e r 的设计模 式的定义:每一个设计模式是一个三方的原则,它表达了一个上下文环境( c o n t e x t ) ,一 个问题和一个解决方案。设计模式一般有如下几个基本要素:模式名称,问题,目的, 解决方案,效果,样例代码和相关设计模式。 7 人迓,芝通j 。学i :学硕f _ 学何论文 设计模式的分类有好几种,可以根据其目的分为创建型( c r e a t i o n a l ) ,结构型 ( s t r u c t u r a l ) 和行为型( b e h a v i o r a l ) = _ i 种。创建型模式主要是用来创建对象,结构型模式主 要是处理类或对象的组合,行为型模式则主要用来描述对类或对象怎样交互以及怎样分 配职责。也可以根据范围将设计模式分为类模式和对象模式,类模式处理类和子类之间 的关系,这些关系通过继承建立,在编译时刻就被确定下来,是属于静态的。对象模式 是处理对象间的关系,这些关系在运行时刻变化,更具动态性【3 2 1 。 当然,在开发一个应用软件的过程中,往往并不是依靠一个开发模式做到底,而是 多个开发模式互相渗透、相互配合以达到最佳的设计效果。 2 2 2m v c 设计模式在j 2 e e 架构中的应用 m v c 是m o d e lv i e wc o n t r o l l e r 的简称,意思为模型一视图一控制器。它是x e r o x p a r c 在八十年代为编程语言s m a l l t a l k 8 0 发明的一种软件设计模式,至今已被广 泛使用。它强制性地使用应用程序的输入、处理和输出分开,解决了以往将业务 逻辑和表示层揉合在一起造成的代码混杂、结构不清、流程逻辑不明和页面与数 据和业务逻辑之间的强耦合关系等弊端 1 0 l 。使用m v c 应用程序被分成三个核心部 件:模型、视图、控制器。它们各自处理自己的任务。 ( 1 ) 视图:用户视图模块,用户看到并与之交互的界面。它向用户显示相关的 数据,并能接受用户的输入数据,但是它并不进行任何实际的业务处理。视图可 以向模型查询业务状态,但不能改变模型,还能接受模型发出的数据更新事件, 从而对用户界面进行同步更新。对于基于请求响应的w e b 应用,模型位于w e b 服务器端,视图位于用户浏览器端。 ( 2 ) 模型:事物逻辑模块,表示企业数据和业务规则。一个模型能为多个视图 提供数据。由于同一个模型可以被多个视图重用,所以可以提高应用的可重用性。 ( 3 ) 控制器:流程控制模块,它接受用户的输入并调用模型和视图去完成用户 的需求。当w e b 用户单击w e b 页面中的提交按钮来发送h t m l 表单时,控制器 接收请求并调用相应的模型组件去处理请求,然后调用相应的视图来显示模型返 回的数据。 8 第审关键技术 客户媸表i 瑶m 务逻孵层企n 信息幕境 - 固 测览器 f 哥翁 催p 二 、 图2 3 基于j 2 e e 和m v c 的系统模式 h g2 3 f o e s y s t e m m o d e l b a s e d o n j 2 e e a n d m v c 如图2 3 所示在基于j 2 e e 和m v c 的w e b 系统中。以s e r v l e t 等高性能服务端 程序作为后台总控程序,j s p 页面在前台运行。s e r v l c t 接受用户请求的输入,根据 用户动作分配不同的模型进行业务处理。在m v c 的m o d e l 2 中,j s p s e r v l c t 并不 使用j d b c 技术直接访问数据库系统,而是把参数传递给e j b 组件,由e j b 组件 对数据库进行操作,这样就做到了封装系统的内部数据;j a v a b e a n s 和e j b 组件还 可以把事务分发到其他组件中进行处理,最后把从数据库返回的结果,再由s e r v l e t 分别调用不同的j s p 页面向潮览器反馈信息,j s p s e r v l e t 通过h t t p 连接在服务器 端和测览器端传递数据 2 3 轻量级j 2 e e 架构 231 轻量级j 2 e e 架构与传统j 2 e e 架构的对比 在传统的j 2 e e 体系平台中,中间层、业务层、逻辑层都是由e i b 组件实现。f i b 组件模型是整个j 2 e e 程序体系模型的基础。e j b 提供了一系列“重量级”企业级服务, 并可以很好的集成e j b 容器所提供的企业级服务。虽然e 】l b 容器提供了较完整的服务 策略,但e j b 容器的实现和部署越来越复杂,同时还带来了比较严重问题,主要体现在 如下方面: 部署复杂,运行缓慢 内在服务多,启动慢 规则特多,空间很小 难以测试( 调试) 轻量级框架采纳e j b 的优点,又摆脱了其缺点。轻量级容器架构的业务对象不是运 行在e j b 容器中,而是运行在轻量级容器中。轻量级容器并没有和j 2 e e 绑定,所以它 人近交通人学i + 学硕f :。学何论丈 既町以运行在w e b 容器罩,也可以在一个标准应用程序中运行,甚至还可以运行在f a b 容器里,这个容器也没有和s e r v l e ta p i 绑定。轻量级容器启动开销很小,而且无需e j b 的部署步骤。轻量级容器提供了一种管理定位业务对象的办法。不需要j n d i 寻址,定 制服务定位服务器,s i n g l e t o n 模式等技术,轻量级容器为应用对象提供注册服务。轻量 级容器提供的各种企业级服务通常是通过面向方面编程a o p 拦截机制实现的。企业级 服务能够透明的织入方法,在业务方法的执行前和执行后被调用。轻量级j a v a 消除了 传统j 2 e ea p i 有关的不必要的复杂性和限制,以缩短了应用程序的部署时间和提高运 行效率。架构的松耦合模式使得层与层之间相对独立,规则约束相对较少,业务逻辑层 基于功能模块开发方式非常方便频繁单元测试。 综上所述,轻量级架构比传统j 2 e e 架构更加灵活和可靠,在企业级应用开发上更 具有优势。 2 3 2 轻量级j 2 e e 架构的特点 轻量级框架是一个可复用的软件成分,它可以看作应用系统实现的一个半成品,它 为一类相似的应用系统提供了共有结构的设计与实现,因此可以针对特定的应用系统进 行扩展。轻量级架构具有以下主要特点 1 t l1 1 2 1 : ( 1 ) 从封装角度看,组件粒度一直是s a ( s o f t w a r ea r c h i t e c t u r e ) l 拘最大问题。根据e j b 模型,e j b 组件让我们把业务组件封装成粗粒度的业务组件。轻量级容器可以定义更为 细粒度的组件,甚至这个组件只有一个对象以依赖注入( d i ,d e p e n d e n c yi n j e c t i o n ) 为代 表的解藕模式,可以让组件不依赖容器( 运行环境) 的a p i 。d i 作为容器的管道,承担中 间人的角色,让使用者( c o m p o n e n t ) 和提供者毫无关联。对于以何种粒度去设计业务组 件,这就是业务的具体需求所决定的。轻量级框架提供技术方面的支持可以让使用者有 的放矢1 1 3 l 。 ( 2 ) 从组件角度看,真j 下的组件就像普通的u d i s k ,插到u s b 上就可以享受其功能。 轻量级容器通过反向控带o ( i o c ,i n v e r s i o no fc o n t r 0 1 ) 让容器具有主动权,去管理插进来 的组件1 1 4 1 。只要组件是符合标准的,就可以被轻量级容器管理。 ( 3 ) 从r u n n i n ga n y w h e r e 角度看,轻量级容器让组件以p o j o ( p l a i no l dj a v ao b j e c t ) 的形式存在,只要有j a v a e x e 就可以运行它。这样,组件实质就是一个独立的功能集成 类,根本不需要容器就可以实现测试行为i l s l 。 基于以上三点,在轻量级框架上开发网络化h r m 系统,会在重用、开发效率、测 试、开发质量和移植性等各方面受益。 1 0 第:章父键j 之术 2 3 3 轻量级j 2 e e 架构的应用一s s h 架构 由s t r u t s 、s p r i n g 和h i b e r n a t e 形成一个完整的开发j 2 e e 程序的轻量级组合框架。 该框架一方面能够利用s t r u t s 框架拥有的成熟的标签库,让这些标签轻易的组合系统的 表示层页面,并完成表示层的页面显示、页面的逻辑调用、页面数据的有效性验证等功 能,同时利用它的m v c 架构,负责页面的请求和转发等;另一方面在业务层发挥s p r i n g 框架的作用,由s p r i n g 容器管理机制接管业务逻辑,并负责管理事务以及安全:同时在 持久层使用h i b e r n a t e 这个成熟的o r m 产品,对j d b c 进行轻量级的对象封装,建立 j a v a 对象模型的持久对象,实现对象与数据库关系之间的交互。 因此,本课题项目采用s s h 轻量级架构开发网络化h r m 系统,具有如下几个优势: 有利于大规模的开发与管理,方便业务的重用和改动,节约开发成本和时间,良好的系 统性能和可移植性。 2 4s t r u t s 框架 s t r u t s 是a p a c h e 软件基金会j a k a r t a 项目的一个开源( o p e ns o u r c e ) 项目,其最初萌 芽于c r a i gm c c l a n a h a n 的构思【1 6 l 。s t r u t s 是一个基于s u nj 2 e e 平台的m v c 框架,主 要是采用s e r v l e t 和j a v as e r v e rp a g e ( j s p ) 技术来实现的。项目的创立者希望通过对该项 目的研究,改进和提高j s p 、s e r v l e t 、标签库以及面向对象的技术,有助于开发者利用 j s p 和s e r v l e t 的优点更加快速、容易的建立可扩展的多层w e b 应用。在本课题项目开 发中应用的是s t r u t s l 2 版本。 2 4 1s t r u t s 体系结构 s t r u t s 的主要功能如下i 蚓: 1 s t r u t s 中包含一个控制器s e r v l e t ,可以将用户的请求发送到相应的a c t i o n 对象。 2 在j s p 页面中可以选用自定义标签库,并且在控制器s e r v l e t 中提供关联支持, 以帮助开发人员方便快捷的创建交互式表单应用。 3 s t r u t s 中提供了一系列实用对象:x m l 文件处理,通过j a v ar e f l e c t i o na p i 自动 处理j a v a b e a n 属性、国际化的提示和消息。 s t r u t s 本质上就是在m o d e l 2 的基础上实现的一个m v c 架构。它继承了m v c 的各 项特性,并根据j 2 e e 的特点做了相应的变化与扩展。它通过把一组相互协作的类( 组件) 、 j a v as e r v l e t 以及j s pt a g j 【i b 结合在一个统一的框架中,将m v c 模式所具有的“分离业 务逻辑和显示逻辑 的能力发挥到了极点,完全实现了m o d e l 2 ,并很好地帮助j a v a 开 人迮交通人。i :学硕卜伊沦丈 发人员丌

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论