




已阅读5页,还剩89页未读, 继续免费阅读
研究生学位论文轻量级j2ee的政府采购监察系统的设计与实现.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
西南交通大学 硕士学位论文 基于轻量级J2EE的政府采购监察系统的设计与实现 姓名:罗晗 申请学位级别:硕士 专业:通信与信息系统 指导教师:陆斌 20080601 西南交通大学硕士研究生学位论文第1 页 摘要 政府采购是指各级国家机关、事业单位和团体组织,使用财政性资金采 购依法制定的集中采购目录以内的货物、工程和服务的行为。在有效的维护 国家利益和社会公共利益的同时,政府采购的实际操作中,存在着不规范的 行为而产生危害,因此需要政府各职能部门加强监督和管理。随着国民经济 快速发展,政府采购量持续上升,采购规模也在逐年扩大,有限的监察人员、 传统的监察手段已难以适应急剧增加的工作量和政府采购形势的快速发展。 因此,需要大力发展政府采购监察系统,创新行政监察模式,变革监察方式 和内容,实现监察工作的自动化和电子化。 本论文以江苏省苏州市政府采购网上监察系统的开发工作为基础,探讨 了基于J 2 E E 技术的采购监察系统的实现方案。论文首先介绍了系统的建设目 标和设计原则,并对采购监察系统进行了需求分析,完成了系统的用例模型。 在需求分析的基础上,完成了系统的设计,包括功能模块设计与数据库设计, 并根据J 2 E E 分层结构和S S H 框架技术给出了系统的分层设计。最后完成了 采购监察系统的实现,采用了M V C 模式结合S t r u t s 、S p r i n g 、H i b e m a t e 轻量 级框架技术,以作者独立完成的监察事项处理为例,给出了系统表示层、业务 层和持久层的实现。此外,还给出了系统开发中一些关键问题的实现方法。 目前,该系统已经完成测试,运行正常,满足了用户各方面的需求,达 到了系统上线的要求。 关键词政府采购监察J 2 E EM V C 模式 西南交通大学硕士研究生学位论文第页 A b s t r a c t G o v e r n m e n tp r o c u r e m e n ti st h ef o r m a lp r o c e s st h r o u g hw h i c ho f f i c i a l g o v e m m e n ta g e n c i e so b t a i ng o o d s ,c o n s t r u c t i o na n ds e r v i c e sb yu s i n gf i n a n c i a l f u n da c c o r d i n gt ot h ee n a c t i v ep r o c u r e m e n tc a t a l o g u e W h i l ei ti s u p h o l d i n g n a t i o n a li n t e r e s ta n ds o c i a lb e n e f i t ,t h ea c t u a lp r o c e s so fg o v e r n m e n tp r o c u r e m e n t i n c l u d e sh a r m f u li n f o r m a la c t s ,w h i c h b r i n g sr e s p o n s i b i l i t y o fe n h a n c e d s u p e r v i s i o nt o a l l g o v e r n m e n t a lf u n c t i o n a ld e p a r t m e n t s A l o n gw i t ht h ef a s t d e v e l o p e de c o n o m y , g o v e r n m e n tp u r c h a s i n gq u a n t i t y i sc o n s t a n t l y r i s i n ga n d p u r c h a s i n gs i z i n gi se n l a r g e dy e a rb yy e a r U n d e rt h i sc i r c u m s t a n c e ,l i m i t e d r e s i d e n ts u p e r v i s o r sa n dc o n v e n t i o n a lm e a n so fi n v e s t i g a t i o nc a l lh a r d l yf i tt h e s h a r p l yi n c r e a s e dw o r k l o a da n dt h er a p i d l ye x p a n d e dg o v e r n m e n tp u r c h a s i n g m e a n s T h e r e f o r e ,i ti sn e c e s s a r yt ov i g o r o u s l yd e v e l o pt h eg o r v e r m e n t p r o c u r e m e n tm o m i t o r i n gs y s t e m ,i n n o v a t et h es u p e r v i s i n gm o d ea n dc h a n g i n gt h e s u p e r v i s i n gm e t h o d sa n dt a r g e t st o r e a l i z et h ea u t o m a t i o na n dc y b e r n a t i o no f s u p e r v i s i o n T h i sd i s s e r t a t i o nd i s c u s s e si m p l e m e n t a t i o no ft h ep r o c u r e m e n tm o m i t o r i n g s y s t e mb a s e s o nt h e d e v e l o p m e n t s o ft h e g o v e r n m e n tp r o c u r e m e n t o n l i n e m o n i t o r i n gs y s t e mi nS uZ h o uc i t yo fJ i a n gS up r o v i n c e I tf i r s ta n a l y s e st h e r e q u i r e m e n to fg o v e r n m e n tp r o c u r e m e n tm o n i t o r i n gs y s t e mi n c l u d i n gt h et a r g e t , t h eo v e r a l la n df u n c t i o n a lr e q u i r e m e n ta n ds h o w sac o m p l e t e du s e c a s em o d e l F u r t h e r m o r e ,a na c c o m p l i s h e ds y s t e md e s i g ni sp r e s e n t e di n c l u d i n gt h ed e s i g no f f u n c t i o n a lm o d u l e sa n dd a t a b a s e I ta l s os h o w st h em u l t i - s t o r e ys t r u c t u r ed e s i g no f t h e s y s t e m F i n a l l y , i tr e v e a l st h ec o m p l e t e di m p l e m e n t a t i o no ft h es u p e r v i s e s y s t e mu s i n gS t r u t s 、S p r i n g 、H i b e r n a t ef r a m e w o r kt e c h n i q u e sb Ys h o w i n gt h e i m p l e m e n t a t i o no fP r e s e n t a t i o nL a y e r 、B u s i n e s sS e r v i c eL a y e ra n dP e r s i s t e n c e L a y e ro fS u p e r i v s ei t e mh a n d l i n gm o d u l ew h i c hw a sa c h i e v e db yt h ea u t h o r i n d i v i d u a l l y I na d d i t i o n ,r e v o l u t i o n s t oc e r t a i nd i f f i c u l t i e sa r eg i v e ni n t h e d e v e l o p m e n to f t h es y s t e m A tp r e s e n t ,t h es y s t e mh a sb e e nc o m p l e t e dt e s t i n ga n do p e r a t i n gn o r m a l l y , i t 西南交通大学硕士研究生学位论文第1 I I 页 m e e tt h ev a r i o u sn e e d so fu s e r st ot h es y s t e m K e yw o r d sg o v e r n m e n tp r o c u r e m e n tm o n i t o r i n g J 2 E EM V C p a t t e r n 西南交通大学 学位论文版权使用授权书 本学位论文作者完全了解学校有关保留、使用学位论文的规定,同意学 校保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查 阅和借阅。本人授权西南交通大学可以将本论文的全部或部分内容编入有关 数据库进行检索,可以采用影印、缩印或扫描等复印手段保存和汇编本学位 论文。 本学位论文属于 1 保密口,在年解密后适用本授权书: 2 不保密固,使用本授权书。 ( 请在以上方框内打“”) 学位论文作者签名:巧铭 E l 期: ) 俨占I S 指导老师签名:锯叁3 移弋 蹴、7 6 一沙易 西南交通大学学位论文创新性声明 本人郑重声明:所呈交的学位论文,是在导师指导下独立进行研究工作 所得的成果。除文中已经注明引用的内容外,本论文不包含任何其他个人或 集体已经发表或撰写过的研究成果。对本文的研究做出贡献的个人和集体, 均已在文中作了明确的说明。本人完全意识到本声明的法律结果由本人承担。 本学位论文的主要创新点如下: 本文通过对某省市财政局和监察局工作情况的实地调研,针对该地实际 的政府采购工作模式和监察工作特点,结合J 2 E E 技术,对其采购监察过程进 行分析,完成了政府采购监察系统的分析与设计,结合设计完成了系统实现, 并对一些关键性问题如查询配置开发模块的实现等给出了解决方案。 在系统中使用M V C 模式实现了业务代码与视图代码相分离,利用I o C 技术解决了系统模块间的依赖性,使用H i b e m a t e 解决了面向对象与关系数据 库间互不匹配问题。该系统目前已经正常运行,提高了主管部门的监察效率, 并为领导决策提供了参考依据。 西南交通大学硕士研究生学位论文第1 页 第1 章绪论 随着计算机和网络技术的进步,我国电子政务系统建设得到了快速发展 f l 】。作为电子政务系统的重要组成部分,政府采购监察系统利用网络信息技术, 结合创新的行政监察模式,变革监察方式,监察内容,实现了监察工作自动 化和电子化。建设一个功能强大的采购监察系统,能够有效发挥监察人员的 行政干预手段,达到进一步规范政府采购的行为,促进采购过程公平、公开 和公正的平台形成的目的,对于全面推进电子政务建设,也具有十分重要的 意义。 1 1 研究背景与意义 政府采购是指各级国家机关、事业单位和团体组织,使用财政性资金采 购依法制定的集中采购目录以内的或者采购限额标准以上的货物、工程和服 务的行为【2 】。我国通过政府采购制度的制定,在市场经济条件下加强了财政支 出的管理、提高了财政支出的使用效益,规范了政府采购行为,并通过对国 民经济的宏观调控手段,有效的维护了国家利益和社会公共利益。然而,政 府采购作为一个新生事物,在政府采购的实际操作过程中,仍存在不规范的 行为而产生危害:影响了党风廉政建设,政府采购作为一种市场交易行为, 在为市场提供巨大商机的同时,容易滋生商业贿赂等腐败行为,严重破坏了 公平竞争的法律环境,毒化了社会风气,损害了公共利益,腐蚀了干部队伍; 由于制度本身还处于建设和完善阶段,因此采购活动中还会存在一些违规违 纪行为,违背了采购过程的“三公”( 公开、公平和公正) 原则,对采购的各 方主体权益产生不同程度的影响,进而危害到国家和社会的经济效益。 同时,随着国民经济快速发展,政府采购量持续上升,采购规模也在逐 年扩大,许多地方政府采购实行管采分离和市场化运作模式,财政部门只履 行政府采购的监管职能,具体操作和执行由社会中介代理机构承担。有限的 监察人员、传统的监察手段已难以适应急剧增加的工作量和政府采购形势的 快速发展。因此,发展新的监察手段,逐步实现行政监察电子化【3 训,保证政 府采购监察工作的公正性,独立性和效率,成为当务之急。 西南交通大学硕士研究生学位论文第2 页 基于上述背景,本论文中开发的政府采购网上监察系统,将实现行政的 监察和财政监管有效的结合,通过依据集中采购目录,对采购资金的核定、 采购文件编制、公告发布、招标过程、中标确定、合同签订、履约和验收、 资金支付和供应商投诉等环节的监控,进一步规范政府采购市场和财政支出, 从源头上遏制腐败,达到促进廉政建设的作用。本系统的实现,将通过对政 府采购项目基础数据的动态采集,对各个采购环节的实时监控,加大对操作 执行环节的行政监督管理作用,能及时发现在采购过程中发生的违规违纪行 为,有效发挥监察人员的行政干预手段,达到进一步规范政府采购的行为, 促进采购过程公平、公开和公正的平台建设,实现“阳光下的交易”,从源头 上预防和治理腐败的目标;并且,系统通过对监察数据的有效查询、统计和 分析,为监管部门提供真实的信息及趋势分析,为监管工作提供有效的辅助 和支持作用。 1 2 本论文的研究内容 本文结合某省市政府采购工作模式和当地监察局、财政局政府采购监察 工作实际情况,主要研究基于J 2 E E 技术的政府采购监察系统,提出了基于 B S ( B r o w s e r S e r v e r , 浏览器服务器) 结构的监察系统设计方案。该系统采用 J S P ( J a v aS e r v e rP a g 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 ) 开发框架技术开发 动态、交互的W e b 应用系统,采用J 2 E E 的分层结构,使界面与业务逻辑彻 底分离,在系统架构中各司其职,互不干涉,具有较强的伸缩性、通用性和 可操作性。 本论文研究内容主要包括:首先对J 2 E E 【5 】、S S H ( S t r u t s 6 + S p r i n g 【7 垲J 、 H i b e m a t e 【9 1 ) 框架技术、J 2 E E 分层结构【1 川和M V C 模式【1 1 。1 2 】做了概要介绍,介 绍了J 2 E E 多层结构与M V C 模式的联系及选用轻量级开发框架的方案。本文 着重介绍了采购监察系统从分析、设计到实现的全过程。在项目分析阶段, 讲述了系统的建设目标,功能需求,捕获需求作为用例,给出了系统的用例 模型;在项目设计阶段描述了系统的功能结构设计,并结合J 2 E E 分层结构和 S S H 框架技术给出了系统的表现层、业务逻辑层和数据持久层的设计以及数 据库的设计。在项目实现阶段,以作者独立开发的监察事项处理模块为例, 给出了系统表示层、业务逻辑层和数据持久层的具体实现。同时,对系统开 发中遇到的一些关键性问题如查询配置开发模块的实现,具有交互功能的热 点图表实现给出了解决方案。 西南交通大学硕士研究生学位论文第3 页 1 3 本论文的章节安排 全文共分四章。 第一章绪论,介绍了论文背景及论文研究内容和章节安排。 第二章,介绍了相关的理论和系统开发的技术。 第三章,政府采购监察系统的分析与设计,介绍了系统的建设目标、设 计原则和功能需求,在此基础上给出了系统的用例模型。根据需求分析,给 出了系统功能模块设计和数据库设计,最后给出了基于 S t r u t s + S p r i n g + H i b e r n a t e 框架的系统分层设计。 第四章,政府采购监察系统的实现,介绍了系统开发平台,通过监察事 项处理模块详细介绍了系统表现层、业务层、数据持久层的实现方法,并给 出了一些关键问题的解决方案。 西南交通大学硕士研究生学位论文第4 页 第2 章相关理论与技术基础 为了方便对本监察系统的认识和了解,本章将涉及监察系统所需要用到 的主要相关技术做一简要介绍。 2 1J 2 E E 技术简介 电子商务的发展对传统的W e b 技术提出了强有力的挑战,由于电子商务 的内部逻辑复杂,安全性要求苛刻,商务形式发展变化快,这就要求W e b 技 术提供足够的复杂度和灵活性以适应电子商务的需求。 J 2 E E O a v a 2 E n t e r p r i s e E d i t i o n ) 技术于是脱颖而出,并且日益完善,成为电子商 务的主要开发平台。J 2 E E 构架是S u n 公司在1 9 9 7 年的J a v a O n e 大会上宣布 的,它还定义了开发和运行企业级W e b 的应用标准。它是一个技术标准,并 不是一个产品。随着J 2 E E 的出现,J a v a 语言的功能和工具得到了极大的扩充、 丰富和发展,可以用于复杂的、多层次的以及分布式的电子商务和企业级应 用。J 2 E E 构架与技术为组件开发模型提供广泛的支持,同时也提供一组开发 工具和服务,以便开发模块化的、可重用的和平台独立的各种组件技术的业 务逻辑。 使用J 2 E E 规范可以很容易的建立W e b 服务模型。大量的B 2 B 协作模型 已经使用了J 2 E E 体系结构。由于J 2 E E A P I 的当前版本包括了以X M L 为中心 的协作框架的X M L 软件包,开发者现在可以运行J 2 E E 迅速建立基于X M L 的W e b 服务模型,J 2 E E 提供了无需重建现有基于J a v a 的实现而快速建立框 架的能力。 2 1 1J 2 E E 分布式多层应用模型 J 2 E E 是基于分布式的多层应用模型 13 1 ,在这种模型中,应用逻辑按功能 划分为不同的组件,各个应用组件根据他们所在的层分布在不同的机器上。 事实上,S U N 设计J 2 E E 的初衷正是为了解决两层模式C S ( C l i e n t S e r v e r ,客 户端月艮务1 1 ) 难于升级、可伸展性差等弊端。现在J 2 E E 的多层分布式应用模 型将两层化模型中的不同层面切分成许多层。图2 1 展示了J 2 E E 的分布式多 西南交通大学硕士研究生学位论文第5 页 层应用模型。 1 运行在客户端机器上的客户层( C l i e n tT i e r ) 2 运行在J 2 E E 服务器上的W e b 层( W e bT i e r ) 3 运行在J 2 E E 服务器上的业务逻辑层( B u s i n e s sT i e r ) 4 运行在数据库服务器上的数据库层 J 2 E E 应用程序lJ 2 E E 应用程序2 客户端服务器 J 2 E E 服务器 数据库服务器 图2 1 J 2 E E 体系结构 从图2 1 中可以看到,尽管J 2 E E 支持四个不同的层:客户层、W e b 层、 业务层和数据库层,但不一定要求每一层在物理上位于单独的计算机体系中。 在通常情况下,W e b 层和业务层在同一台服务器( J 2 E E 服务器) 上运行,基于 这一点,这两层被认为是中间层( M i d d l eT i e r ) 的子层。 2 1 1 1 客户层 客户层用来与用户交互,并把来自系统的信息显示给用户。基于W e b 的 J 2 E E 应用,允许浏览器将W e b 网页和A p p l e t 下载到客户机器上运行。例如, 运行在诸如手持设备或车载电话上的A p p l e t 可以显示W M L 网页,这些网页 由运行在J 2 E E 服务器上的S e r v l e t 或J S P 生成。用户的W e b 浏览器从W e b 层 下载静态或动态的H T M L ,W M L ,X M L 页面。 J 2 E E 应用可以是基于W e b 的,也可以不基于W e b 的。在一个基于W e b 的J 2 E E 应用中,用户的浏览器在客户层中运行,并从一个W e b 服务器上下 载W e b 层中的静态H T M L 页面或由J S P 或S e r v l e t s 生成的动态H T M L 页面。 西南交通大学硕士研究生学位论文第6 页 在一个不基于W e b 的J 2 E E 应用程序中,或者一个独立客户程序,不是运行 在H T M L 页面中,而是运行在其它一些基于网络的系统( 比如手持设备或汽车 电话) 中的A p p l e t 程序,在客户层中运行,并在不经过W e b 层的情况下访问 E r B 。 2 1 1 2W E B 层 J 2 E E 的W e b 组件可以由J S P 页面、基于W e b 的A p p l e t 以及显示H T M L 页面的S e r v l e t s 组成。调用S e r v l e t s 或者J S P 页面的H T M L 页面在应用程序组 装时与W e b 组件打包在一起。正如图2 2 所示的客户层那样,W e b 层可能包 含某些J a v a B e a n 对象来处理用户输入,并把输入发送给运行在业务层上的 E n t e r p r i s e B e a n 来进行处理。 W e b 层 W e b 浏览器 J S P 页面 J a v a B e a n 类 W e b 页面,A p p l e t S e r v l e t 和可选的J a v a B c a n 类 ( 町选) 业务层 应用程序客户端 和可选的J a v a B e a n 类 2 1 1 3 业务层 图2 - 2 W 曲层 J 2 E E 服务器 作为解决或满足某个特定业务领域( 比如银行、零售或金融业) 需要的逻辑 业务代码由运行在业务层的E n t e r p r i s e B e a n 来执行。下图2 3 表明了一个 E n t e r p r i s e B e a n 从客户程序处接收数据,对数据进行处理( 如果需要) ,再将数 据发送到数据库层存储。一个E n t e r p r i s e B e a n 从存储中检索数据,并将数据送 回客户程序。运行在业务层的E n t e r p r i s e B e a n 依赖于容器来为诸如事务、生命 期、状态管理、多线程及资源存储池提供通常非常复杂的系统级代码。业务 层和W e b 层一起构成了二层J 2 E E 应用的中间层,而其它两层是客户层和数 西南交通大学硕士研究生学位论文第7 页 据库层。 业务层数据库层 W e b 洲览器 W e b 贞面,A p p l e t J S P 页面J s v s B e a N 类E n t e q x i s e B e a n 和可选的J a v a l 蛔n 类 S e r v l e t ( 可选) 类 敦据库和 原有旧系统 应用稃序客户端 和可选的J a v a B e 4 m 类 J 2 E E 服务器 2 1 1 4 数据库层 图2 3 业务层 数据库层运行在数据库服务器上,在企业应用系统的逻辑层划分中,数 据库层通常包括企业资源规划( E R P ) 系统、大型机事务处理( M a i n f r a m e T r a n s a c t i o np r o c e s s i n g ) 系统、关系数据库系统( R D M S ) 等等。 。2 1 1 5J 2 E E 的五层应用模型 在实际的项目中,四层的划分往往不能很准确的指导开发,因为在业务 逻辑层与数据库交互的过程中往往需要对数据库调用接口做进一步的封装。 这样在项目的开发和维护上会增加了一定的复杂性和管理的难度。一个有效 的解决方案【1 4 】是把业务信息按照功能模块拆分开:业务逻辑与数据库服务器 分开,用户界面与业务逻辑分开,彼此相对独立,任一方的任何改变都不会 影响对方,或者影响不大。因此可以在业务逻辑层和数据库层之间增加一个 数据持久层。将数据持久逻辑和业务逻辑分离,业务逻辑层通过数据持久层 与数据库交互,数据持久层位于数据库之上,隐藏数据读取和操纵中的所有 数据访问代码细节,将客户应用程序和底层存储机制隔离开。这样使得各层 功能简洁、专一,降低各层之间的耦合。如图2 - 4 所示: 西南交通大学硕士研究生学位论文第8 页 2 2M V C 模式简介 垦7 习l 薏; 眨目 I 。叼 客4 螭客4 _ w 曲表示层 业务逻辑层 数据持久层 数据库层 图2 - 4J 2 E E 五层结构 在I n t e m e t 迅速发展的今天,如何快速有效的构建良好、稳定、易扩展的 三层B S ( B r o w e r S e r v e r ) 结构已经成了开发研究的热点。M V C 设计模式 ( M o d e l V i e w C o n t o r l l e r ,模型视图控制器) 体现了一种“分治”的思想,在实现 三层B S 结构中具有得天独厚的优势,并被推荐为S u n 公司J 2 E E 平台的设计 模式。M V C 模式经常作为一个设计模式出现在各种讨论中,但实际上M V C 是结构模式而非设计模式【15 1 。但事实上,M V C 模式与其他的设计模式的关系 密不可分,因此,把M V C 模式视作比设计模式粒度更大,层次更高架构( 模 式) 是较为妥当的做法。M V C 把W 曲应用分成三层:模型( M o d e l ) ,视图( V i e w ) , 控制器( C o n t r o l l e r ) ,其结构如图2 5 所示: 择视 控制器 接受用户请求; 调用模型响应用户请求 选择视图响应结果 用户请求 视图 显示模型状态 接受数据更新请求 把用户数据传给控制器 状态查询 通知数据更新 业务处理 模型 代表应用程序状态 响应状态查询 处理业务流程 通知试图业务状态更新 图2 - 5 M V C 模式结构图 下面详细说明各部分的作用: 西南交通大学硕士研究生学位论文第9 页 视图:代表用户交互界面,对于W e b 应用来说,H T M L 依旧在视图中扮 演着重要的角色,但一些新的技术已层出不穷,它们包括F l a s h 和象X H T M L , X M U X S L ,W M L 等一些标识语言和W e b s e r v i c e s 。随着应用的复杂性和规模 性,界面的处理也变得具有挑战性。一个应用可能有很多不同的视图,M V C 设计模式对于视图的处理仅限于视图上数据的采集和处理,以及用户的请求, 而不包括在视图上的业务流程的处理。业务流程的处理交予模型( M o d e l ) 处理。 模型:就是业务流程状态的处理以及业务规则的制定和企业数据。业务 流程的处理过程对其它层来说是黑箱操作,模型接受视图请求的数据,并返 回最终的处理结果。业务模型的设计可以说是M V C 最主要的核心。目前流行 的E J B 模型就是一个典型的应用例子。 控制:可以理解为从用户接收请求,将模型与视图匹配在一起,共同完 成用户的请求。划分控制层的作用也很明显,它清楚地告诉你,它就是一个 分发器,选择什么样的模型,选择什么样的视图,可以完成什么样的用户请 求。控制层并不做任何的数据处理。例如,用户点击一个连接,控制层接受 请求后,并不处理业务信息,它只把用户的信息传递给模型,告诉模型做什 么,选择符合要求的视图返回给用户。 总结M V C 的处理过程: 1 首先控制器接受用户的请求,并决定应该调用哪个模型来处理。 2 然后模型通过业务逻辑来处理用户的请求并返回数据。 3 最后控制器根据返回的结果,调用相应的视图格式化模型( 如J S P ) ,并 通过表现层将处理后的结果呈现给用户。 2 2 1M V C 模式与J 2 E E 分层结构的关系 理解M V C 三个部分在J 2 E E 架构中处于什么位置,有助于我们理解M V C 模式的实现。前面提到并提供了一个J 2 E E 体系层次结构图,M V C 与J 2 E E 架构间对应关系是: 1 V i e w 处于W e b 层和客户端层,通常是J S P S e r v l e t s 。 2 C o n 仃0 U e r 也处于W 曲层,通常用S e r v l e t s 实现。 3 M o d e l 处于业务逻辑层,通常用服务器端J a v a B e a n 或者E J B 实现。 西南交通大学硕士研究生学位论文第1 0 页 2 3M V C 与框架技术 在J 2 E E 体系中,应用M V C 模式进行系统开发比简单的J S P 开发要复杂 的多,它需要更多的时间学习和掌握。同时新东西的引进会带来新的问题, 首先开发者必须基于M V C 组建的方式重新思考和设计应用程序,原先只要建 立一个简单的J S P 页面就能实现的功能要变成多个步骤的设计和实现。M V C 架构中必须实现的页面和组建,都必须进行附加的开发工作。为了降低M V C 模式实现的复杂度,W e b 框架适时的诞生了。W e b 框架大都是基于M V C 模 式的,它们定义了各自的一套规范,分别把业务逻辑、显示和流程分开,开 发者按照规范进行开发。 框架是一种软件重用技术,它是一个应用软件系统的部分或整体的可重 用设计。它规定了应用的体系结构,阐明了整个设计、协作构建之间的关系, 责任分配和控制流程,表现为一组抽象类以及它们的实例之间的协作方法。 采用框架开发,提高了整个系统结构的改善和流程的固定化,从而提高了整 个系统的可重用性和易维护性。使用框架都有一个较长的学习曲线,这需要 开发者有一个比较准确的估计。对于大型并且复杂的系统来说,采用己经开 发和测试好的框架软件包能提供比从头开始开发更显著的投资回报。目前, 比较流行或即将兴起的W 曲框架有:S t r u t s 框架【1 7 】;T u r b i n e 框架【18 】iT a p e s t r y 框架【1 卵;S p r i n g 框架等。 2 3 1S t r u t s 框架 S t r u t s 是一个为开发基于M V C 模式的应用架构的开源框架,是利用J a v a S e r v l e t 和J S P 构建W e b 应用的一项非常有用的技术。S t r u t s 把S e r v l e t 、J S P 、 自定义标签和信息资源整合到一个统一的框架中,开发人员使用它开发时不 需再自己编码实现全套M V C 模式,极大地节省了时间,S t r u t s 框架的工作原 理如图2 - 6 所示: 西南交通大学硕士研究生学位论文第1 1 页 视图控制器模型 IA 髓i S 。t ,r & u t s 。就 S t r u t s A c t i o n s I s 。n 鹏 | A c d 。1 1 F 锄 数据库 图2 6S t r u t s 框架工作原理 从图中可见所有浏览器请求都被提交给S t r u t s A c t i o n S e r v l e t 处理。 S t r u t s A c t i o n s e r v l e t 根据S t r u t s C o n f i g x m l 文件中预先配制好的设置,选择应该 将请求转到哪个S t r u t s A c t i o n 子类。再将请求的数据传递到适当的A c t i o n 请求 处理器。当用户提交表单时,创建一个S t r u t s A c t i o n F o r m 的子类,并填入表单 中相应的数据。S t r u t s A c t i o n 子类可以从A c t i o n F o r m 子类中获得数据,用以调 用业务逻辑代码。S t r u t s A c t i o n 子类调用业务逻辑组件,完成业务功能。 2 3 2S p r i n g 框架技术 容器是一组提供一系列服务的管理器,只要符合容器的服务要求( 规范) , 都可以使用容器范围内的管理服务。容器里包含的服务有: 1 生命周期管理:既然要管理运行的组件( 或程序片断) ,至少可以通过 某种方法在需要它的时候创建,不用的时候销毁。 2 查询定位:管理器的主要工作是通过一定的策略( 通常用文件名称) 确 定需要调用哪个组件或者资源。 3 配置器:提供静态配置策略。让用户可以控制服务的细节部分,如指 定资源在哪里,组件之间存在关系,或者需要相互通讯等等。这就需要分析 出组件之间的依赖关系,动态管理。 4 不同协议层的通讯支持:程序片断不是单独就可以完成所有的计算, 还需要和不同的系统( 平台) 进行通讯,如用J D B C 和数据存储数据库,用R M I 远程调用等。 5 扩展支持:扩展服务不仅是容器需要的,也是任何软件需要的,如增 西南交通大学硕士研究生学位论文 一 第1 2 页 加安全策略等。轻量级容器【2 0 】使用一个共同设计原理:依赖注入( D I 或者b c ) 。 依赖注入将对象和它所依赖的东西交给第三方,由第三方负责创建所有对象 并将对象绑在一起。 轻量级容器对于W e b 应用的意义尤为明显,但对于其他类型的应用( 包括 在J 2 E E 环境中运行的应用和独立的应用) 来说,轻量级容器也有助于提高它 们的复用程度,例如业务对象和数据访问对象( D A O ) 的复用。 目前,轻量级容器在O p e n S o u r c e ( 开放源代码) 范围己经得到了广泛的认 可。作为下一代J 2 E E 构架的基础有着无法比拟的优势。当前已存在的轻量级 容器框架中,有绝大部分来自O p e n S o u r c e 社群,这给我们对这项技术的了解 降低了门槛,S p r i n g 是轻量级容器框架中最重要的一员,它具有轻量级容器 框架的所有特征。 S p r i n g 是一个轻量级容器,它所带的包装器使许多不同的服务和框架更 易于使用。轻量级容器接受任何J a v a B e a n ,而不是只接受特定类型的组件。 S p r i n g 又并非仅仅是一个轻量级容器,它使构建J 2 E E 应用程序的J a v a 开发人 员可以直达现实域问题的核心,而不是在为域提供服务的细节方面花费大量 时间。 S p r i n g 被设计为让使用它创建的应用尽可能少的依赖于他的A P I 。在 S p r i n g 应用中的大多数业务对象没有依赖于S p r i n g 。我们的所有程序代码中, 并没有出现S p r i n g 中的任何组件,无侵入性,我们的组件也并不需要实现框 架指定的接E l ,因此可以轻松的将组件从S p r i n g 中脱离,甚至不需要任何修 改( 这在基于E J B 框架实现的应用中是难以想象的) 。方便转移到其他框架中 去。对于E J B 编程,我们必须学习一个广泛使用的A P I ,并通过新的工具和 部署流程开展工作。程序员是容器所提供的服务的奴隶。而借助于S p r i n g , 我们可以选择自己的服务和持久性框架。进行P O J O ( 普通J a v a 对象) 编程,并 使用配置文件为它们添加企业服务。 S p r i n g y r a m e w o r k 中目前最引人注目的,就是名为控制反转( I O C = I n v e r s e o f C o n t r 0 1 ) 或者依赖注A ( D I = D e p e n d e n c yI n j e c t i o n ) 的设计思想。下面简要介绍 这两个思想。 控制反转,就是由容器控制程序之间的关系,而非传统实现中,由程序 代码直接操控。依赖注入,即组件之间的依赖关系由容器在运行期决定,即 由容器动态的将某种依赖关系注入到组件之中。这两种说法都是描述S p r i n g 通过容器、配置文件,组织管理组件和代码,而不是由其自己进行调用,其 西南交通大学硕士研究生学位论文第1 3 页 本质是一样的。组件间的依赖关系减少,极大改善了代码的可重用性。S p r i n g 的依赖注入机制,可以在运行期为组件配置所需资源,而无需在编写组件代 码时就加以指定,从而在相当程度上降低了组件之间的耦合。动态配置所需 属性,实现了组件真正意义上的即插即用。这也是S p r i n g 最具价值的特性之 一。 依赖注入有以下几种实现类型: 1 接口注入:借助接口来将调用者与实现者分离; 2 设值注入( 常用) :即通过类的s e t t e r 方法完成依赖关系的设置,在X M L 文件中设值,后台通过调用s e t t e r 方法实现; 3 构造子注入:即通过构造函数完成依赖关系的设定。 2 3 3 对象关系映射与H i b e r n a t e 框架 对象关系映射是指单个组件中负责所有实体域对象的持久化,封装数据 访问细节【2 1 1 。本质上,O R M 的工作是将数据从一种表示( 双向) 转换为另一种。 使用O R M 这个术语包含所有可以根据元数据的描述自动生成S Q L 的持久层, 不包含开发人员通过编写S Q L 和使用J D B C 手工解决对象一关系映射问题的 持久层。使用O R M ,应用与O R MA P I 和根据下层S Q L J D B C 抽象出来的域 模型类进行交互。 H i b e r n a t e 矧是一个纯J a v a 的对象关系映射和持久性框架,它允许用X M L 配置文件把普通J a v a 对象映射到关系数据库表。使用H i b e r n a t e 能够节约大量 项目开发时间,因为整个J D B C 层都由这个框架管理。这意味着应用程序的 数据存取层位于H i b e r n a t e 之上,完全从底层数据模型中抽象出来的。H i b e r n a t e 适合开发人员的开发进程,无论是从头开始一个设计还是使用遗留的数据库 系统。H i b e r n a t e 可以帮助产生S Q L ,使开发人员从手动处理结果集和对象转 换中解脱出来,使应用程序对所有的S Q L 数据库都是可移植的。H i b e r n a t e 提 供了强大、高性能的对象到关系型数据库的持久化服务。利用H i b e r n a t e ,开 发人员可以按照J a v a 的基础语义( 包括关联、继承、多态、组合以及J a v a 的 集合架构) 进行持久层开发。H i b e r n a t e 提供的H Q L ( H i b e m a t e Q u e r y L a n g u a g e ) 是面向对象的查询语言,它在对象型数据和关系型数据库之间构建了一条快 速、高效、便捷的沟通渠道。比起其他类似的对象关系映射技术( J D O 、实体 b e a n 、内部开发等) ,H i b e r n a t e 有许多优势它是免费、开源的,已经成熟并得 到广泛应用。 西南交通大学硕士研究生学位论文第1 4 页 第3 章系统的分析和设计 3 1 系统的建设目标和设计原则 3 1 1 系统的建设目标 目前政府采购的操作都统一通过政府采购业务系统和政务网平台来完成 集中采购项目从资金计划、采购过程、签订合同和打印支付通知的过程。因 此依托政府采购业务系统、代理机构考核系统和政务网平台中的采购业务数 据,结合监察的行政需要,能够实现一套对“政府采购项目”的电子监察系 统。 本系统的实现,将通过对政府采购项目基础数据的动态采集,对各个采 购环节:采购计划、采购过程( 采购方式的变更、招投标管理、项目的开评 定过程、中标、签订合同、协议供货) 、项目验收、国库支付、项目采购后期 管理( 代理机构考核、供应商投诉处理等) 的实时监控,加大对操作执行环 节的行政监督管理作用,能及时发现在采购过程中发生的违规违纪行为,有 效发挥监察人员的行政干预手段,达到进一步规范政府采购的行为,促进采 购过程公平、公开和公正的平台建设,实现“阳光下的交易”,从源头上预防 和治理腐败的目标;并且,系统通过对监察数据的有效查询、统计和分析, 为监管部门提供真实的信息及趋势预测分析,为监管工作提供有效的辅助和 支持作用。 本系统将依据从采购业务系统中获取的采购业务数据,通过对政府集中 采购项目从编制采购计划开始,经资金审核、编制采购方案、方案审核、招 投标过程、签订合同、项目履约,到资金支付等环节的电子监察,实现了将 采购的业务数据抽象成监察人员关注的各个监察点,并根据预定义规则,以 提示、异常和违规的事项展示,使得监察人员可以及时掌握和处理目前政府 采购过程中相关采购当事人或监督管理部门操作中的异常和违规现象。通过 对采购全过程的数据采集和分析,给提供领导更好的决策支持。本系统具体 包括以下目标: 1 通过对政府采购过程的监察,能将事后监察,提前到事前或采购过程 西南交通大学硕士研究生学位论文第1 5 页 中,能及时发现采购中发生的警告、异常和违规事项,并对各种警告异常 违规事项进行监察监管处理,提高监管人员的日常工作效率; 2 通过行政的监管手段,能进一步强化政府采购工作操作执行环节的监 管作用,包括:编制采购方案、项目委托、采购信息公告发布、开标、
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 骨盆矫正的题目及答案
- 技术知识培训内容课件
- 2024年湖南省长沙市中考语文真题及答案解析
- 2025年全媒体理论考试题及答案
- 2025年山东数学高考试题及答案
- 食品药品考试试题及答案
- 山西地理中考试题及答案
- 恐惧不安课件
- 施工吊装考试题目及答案
- 急诊科护士教学课件
- 小学形容词副词单选题200道及答案(完整版)
- JT-T-1359-2020客车空气悬架技术要求
- 湘艺版音乐七年级下册第二单元 野蜂飞舞 教学设计教案1000字
- 企业商标保护风险评估与管理
- 商业空间设计(高职环境艺术设计专业和室内设计专业)全套教学课件
- 法学概论(第七版) 课件全套 谷春德 第1-7章 我国社会主义法的基本理论 - 国际法
- MOOC 生物化学实验-南京大学 中国大学慕课答案
- 设备部工作清单
- JJG 291-2018溶解氧测定仪
- 部编版八年级上册历史第一单元知识点
- 2024昆仑燃气安全方面的基本知识某年05
评论
0/150
提交评论