(计算机应用技术专业论文)基于j2ee的erp系统应用框架的设计与实现.pdf_第1页
(计算机应用技术专业论文)基于j2ee的erp系统应用框架的设计与实现.pdf_第2页
(计算机应用技术专业论文)基于j2ee的erp系统应用框架的设计与实现.pdf_第3页
(计算机应用技术专业论文)基于j2ee的erp系统应用框架的设计与实现.pdf_第4页
(计算机应用技术专业论文)基于j2ee的erp系统应用框架的设计与实现.pdf_第5页
已阅读5页,还剩68页未读 继续免费阅读

(计算机应用技术专业论文)基于j2ee的erp系统应用框架的设计与实现.pdf.pdf 免费下载

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

文档简介

摘要 2 0 世纪9 0 年代后期,新型商务和通信的不断创建对软件开发提出r 更高的要 求。在分析中发现,传统的软件设计、开发方法在设计和开发较大型的软件时届 露出开发周期长和成本高的缺点,它把很多时间和槠力都浪费在重新设计相似的 系统架构和重复性功能代码上,这样就必然导致大量的重复劳动,给软件企业造 成巨大的人力、物力和财力的浪费。复用技术的出现为实现软件的熏复使用提供 了很好的技术支持。它包括代码、设计以及分析复用,从而大幅度降低了开发的 成本,提高了生产效率和产品质量。在研究中逐步发现,较高层次的软件复用能 够带来更大的经济效益。因此,以框架为代表的较高级别的软件复用技术的研究 和实践越来越引起学术界和产业界的高度熏视。 e r p 系统走进我国已经很多年,其主要宗旨就是将企业各方面的资源充分调配 和平衡,使企业在激烈的市场竞争中全方位地发挥足够的能力,从而取得更好的 经济效益。但是在设计和开发e r p 系统时,由于系统庞大,资金和时间有限,开 发者的主要精力都投入到系统的功能实现上而不是最应该关注的业务分析与重组 上,因此把软件复用技术应用到e r p 系统的设计和开发上,提高软件生产效率, 使得软件设计和开发人员能够更专注于业务的优化与流程重组。 本文通过对某厂e r p 系统的深入调研,利用领域工程知识,设计了一个基于 j 2 e e 平台的应用框架,并在此基础上实现了部分功能。论文着重从以下几个方面 进行讲解:首先从背景知识谈起,明确了框架的概念和优点;介绍了构件、领域工 程、设计模式等技术,以及这些技术与框架的关系;介绍了j 2 e e 模型的概念、体 系结构,在此基础上,本文给出了综合应用框架的设计鹭标、框架的设计方案; 介绍了数据操作通用构件的设计以及其在m r p 系统中的应用实现,分析了系统的 不足之处并提出了改进意见。 关键词:j 2 e ee r p 框架构件数据操作通用 i m p l e m e n t a t i o na n dd e s i g no fe r ps y s t e ma p p l i c a t i o nf r a m e w o r k b a s e do nj 2 e ep i a t f o - i t n a b s t r a c t t h e s ey e a r s ,t h ee s t a b l i s ho ft h en e wc o m m e r c ea n dt h ec o m m u n i c a t i o n h a se n h a n c e dt h er e q u i r et ot h es o f t w a r ed e v e lo p m e n t 。a c c o r d i n gt oa n a y sis 、 t h et r a n d i t i o n a lm e t h o df o rd e s i g n i n ga n de x p l o i t e r i o no ft h es o f t w a r e p r o d u c t sh a v ed i s a d v a n t a g e st h a ti tr e q u i r e sl o n gc y c l ea n dh i g hc o s ta n d p a ym u c hm o r ea t t e n t i o nt ot h ed e s i g no fs i m i l a rs y s t e ma r c h i t e c t u r ea n d r e d u p l i c a t e df u n c t i o nc o d e ,i tc a u s e sm a s s i v er e p e t i t i v ew o r ka n dc o s t s m u c hm a n p o w e r 、m a t e r i a lr e s o u r c e sa n df i n a n c i a l t h ea p p e a r a n c eo fr e u s e d t e c h n i c a lp r o v i d e st h ev e r yg o o dt e c h n i c a l s u p p o r tf o r t h er e u s eo l s o f t w a r e ,i ti n c l u d e so ft h ec o d e 、t h ed e s i g na n da n a l y s i sr e u s ew h i c h r e d u c e dt h e d e v e l o p m e n tc o s t 、i m p r o v e dt h ep r o d u c t i o ne f f i c i e n c ya n d q u a l i t y i th a sb e e nd i s c o v e r e dg r a d u a l l yt h a th i g h e rl e v e lr e u s et e c h n i c a l c a nb r i n gag r e a t e re c o n o m yb e n e f i t t h e r e f o r e ,t h er e s e a r c ha n dp r a c t i c e o fs o f t w a r er e u s eh a v e b e e nt a k e nm o r ea t t e n t i o nb ya c a d e m i aa n dt h e i n d u s t r i a lf i e l d 。 t h ee r ps y s t e mh a sc o m ei n t oc h i n af o rm a n yy e a r s ,i t sm a i no b j e c t i v e i st oa d j u s ta n db a l a n c ee a c hr e s o u r c eo ft h ee n t e r p r i s ei no r d e rt ol e t t h ee n t e r p r i s ee x e r ti t sp o t e n t i a lt oag r e a te x t e n ta n dg e tb e t t e re c o n o m y i n c o m e h o w e v e r ,t h ed e v e l o p e rp a ym o r ea t t e n t i o ni n t ot h er e a l i z a t i o n o fb a s i cf u n c t i o nn o tt h ea n a l y s i sa n dr e g r o u p m e n t ,w h i c hs h o u l db et h e m o s ti m p o r t a n t ,t h i si sb e c a u s en o to n l ye r ps y s t e mi sh u g eb u ta l s ot h e f u n da n dt h et i m ei s1 i m i t e d b u tt h ea p p l i c a t i o no fr e u s e dt e c h n o l o g y i nt h ed e s i g na n dt h ed e v e l o p m e n to ft h ee r ps y s t e me n h a n c e st h ep r o d u c t i o n e f f i c i e n c ya n dl e tt h ed e v e l o p e rp a ym o r ea t t e n t i o ni n t ot h ea n a l y s i sa n d r e g r o u p m e n t b yi n v e s t i g a t i o n o fa c o r p o r a t i o n , ih a s d e s i g n e d a a p p l i c a t i o nf r a m eb a s e do nt h ej 2 e ep l a t f o r ma n dr e a l i z e dp a r t i a lf u n cc i o n b a s e do ni t t h ep a p e rh a ss e v e r a lp a r t sa sf o l l o w s :f i r s t l yi ti n t r o d u c e dt h e b a c k g r o u n dk n o w l e d g ea n dm a k e sc l e a ro ft h ef r a m ec o n c e p ta n dt h em a r it ; s e c o n d l y ,i ti n t r o d u c e dc o m p o n e n t 、d o m a i np r o j e c t 、d e s i g np a t t e r na sw e l _ a sr e l a t i o n so ft h e s et e c h n i c a la n df r a m e ;t h i r d l y ,t h ej 2 e em o d e lc o n c e p t a n dt h es y s t e ms t r u c t u r eh a v eb e e ni n t r o d u c e d ,b a s i n go nt h o s e ,t h i s a r t i c l ei n t r o d u c e st h ed e s i g ng o a lo ft h es y n t h e s i sa p p l i c a t i o nf r a m e : l a s t l y ,i ti n t r o d u c e dt h ed a t am a n i p u l a t i o ng e n e r a lc o m p o n e n td e s i g na n d i t si nt h em r ps y s t e ma p p l i c a t i o nr e a l i z a t i o n ,a n a l y z e dt h es y s t e m d e f i c i e n c ya n dg i v e st h ei m p r o v e m e n tc o m m e n t s k e yw o r d s :j 2 e e ;e r p ;f r a m e w o r k :c o m p o n e n t :d a t ag e n e r a l s t r u t s 9 1 大连海事大学学位论文原创性声明和使用授权说明 原创性声明 本人郑重声明:本论文是在导师的指导下,独立进行研究工作所取得的成果,撰 写成博士硕士学位论文 2 一一e 堕婴基筮鏖旦捶塑数送盐皇塞堡:。除 论文中已经注明引用的内容外,对论文的研究做出重要贡献的个人和集体,均已 在文中以明确方式标明。本论文中不包含任何未加明确注明的其他个人或集体已 经公开发表或未公开发表的成果。 本声明的法律责任由本人承担。 论文作者签名:1 乱竹素如净3 月阻日 学位论文版权使用授权书 本学位论文作者及指导教师完全了解“大连海事大学研究生学位论文提交、 版权使用管理办法”,同意大连海事大学保留并向国家有关部门或机构送交学位论 文的复印件和电子版,允许论文被套阅和借阅。本人授权大连海事大学可以将本 学位论文的全部或部分内容编入有关数据库进行检索,也可采用影印、缩印或扫 描等复制手段保存和汇编学位论文。 保密口,在年解密后适用本授权书。 本学位论文属于:保密口 不保密口( 请在以上方框内打“”) 论文作者签名:1 司竹亩导师签名:彳缚灾炙 s t 期:加o 年弓月 第1 章绪论 l 。l 课题的研究背景及意义 信息化给企业带来新的挑战,除了用计算机管理代替传统的管理方式外,信 息的集成度也要求扩大到企业的整个资源的利用和管理,因此产生了新一代的管 理理论与计算机系统企业资源计划( e r p ) 。随着软件处理盼信息量越来越大, 考虑的因素也随之增多,软件的开发复杂程度不断提高,开发周期变长、成本增 高。因此,寻找一种能够缩短软件的开发周期降低成本的开发方法,是大规模的 软件开发亟待解决的问题“3 。 近年来,在软件开发中开始使用复用技术,这种复用包括代码复用,设计复 用,以便在软件开发中的使用能够解决效率和质量问题。大量的研究和实践表明, 软件在架构、设计上的重新使用比单纯的代码级别上的复用能带来更大的经济效 益。软件的复用追求的就是一个公用的开发标准,一个能够从很多方面兼容的平 台。因此j 2 e e 多层架构自推出以来,逐渐得到了广泛的应用,形成了一个面向企 业级的分布式、多层次的软件体系结构规范,成为企业应用开发的标准。j 2 e e 的 核心思想有两个:一个是分层的思想,另个是构件的思想。软件分层有利于软件 开发的分工,使大型系统中所需的技术相互隔离。j 2 e e 的每一层又定义了相应的 构件开发规范,通过构件来实现层的功能,构件技术的应用大大地提高了软件的 可复用性。在软件生产中有三种级别的复用:内部复用,即在同一应用中能公共使 用的抽象块:代码复用,即将通用模块组合成库或工具集,以便在多个应用和领域 都能使用;应用框架的复用,即为专用领域提供通用的或现成的基础结构,以获 得最高级别的复用性。工业化的软件复用已经从通用类庠进化到了面向领域的应 用框架。框架尤其是应用框架的复用已成为软件生产中最有效的复用方式之一。3 本文研究的框架即为应用框架。 框架是整个或部分系统的可复用设计,表现为一组抽象构件及构件实例间交 互的方法:另种定义认为,框架是可被应用开发者定制的应用骨架。前者是从应 用方面而后者是从目的方面给出的定义。可以说,一个框架是一个可复用的设计 构件,它规定了应用的体系结构,阐明了整个设计、协作构件之闻的依赖关系、 1 责任分配和控制流程,表现为一组抽象类以及其实例之间协作的方法,它为构件 复用提供了上下文关系。因此构件库的大规模复用也需要框架。框架方法在很大 程度上借鉴了硬件技术发展的成就,它是构件技术、软件体系结构研究和应用软 件开发三者发展结合的产物。在很多情况下,框架通常以构件库的形式出现,但 构件库只是框架的一个重要部分。框架的关键还在于框架内对象间的交互模式和 控制流模式。框架为实现特定领域的软件复用提供了很好的技术支持,它不仅实 现了代码的复用,而且使设计和分析也能复用。 1 2e r p 的发展状况及应用现状 随着经济全球化步伐的加快和市场竞争的日益加剧,不断完善提高企业管理 水平已成为企业,尤其是制造业企业的当务之急。e r p ( e n t e r p r i s er e s o u r c e s p l a n n i n g ,企业资源计划) 正是信息化技术与管理科学紧密结合的产物。 1 2 1e r p 的概念 e r p 是由美国加特纳公司( g a r t n e rg r o u pi n c ) 在9 0 年代初期首先提出的, 根据g a r t n e r 最初对e r p 的定义可用最简明的话表达如下“1 :e r p 是m r p i i ( m a n u f a c t u r i n gr e s o u r c e sp l a n n i n gi i ,制造资源计划) 的下一代。它的内涵 主要是“打破企业的四壁,把信息集成的范围扩大到企业的上下游,管理熬个供 需链,实现供翳链制造。”其主要宗旨就是将企业各方面的资源充分调配和平衡, 使企业在激烈的市场竞争中全方位地发挥足够的能力,从而取得更好的经济效益。 1 2 2 我国e r p 的应用现状分析 1 9 8 1 年,沈阳第一机床厂从德国工程师协会引进了第一套m r p i i 软件,开创了 e r p 在我国应用的先河。2 0 多年来,m r p i i e r p 在我国的应用与研究经历了由起步 到推广应用、由m r p i i 到e r p 、由e r p 技术研究至u e r p 产品开发进而发展成e r p 产业 的3 个阶段。在这个过程中逐步对e r p 有了一个比较全面、系统的认识。多层次、 产品化的e r p 软件市场基本形成,宏观上加强了对e r p 应用的管理和引导,锻炼和 培养了一批e r p 的应用人员。但是传统的管理模式没有打破、新的管理理念没有得 到贯彻实施、信息化基础薄弱和缺乏管理咨询队伍、对e r p 软件产品的认识不深 缺乏绩效评价、对实施e r p 存在的风险认识盲目等这些因素成为实施e r p 发展的障 2 碍。因此科学的制订e r p 软件开发计划和方案,成为现在e r p 开发和实施中亟待解 决的问题。 1 3 论文的主要研究内容及章节安排 论文首先介绍了e r p 软件的发展趋势,指出复用技术对e r p 软件的开发起到 的推动和促进作用,说明了课题的研究背景和意义。 第2 、3 章是通过介绍基于j 2 e e 的基本概念,了解了各种模式和构架的优缺 点,以及我们准备采用的方法和架构的类型。 第4 章是具体介绍基于一个实际e r p 系统的应用框架的设计,是本文的重点, 是在研究国内外e r p 软件以及在实际开发中不断深入研究和基于j 2 e e 技术基础之 上设计出来的e r p 系统的应用框架。 本章首先通过领域分析的方法对制造业e r p 系统进行领域需求分析,得出本 篇文章的设计的目标。根据系统的要求和框架设计的特点确定系统采用j 2 e e 的三 层体系结构。介绍了设计的应用框架的整体结构。框架整体结构的设计和基础数 据库的设计、构件库的设计、框架必须考虑应用系统的扩展性而采用的集成机制。 第5 章根据前面设计的应用框架具体设计出增、删、改、查的数据操作通用 构件。对数据的增、删、改和查,这些都是数据库的基本操作,能非常方便、有 规律地实现,而且在以后的使用上会很频繁,因此可抽象成通用的构件。 第6 章是通过把该应用框架以及设计的构件实际的应用在e r p 系统中的m r p 系统的开发中,从实际操作的角度来介绍设计的框架在实际中应用的情况。 最后,对全文进行总结,并展望了将所研究的框架的设计实用化的进步工 作及方向。 第2 章框架及相关技术分析 随着计算机技术的发展,软件的规模在不断提高,复杂度在不断增加,软件 危机也愈加明显的曝露出来。软件复用被认为是提高软件生产率、解决软件危机、 提高软件质量和增强软件开放性的主要途径。2 0 世纪8 0 年代以来,面向对象技术 的兴起为软件复用提供了基本的技术支持。软件构件技术以及框架的提出,又为 软件复用带来了新的生机,成为软件工作者研究的热点。框架为实现特定领域的 软件复用提供了很好的技术支持,它不仅实现了代码的复用,而且使设计和分析 也能复用。本章主要讲勰框架以及与框架密切相关的技术:构件、领域工程、设计 模式等,以便让我们对框架技术有一个整体的认识。 2 1 框架技术 2 i 1 框架的概念 国外著名的软件大师j o h n s o n 教授对框架进行了如下的定义:框架 ( f r a m e w o r k ) 是整个或部分系统的可复用设计,表现为一组抽象类及其实例( 对象) 之间的交互方式。北京大学杨美清教授从构件角度认为:一个框架由一组协作构 件组成阐明了整个设计、构件间的依赖及成员构件的责任分布。1 。这些成员构件 通常是子框架、类树或类,大多以抽象的形式出现,实现细节放在具体子类中, 构成一个抽象设计,不同的具体子类构成对设计的不同实现。框架作为构件使得 用户可以复用设计用户通过具体子类的嵌入而在框架中加入特殊功能。关于框 架还有另外的定义j o h n s o n f o o t 给出的定义:框架给出了一组类的定义,其中包 含了对一组应用的相关问题的抽象解决方案。“。通过对上述观点的分析,可以理解 为,框架是一个能够被开发人员实例化的系统骨架,是一个可以最大程度复用己 有领域生产经验的技术,表现为一组抽象类和具体类的形式,是特定领域应用软 件的半成品。在很多情况下,框架通常以构件库的形式出现,但构件库只是框架 的一个重要部分。框架的关键还在于框架内对象间的交互模式和控制流模式。框 架作为一种可复用的软件成分,要考虑框架开发和复用两方面的工作。框架的开 发是产生领域中可复用的设计与实现。框架的复用是通过复用框架得到特定的应 4 用系统。 框架是设计一个问题领域的软件系统的骨架,其结构对象模型和代码是可复 用的,根据用途,框架可分为以下三种: a 应用框架,面向应用领域中应用系统的骨架,但它并不提供完整的应用软 件系统的全部: b 支撑框架,不是应用系统的骨架, c 基础框架,不是应用系统的骨架, c o r b a 、j 2 e e 等。 而是框架的支撑部分: 而是应用系统共同使用的公共框架,如 由于支撑框架和基础框架一般主要由软件开发平台和工具提供,因此应用开 发人员一般只是直接使用它们,很少自己去构造,而主要关注特定应用系统的应 用框架的构造及其可复用性。本文主要研究的就是e r p 系统的应用框架。 2 1 2 框架技术简介 目前有许多框架系统,例如用户界面方面的框架有e t + + 等,其中e t + + 采用c 一 语言实现,运行于u n i x 等系统中。现在又出现了许多采用j 2 e e 编程环境的应用框 架,立d c o c o o n ,s t r u t s 和t u r b i n e 。这三者各有所长,c o c o o n 是较好的x m lf r a m e w o r k , s t r u t s 是较好的j s pf r a m e w o r k ,t u r b i n e 是较好的s e r v l e tf r a m e w o r k 下面,就简单分绍一下这几个基于j 2 e e 的框架技术“1 : 1 t u r b i n e 框架 t u r b i n e 是基于s e r v l e t 的f r a m e w o r k ,它能使有经验的j a v a 开发人员快速地构 建w e b 应用。使用t u r b i n e 可以通过创建使用特定服务来处理模板的s c r e e n ,来集 成现有的模板技术( 例如v e l o c i t y ,w e b m a c r o ,j a v as e r v e rp a g e s ( j s p ) , f r e e m a r k e r ,c o c o o n ) t u r b i n e 在整个处理过程中采用了r u n d a t e 为基础的数据封 装对象,在系统整个流转过程中,r u n d a t a 作为数据对象进行传递,这会导致系统 的强祸合,这也是t u r b i n e 的缺点所在。 2 c o c o o n 框架 c o c o o n 是采用1 0 0 纯j a v a 编写的一个内容发布框架。c o c o o n g 让用户采用w 3 c 的最新技术( d o m ,x m l ,x s l ) 来提供w e b p q 容。新的c o c o o n 模式能将文档内容、样 式、处理逻辑进行完全的分离,允许这三层能独立她设计、创建和管理,从而减 5 少了管理开销,加强了工作的复用性,减少了开发时间。 3 s t r u t s 框架“5 1 ( 如图2 1 1 所示) r e s p o n s e 图2 1 1s t r u t s 体系结构示意图 f i g 2 i 1s t r u t ss y s t e ms t r u c t u r a ls h o w s t r u t s 是a p a c h e 组织的一个项目,是开放源码项目。s t r u t s 框架具有组件的 模块化、灵活性和复用性的优点,同时简化了基于m v c 的w e b 应用程序的开发。如 上图所示,其中s t r u t sc o n t r o l l e r 基本功能是:截获用户的h t t p _ i w 求,把这个请 求映射到相应的a c t i o n 类,如果这是a c t i o n 类收到的第一个请求则初始化实例并 缓存;创建或发现个a c t i o n f o r mb e a n 实例,然后将请求过程移植到b e a n ;调用 a c t i o n 实例的e x e c u t e 方法并将a c t i o n f o r mb e a n ,a c t i o n m a p p i n g 对象,r e s p o n s e 对象传给它,r e q u e s t 对象取得,e x e c u t em e t h o d 返回一个a c t i o n f o r w a r d 对象, 此对象连接到相应的j s p 页面;a c t i o n 类是s t r u t s 中真正实现应用程序的事务逻辑 部分,负责处理请求,在收到请求后,a c t i o n s e r v l e t 会为这个请求选择适当的 a c t i o n ,如果需要,将创建a c t i o n 的一个实例;调用a c t i o n 的p e r f o r m ( ) 方法。 s t r u t s 框架应该是m v c 模式的具体实现,s t r u t s 清晰地区分控制、事务逻辑和外 观,从而简化了开发应用程序过程。 本文设计的e r p 系统就是采用s t r u t s 结构。 2 1 3 框架的构造过程 基于框架的软件开发模式是一种软件复用的高级形式,是面向特定领域的复 用技术,不仅能实现代码复用,而且可有效实现系统分析与设计的复用。通常, 6 开发一个框架一般需要经过下列阶段: 1 领域分析 领域分析是在给定的领域中,通过分析找出对所有应用系统的领域共性和变化 性,建立领域模型,领域模型中包含了该领域中的需求关系、领域中的相关概念 及它们之间的关系,该模型应该集中于领域实体而不是实现细节”3 。 2 框架设计 框架的设计包括框架体系结构,扩展点和框架构件的设计,需要考虑设计的通 用性,特别是处理领域变化性以及框架的可复用性的扩展点设计,根据同类问题 的特点与处理模式,将与具体应用无关的处理部分分离出来,选择合适的软件体 系结构,确定框架的总体结构控制流与数据流。 3 框架实现 框架的实现一般采用自顶向下的开发方法通过框架构件实现领域共性,并根据 不同的组装需求实现扩展模式,而将应用特定的功能变化性留待框架扩展时加以 固定。在整个实现过程中,还必须定义一个完整的实现标准,如编码的统一性和 规范,这样做可以使得开发出来的框架更易于被应用程序开发人员所理解和利用。 2 1 4 框架设计原则 框架的设计原则如下”1 : 1 ) “t h i nc i i e n t ,f a ts e r v e r ”,所有重量级操作都由框架在服务器上完成: 2 ) 框架a p i 简洁易用,框架同时适于c s 结构和b s 结构的系统开发要求; 3 ) 优化系统运行时性能; 4 ) 对异质工作流引擎有效兼容; 5 ) 通用数据库接口。 基于设计原则,框架在设计实现中重点解决如下三个问题: 1 ) 使框架a p i 简洁易用; 2 ) 做到有效兼容异质工作流引擎: 3 ) 实现a p i 与工作流引擎间的通讯机制。 实现a p i 的简洁易用,参考w f m c 有关工作流定义的标准,在框架中,将a p i 统一 归结为抽象类b u s i n e s s o b j e c t ,由r o l e ,u s e r ,a c l ,a c t i v i t y d e f i n i t i o n 等实 7 体类具体实现这些类的对象对于建立一个工作流程是必要完备的。在这些实体类 中r o l e ,u s e r ,a c l 三个类封装流程中用户权限管理部分。a c t i v i t y 类封装工作流 程的基本组成元素,例如步骤和任务等。a c t i v i t y d e f i n i t i o n 类封装有关流程定 义的内容,例如工作流模型。上述实体类提供完备的方法,覆盖大部分面向人员 工作流管理系统需要的操作。为做到有效兼容异质工作流引擎,框架定义了业务 实体抽象类b u s i n e s s e n t i t y ,这个抽象类定义了对业务实体进行操作的接口。针 对异质引擎a c l e n t i t y ,r o l e e n t i t y ,t a s k e n t i t y ,w o r k f l o w e n t i t y , w o r k f l o w m o d e l e n t i t y ,u s e r e n t i t y ,具体实现这个抽象类,完成对具体业务实体 对象的操作。这些业务实体对象通过使用框架的数据库接口,以及x m l 数据映射, 可以获取异质工作流引擎的业务实体数据,从而有效兼容异质工作流引擎。为实 现a p i 层对w o r k f l o we n g i n e 层的透明通讯,框架设置了r u n t i m e 运行时管理环境, 提供a p i 与工作流引擎间的通讯渠道。r u n t i m e 使用c a c h e 技术管理对象实例,负责 接收b u s i n e s s o b j e c t 对象的请求,进行b u s i e s s e n t i t y 对象的实体化。在进行对象 实体化时,根据不同类型的操作,采用反射技术动态加载类实例,以优化系统性 能。 2 2 构件技术 2 2 1 构件技术和构件库简介 构件技术的基本思想在于,创建和利用可复用的软件构件来解决应用软件的 开发问题。只要遵循构件技术的规范,各个软件开发商就可以用自己熟悉或者是 使用习惯的语言去实现构件“1 。软件构件是指可复用的软件单元,可以被用来构造 其它软件。它可以是被封装的对象类、功能模块、软件框架、软件系统模型和软 件的文档,如可复用的分析件、设计件等。 构件是指应用系统中可以明确辨识的构件成分,具有相对独立的功能和可复 用价值的、可被清楚标识的功能模块。它描述并执行特定的功能、有清楚的界面、 正确的文档和定义良好的复用状态。具体的讲构件是一种定义良好的独立可复用 的对象,它可以是一些功能模块、被封装的对象类、软件框架、软件系统模型, 也可以是抽象的管理经验和开发思想等。 8 构件库( c o m p o n e n tr e p o s i t o r y ) 是基于构件的软件系统的一个重要部分,它 对构件的提取、分类、存储以及检索、组装等进行了有效的管理。一般情况下, 构件库主要分为两部分:构件库和构件库管理系统,其中构件库用来存储构件,构 件库管理系统实现对构件的增加、删除、查找、检索等操作。 2 。2 。2 构件技术特点及与框架技术的关系 构件和基于构件的方法是i n t e r n e t 时代开发企业级应用的解决方法。一个定 义良好的可复用的软件构件应该有以下特征: l ,有用性,必须提供有用的功能; 2 可用性,必须易于理解和使用; 3 适应性,应易于通过参数化等方式在不同语境中进行配霞: 4 。可移植性,能在不同的硬件平台和软件环境中工作; 5 可靠性,构件自身及其变形必须能正确工作。 框架是构件技术、软件体系结构、应用系统开发三者发展结合的产物。一般 情况下,框架通常以构件库的形式出现,但构件库只是框架的一部分。框架比构 件可定制性强。在某种程度上,将构件和框架看成两个不同但彼此协作的技术更 好些。框架为构件提供复用的环境,为构件处理错误、交换数据及激活操作提供 了标准的方法。应用框架是由一组协作的构件组成。框絮定义了构件的接口和相 应的规约,为构件的获取提供了依据。在基于构件的系统开发中,可以通过以下 几个方式获取构件: 1 直接从构件库里得到符合要求的构件; 2 对构件库中的构件进行相应的修改或扩展,使其符合业务需求; 3 购买现成的商业构件,如报表工具等; 4 开发一些新的构件,如果具有通用性就放到构件库中,进一步完善构件库。 2 3 领域分析 2 3 1 领域工程与领域分析简介 领域是指一组具有相似或相近软件需求的应用系统所覆盖的功能区域。软件 复用的研究与实践说明,在特定领域内,软件的成功率鸯大幅提高,这是由特定 9 领域本身的相对内聚性和稳定性所决定的。1 。 领域工程是一个识别和建立领域中开发系统所需要使用的可复用构件的过 程。领域工程技术也是实施成功复用计划的关键技术之一。作为领域工程的第 个阶段,领域分析是一个识别一组相关系统间的共性和差异的过程。合理有效的 领域分析能更有针对性地与相关人员交流,从而可以更快地确定需求。其次,领 域分析不同于系统分析,它将给出一个应用领域的总体视图,这会引导出更好的 抽象来改进设计。有了相关的领域知识,就可以洞察新兴趋势并注意到进一步开 发的机会,这必将有助于创建适应性更强的系统。 领域分析通常可分为三步: ( 1 ) 定义和划分领域边界,标识领域知识和信息源,选择进行领域分析的途径: ( 2 ) 构件的识别与提取; ( 3 ) 封装可复用软件构件。 2 3 2 领域工程与框架的关系 框架总是面向特定领域的,是对特定领域中一组应用系统的共性进行的抽象 表达。开发人员只有掌握相关领域的知识,对该领域的具体应用系统进行全方位 的了解,才能开发出针对该领域的框架。框架的开发需要得到领域知识,而领域 知识的获取离不开领域工程技术。框架的设计需要提炼出构件劳提供集成机铡。 实现后的框架又反作用于相应的领域,为该领域系统软件的开发提供支持。 2 4 本章小结 在本章中,首先介绍了框架技术的概念,框架设计原则及技术问题与解决方 案,框架设计的优缺点。在进行e r p 框架设计时所涉及的各种关键技术。构件技 术及其发展,和框架设计的关系。领域工程概念和领域分析,以及和框架分析的 关系。 3 1j 2 e e 平台 第3 章j 2 e e 技术介绍 3 1 1j 2 e e 概述 在1 9 9 7 年后期,来自s u nm i c r o s y s t e m s 、b e a 、i b m 、o r a c l e 、s y b a s e 的 一些j a v a 程序设计语言的爱好者,开始培育一个基于j a v a 技术的企业平台的想 象,这是一个具有竞争力的想象,因为它的焦点在于业务利益,而且是一个具有 说服力的执行策略。目标是创建一个j a v a 平台标准,在这个平台上,企业系统供 应商提供能够实现兼容的产品,同时也为各自不同点提供扩展空间;这样,公司 的信息技术人员就能够很容易的从可移植的组件技术中得益,将注意力集中到支 撑他们的业务过程需求,而不是解决分布式基础设施产品的集成问题;这样独立 的软件商能够吸引到这个辉煌的组件产业中。我们努力创造一个强大的业务伙伴 联盟,动员了独立的软件提供商、企业软件提供商、应用软件提供商和主要的计 算机系统提供商,这些业界的合作导致了一组技术,这些技术就是构成了j 2 e e “。 3 1 2j 2 e e 架构 j 2 e e 架构是一个多层的结构,包括以下几层“: 用户层:用来与用户交互,并把来自系统的信息显示给用户。j 2 e e 平台支持不 同类型的用户。包括h t m l 用户,j a v aa p p l e t s 和j a v a 应用等。 w e b 层:w e b 层产生表示逻辑,并接受来自客户端的用户反馈。在所接收的客户 端请求的基础上,表示层对用户的请求产生相应的回应。在j 2 e e 平台中,是n w e b 容器内的s e r v l e t 和j s p 来实现这一层。 业务层:业务层处理应用的核心业务逻辑。业务层为低层业务提供必要的接 口。业务组件通常被实现为e j b 容器内的e j b 缀件。其中,e j b 容器提供组件生命周 期,管理持久性、事务和资源分配等。 e i s 层:该层为企业的信息服务系统服务,包括数据库系统,事物处理系统, 企业资源计划系统等。e i s 是j 2 e e 应用与非j 2 e e 应用的连接点。 j 2 e e 层次结构如图3 1 1 所示: 1 1 j 2 9 s 的 应用程序1 j 2 e e 的 应用程序2 圆圈h t m l i 的客户端lii 客户层客户淌机器 圈j s p n n 漏辅 圜圜蝴 广e i s 层+ 数据库服务器 i 数据库 l 圈3 i ij 2 e e 层次结构图 f i g 3 1 1j 2 e e s y s t e mh i b e r a r c h y 3 ,1 _ 3j 2 e e 应用组件和容器 j 2 e e 组件容器支撑j 2 e e 平台的应用组件。容器为现有组件和服务与客户端的 组件提供必要的构架和支撑的服务。容器通常作为一个j a v a 兼容的运行环境为组 件提供服务”“。 j 2 e e 平台的核心应用组件: j a v a 应用组件运行在应用容器内的独立j a v a 程序。 a p p l e t 组件运行在a p p l e t 容器内的,通常由w e b 浏览器支持。 s e r v l e z 和j s p 运行在w e b 容器内的w e b 层组件。s e r v l e t 和j s p 提供的 动态表现页面内容的机制,包括页面的准备、处理和显示格式等。 e j b 组件运行在e j b 容器内的组件。 在系统的部署过程中,组件被安装到容器中定平台功能之间的接口。容器就 是组件与支持组件的服务器所提供的内在支持,包括容器设置定制t j 2 e e 安全, 事务管理,j n d i 寻址,远程连接等服务。 3 1 4j 2 e e 的多屡应用模型 s u n 公司制定基于j a v a 组件的企业组件应用系统的规范,定义了一个多层企业 信息管理系统标准平台,旨在简化和规范企业应用软件的升发和部署。 从应用的角度来看,j 2 e e 为企业应用系统提供了一种多层分布式企业应用模型。 在j 2 e e 中,应用逻辑按功能不同,可以划分为功能不同的组件,各组件根据他们 所在层不同分布在不同的机器上,共同组成了基于组件的分布式系统。下图3 1 2 就是j 2 e e 多层分布模型的图示。“: 客户溺服务器端 商业逻辑信息系统 l 纯h t m l w 曲 服务器 l 划_ 呻 l 叫 囡 _ 田 回 i 嚣蛔l 一 j a v a 同。h m i s 1 一 l 应用1一一 s e l v l a t 其他设备 圉 一hl 叫 j 2 e e hl m i s 图3 1 2j 2 e e 多层分布模型 f i g 3 1 2j 2 e e m u l t i l a y e r d i s t r i b u t i n g m o d e l 如上图3 。1 2 所示,j 2 e e 定义了一个典型的四层结构: 运行在客户端的浏览器;运行在j 2 e e 服务器上由s e r v l e t 和j s p 组成的w e b 层组件;运行在j 2 e e 服务器上的商业逻辑层组件e j b s ;运行在e i s ( e n t e r p r i s e i n f o r m a t i o ns y s t e m ) 上的数据层;采用多层应用的体系机构有以下几个好处: 1 、灵活的硬件系统构成 对于各层可选的处理负荷和处理特性相适应的服务,这是一个与系统可缩放 性相关的问题。采用这种体系结构,可以使系统在硬件变更上非常简单。 1 3 2 、开发的灵活性 多层结构中,应用的各层可以并行开发也可选择各自适合的语言。 3 、利于变更和维护应用技术规范 各层按功能分割,所以逻辑分割更简单。 4 、进行严密的安全管理 在多层结构中,用户的权限是通过层来构建的,所以对数据的存取权限也可 以采用分层来设置,安全性更高。 5 、多层应用还有管理简单,可支持异种数据库,可用性高等优点。 根据以上分析本文的演示系统采用j 2 e e 分层架构体系结构。 3 2j 2 e e 的模式简介 3 2 1 模式的概念 模式的概念最初来源于工程和建筑模式,软件行业的模式概念的普及是由 e r i c hg a m m a ,r i c h a r dh e l m ,r a l p hj o h n s o n 和j o h nv l i s s i d s 四人( 简称“g o f ”) 合著的设计模式:可复用面向对象软件的基础( d e s i g np a t t e r n s :e l e m e n t so f e u s a b l eo b j e c t o r i e n t e ds o f t w a r e ) 一书而引发的。如今“模式”已经成为全世 界软件开发的一个共同话题。模式是用来描述问题及其解决方案的方法。在构造 一个系统时,通常将现实世界的事物提取特征并抽象为对象,并封装对象的属性 和方法。为了使所设计的应用系统与现实的环境更为贴切、逼真,开发人员需要 不断调整软件系统的设计框架。在这个不断调整的过程中,一些设计方法,经过 不断的改进和完善后逐渐成型,成为构造此类系统时的基本设计参考,也就是设 计模式。“每一个模式描述了个在我们周围不断重复发生的问题以及该问题解 决方案的核心。这样就可以一次又一次地使用该方案而不必做重复劳动”“。”设计 模式提供了在特定应用场景下解决问题的类、对象及相互关系的设计方法。这些 方法其有最基本的特点,并不针对于具体的系统,只是提供了一种设计系统的思 考方法,一个设计模式可能用于不同的系统,一个系统也可能会用到多个设计模 式。通常每种设计模式都包含有

温馨提示

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

评论

0/150

提交评论