已阅读5页,还剩51页未读, 继续免费阅读
(系统分析与集成专业论文)基于j2ee框架的电子商务系统的设计与实现.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要 随着以j 2 e e 技术体系为代表的分布式对象技术为企业构造新的基于i n t e m e t 的电子 商务平台提供了技术支持,j 2 e e 作为多层企业应用开发模型,成为当前电子商务应用开 发的主流。越来越多基于j 2 e e 体系的企业应用实现框架层出不穷,比如比较流行的开 源框架e j b 、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 实现技术的分析、合理选择、新的应用框架的创建显 的尤为重要。 本文首先从电子商务发展着手,分析各种电子商务系统相关技术的优缺点,以及不 断发展衍化的原因。接着详细介绍了j 2 e e 的体系结构及其各组件,以及当前流行的开 发框架、中间件、和a j a x 技术,并提出了一个基于j 2 e e 的实现电子商务系统的应用 开发框架。该应用框架采用了j 2 e e 的多层体系结构,通过分离表示层、业务层及数据 层逻辑关系,集成轻量级框架s t r u t s 、h i b e r n a t e 及页面框架,特别采用s p r i n g 技术的事 务管理功能而形成。该框架与当前比较流行的应用框架比较,比如 s t r u t s + h i b e r n a t e ,s t r u t s + s p r i n g + h i b e r n a t e 等,它的优势体现在: l 、该框架避免了程序对s p r i n g 技术的过度依赖,以及配置文件过于复杂的缺点, 仅仅应用s p r i n g 技术的事务管理功能。 2 、该框架采用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 的一级缓存及利用多 种可选的连接池技术来提高h i b e r n a t e 的性能。 3 、在该框架的基础上,可以快速形成j 2 e e 体系的应用系统。 最后再给出一个基于此框架的实例网上在线购物系统。通过对此实例的分析、 设计和实现,说明该框架轻量级的整合体现了h i b e r n a t e 面向对象编程操作数据库的优 势及s p r i n g 事务管理方面的功能,并在系统的性能方面进行来优化。同样证明了该框架 在电子商务系统的开发中得到了良好的应用。 关键词:j 2 e e ;电子商务;s t r u t s ;s p r i n g ;h i b e r n a t e ;软件体系结构;a j a x a b s t r a c t w i t ht h ed e v e l o p m e n to ft e c h n i c a ls u p p o f to ft h ej 2 e et e c h n o l o g ys y s t e m ,r e p r e s e n t e d b yd i s t r i b u t e do b j e c tt e c h n o l o g yf o rt h ee n t e r p r i s e s t r u c t u r eo ft h en e wi n t e m e t - b a s e d e - c o m m e r c ep l a t f o r m ,j 2 e ea p p l i c a t i o nd e v e l o p m e n ta sam u l t i - e n t e r p r i s em o d e lh a sb e c o m e t h em a i n s t r e a mo ft h ed e v e l o p m e n to fe - c o m m e r c ea p p l i c a t i o n s m o r ea n dm o r es y s t e m s b a s e do nj 2e ef r a m e w o r kf o rt h er e a l i z a t i o no fm a n ye n t e r p r i s ea p p l i c a t i o n ss p r i n g ,s u c ha s t h em o r ep o p u l a ro p e n s o u r c ef r a m e w o r kf o re j b ,s t r u t s ,s p r i n g ,h i b e r n a t ea n ds oo n ,b u t a p p l i c a t i o nm o d e lw h i c hc a na c h i e v et h eg o a lo fs h o r t e rc y c l e s ,m o r ef l e x i b l ea p p l i c a t i o n r e m a i nr e l a t i v e l yf e w t h e r e f o r e ,t h ea n a l y s i s ,r a t i o n a lc h o i c ea n dan e wa p p l i c a t i o n f r a m e w o r ko fj 2 e et e c h n o l o g ya r es i g n i f i c a n t l yi m p o r t a n t t h ep a p e rf i r s ta n a l y s e sa d v a n t a g e sa n dd i s a d v a n t a g e so fa l lk i n d so fe c o m m e r c ea n d c a u s e so ft h e i rd e v e l o p m e n t s a f t e rt h a t ,t h ep a p e ri n t r o d u c e st h ea r c h i t e c t u r ea n dc o m p o n e n t s o fj 2 e e ,s o m ef r a m e w o r k s 、m i d d l e w a r ea n dt h ea j a xt e c h n o l o g yt h a ta r ep o p u l a r l yu s e di n e c o m m e r c es y s t e m a n dt h e ni tf i g u r e so u taf r a m e w o r ko fe - c o m m e r c es y s t e mb a s e do n j 2 e e t h ef r a m e w o r kd e v e l o p sb yu s i n gt h ej 2 e em u l t i t i e ra r c h i t e c t u r e ,t h r o u g ht h e s e p a r 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 sl a y e ra n dl o g i cr e l a t i o n so fd a t al a y e r , l i g h t w e i g h t i n t e g r a t i o nf r a m e w o r ks t r u t s ,h i b e r n a t e ,a n dt h ep a g ef r a m e w o r k ,i np a r t i c u l a r , t h eu s eo f s p r i n g s t r a n s a c t i o nm a n a g e m e n tt e c h n o l o g y c o m p a r e dw i t ht h ec u r r e n tf r a m e w o r ko f a p p l i c a t i o nw h i c hi sp o p u l a r , s u c ha st h es t r u t s + h i b e r n a t e ,s t r u t s + s p r i n g + h i b e r n a t e ,e t c , a d v a n t a g e si nt h i sf r a m e w o r ka r e : 1 、i tc a na v o i de x c e s s i v ed e p e n d e n c eo ns p r i n gt e c h n o l o g y , a sw e l la st h ec o m p l e x c o n f i g u r a t i o np r o f i l e ,o n l ym a k eu s e o ft h et r a n s a c t i o nm a n a g e m e n to fs p r i n gt e c h n o l o g y 2 、i tm a k eu s eo ft h em a p p i n gf r a m e w o r ko fh i b e r n a t et od e a lw i t hl o g i co ft h e p e r s i s t e n c el a y e r , b u tt u n i n gh a s b e e nab o t t l e n e c ko fh i b e r n a t et e c h n o l o g y , t h i sf r a m e w o r k o n l ym a k eu s eo fh i b e r n a t ef i r s tc a c h i n ga n dav a r i e t yo fo p t i o n a lc o n n e c t i o np o o lt e c h n o l o g y t oi m p r o v et h eh i b e r n a t e 3 、o nt h eb a s i so ft h i sf r a m e w o r k ,w ec a nq u i c k l yf o r map r o t o t y p eo fj 2 e ea p p l i c a t i o n s i nt h ee n do ft h ep a p e r , g i v e sa ni n s t a n c eb a s e do nt h ef r a m e w o r k - o n l i n es h o p p i n g s y s t e m t h r o u g ht h ed e s i g na n di m p l e m e n t a t i o no ft h i ss y s t e m ,w ec a ns e et h a t t h e l i g h t w e i g h t - i n t e g r a t i o nf r a m e w o r kr e f l e c t st h ea d v a n t a g e so fd a t a b a s em a n a g e m e n to ft h e h i b e r n a t e so b j e c t o r i e n t e da n dt h es e r v i c ef u n c t i o n so fs p r i n g ,a n do p t i m i z et h ea s p e c t so f t h es y s t e m s i m i l a r l ys h o wt h a tt h ef r a m e w o r kf o rt h ed e v e l o p m e n to fe - c o m m e r c es y s t e m l i h a sb e e nag o o da p p l i c a t i o n k e y w o r d s :j 2 e e ;e c o m m e r c e ;s t r u t s ;s p r i n g ;h i b e m a t e ;e j b ;a r c h i t e c t u r e ;a j a x i l i 湖北大学学位论文原创性声明和使用授权说明 原创性声明 本人郑重声明:所呈交的论文是本人在导师的指导下独立进行研究所 取得的研究成果。除了文中特别加以标注引用的内容外,本论文不包含任 何其他个人或集体己经发表或撰写的成果作品。对本文的研究做出重要贡 献的个人和集体,均已在文中以明确方式标明。本人完全意识到本声明的 法律后果由本人承担。 论文作者签名:私秭易 日期:加7 年步月加日 学位论文使用授权说明 本学位论文作者完全了解学校有关保留、使用学位论文的规定,即: 按照学校要求提交学位论文的印刷本和电子版本;学校有权保存学位 论文的印刷本和电子版,并提供目录检索与阅览服务;学校可以允许采用 影印、缩印、数字化或其它复制手段保存学位论文;在不以赢利为目的的 前提下,学校可以公开学位论文的部分或全部内容。( 保密论文在解密后 遵守此规定) 作者签名:张舞邈 指导教师签名: 也豇瓠 日期: 日期: u多 加 f 令q 7 研研沁 第一章l ur 商务概述 第一章电子商务概述 近年来随着计算机的日益普及和网络( 特别是因特网) 的迅速发展,在发达国家形 成了一种新的企业经营方式,他们把所有的商业活动和贸易往来电子化,利用发达的网 络环境进行快速有效的商业活动。这就是最近成为世界上最热门的话题:电子商务【i 】。 其实,电子商务这个概念起源于七十年代,在那时,一些大公司通过建立自己的计 算机网络实现各个机构之间、商业伙伴之间的信息共享、交换,这就是广为流行的电子 数据交换( e d i ) 【2 】。电子数据交换是一种为满足企业需要而发展起来的先进技术手段, 必须遵照统一的国际标准。e d i 通过传递标准的数据流可以避免人为的失误,大大地降 低成本、提高效率。现在,因特网为电子商务带来了飞速的增长,电子商务会越来越成 为主流的商务活动方式,但e d i 是电子商务的基础,并且e d i 技术已经摆脱了以前旧 式的昂贵的公司独立网络,而融入到因特网中。 1 1 电子商务概述 电子商务源于英文e l e c t r o n i cc o m m e r c e ,简写为e c 。顾名思义,其内容包 含两个方面,一是电子方式,二是商贸活动。电子商务指的是利用简单、快捷、低成本 的电子通讯方式,买卖双方不谋面地进行各种商贸活动。 电子商务可以通过多种电子通讯方式来完成。简单的,比如你通过打电话或发传真 的方式来与客户进行商贸活动,似乎也可以称作为电子商务;但是,现在人们所探讨的 电子商务主要是以e d i ( 电子数据交换) 和i n t e r n e t 来完成的。尤其是随着i n t e r n e t 技术的r 益成熟,电子商务真正的发展将是建立在i n t e r n e t 技术上的。所以也有人把 电子商务简称为i c ( i n t e r n e tc o m m e r c e ) 。 从贸易活动的角度分析,电子商务可以在多个环节实现,由此也可以将电子商务分 为两个层次,较低层次的电子商务如电子商情、电子贸易、电子合同等;最完整的也是 最高级的电子商务应该是利用i n t e n e t 网络能够进行全部的贸易活动。 与传统的商务相比,电子商务在三个方面有了新的内涵与突破: 交易的内容不同,信息流( 数据流) 绝大部分地取代了物流、货币流; 交易的场景不同,屏幕虚拟交易取代了面对面的交易; 交易的设施不同,电脑、通讯设备的无纸交易取代了手:i = 纸而交易; 电子商务应用按照应用对象不同,其应用模式可以分为: b 2 c t 3 】电子商务:是指企业使用i n t e r n e t 向最终产品或服务的购买者( 包括企 湖北入。学硕f j 停沦史 业和个人) 提供产品销售和服务的商务活动。 b 2 b 3 1 电子商务:是指企业使用i n t e r n e t 或各种商务网络向其他企业( 譬如他 的供应商) 所进行的商务活动。 1 2 电子商务系统相关技术 1 2 1 分布式对象技术 分布式对象技术主要是在分布式异构坏境下建立应用系统框架和对象构件,在应用 系统框架的支撑下,开发者可以将软件功能包装为更易管理和使用的对象,这些对象可 以跨越不同的软硬件平台进行互操作。目前主要的分布式互操作标准有m i c r o s o f t 的 o l e c o m d c o m 标准、s u n 公司的j a v ar m i 标准和o m g 组织的c o r b a 标准。它们利用组 件技术提高代码重用性,即基于组件的分布式对象技术。 1 2 2w e b 数据库技术 w e b 数据库是一个面向i n t e r n e t 计算环境的数据库,它改变了信息管理和访问的方 式。面向w e b 信息管理的数据库支持w e b 高级应用所需要的多媒体数据,支持w e b 繁忙 站点不断的负载需求。 1 2 3 认证技术 c a 安全认证系统为电子商务系统提供数字证书的申请、发放、作废等管理,为电子 商务系统的个人用户、企业用户、w e b 网站等发放数字证书。为电子商务平台服务、增 值服务、在线支付和网站的管理提供安全基础。交易双方身份的真实性主要由c a 认证 中心来保证,它是第三方认证技术,采用公钥加密技术对网中参与交易的双方发放有效 证书( 公共密钥) ,通过数字证书的发放和使用,能够实现身份识别、信息加密、数字 签名和签名验证功能,从而达到识别身份、保证信息的完整性和保密性、防止抵赖等目 的【4 】a 1 2 4 电子支付技术 电子支付是以会融电子化网络为基础,以商用电子化机具和各类交易卡为媒介,以 计算机技术和通信技术为手段,以电子数据( - 进制数据) 形式存储在银行的计算机系统 中,并通过计算机网络系统以电子信息传递形式实现流通和支付。目前,电子支付机制 主要包括银行卡支付、电子支票、电子现金和微型支付系统。 第章电r 商务概述 1 2 5 安全技术 计算机安全主要包括计算机操作系统安全、数据库安全和网络安全。计算机系统的 安全侧重于提高计算机软、硬件和系统环境的可靠性和可用性;数据库安全关键是事务 日志及系统审核、数据备份及灾难恢复。网络安全侧重于网络隔离防范措施,其关键是 防火墙技术、入侵检测技术、安全扫描技术、系统防病毒技术【4 1 。 1 2 6w e b 服务器技术 w e b 服务器不仅需要提供w e b 应用的发布、处理客户端请求、数据库之间的通信等 功能外,还应提供高性能的运行环境,如跨系统平台( 数据库、操作系统) 、内容缓存、 数据库连接缓存、负载均衡、支持分布式联机事务处理等功能,这样丌发的各种客户应 用,才可以完全不考虑底层的数据库和操作系统,实现跨平台的开发【5 1 。w e b 服务器的 动态均衡负载,才能使系统性能发挥最高水平,保证客户端和服务器数据的一致性。利 用集群技术才使应用具有扩充性。w e b 服务器还应提供目录服务和搜索、性能配置管理、 存取控制管理、系统日志管理在内的强大系统管理工具。w e b 服务器产品很多,主要b e a 公司的w e b l o g i c 、i b m 的w e b s p h e r e 等。 1 3 基于w e b 的电子商务开发需要解决的问题 自w e bs e r v i c e 技术出现以来,其开放性的标准让各个不同系统1 1 白j 能够互相交换资 料。这种良好的丌放性使得基于w e bs e r v i c e 构建电子商务系统成为趋势。现阶段推动 电子商务面临的最大问题是如何保障电子商务过程中的安全性。由于i n t e r n e t 本身的 开放性,使网上交易面临了种种危险,也由此对电子商务提出了相应的安全要求,主要 体现在以f 几个方面: 1 信息保密性。交易中的商务信息有保密的要求。如信用卡的帐号和用户名被人知 悉,就可能被盗用,订货和付款的信息被竞争对手获悉,就可能丧失商机。因此在电子 商务的信息传播中般均有加密的要求【6 1 。 2 交易者身份的确定性。网上交易的双方很可能素昧平生,相隔千里。要使交易成 功,首先要能确认对方的身份,对商家而言要考虑客户端不能是骗子,而客户也会担心 网上的商店不是一个弄虚作假的黑店。因此能方便而可靠地确认对方身份是交易的前 提。 3 不可否认性。由于商情的千变万化,交易一旦达成是不能被否认的。否则必然会 损害一方的利益。 湖北人。学硕十。侮沦史 4 不可修改性。交易的文件是不可被修改的,如能改动文件内容,那么交易本身便 是不可靠的,客户或商家可能会因此而蒙受损失。因此电子交易文件也要能做到不可修 改,以保障交易的严肃和公正。 一个典型的w e bs e r v i c e 设置将会充分利用多种不同的技术、对象模型和编程语言, 其中或许会包含简单的p e r l 脚本和使用c + + 或j a v a 实现单个w e bs e r v i c e ,可能还会 有建立在j 2 e e 应用程序服务器之上的复杂应用。通过x m l 与s o a p 协议的通用性,可扩 展性,w e bs e r v i c e 可以实现扩平台的不同应用程序之间的相互通信。但同时,也付出 了一定的代价:很难保证这些系统的安全性。因为不同的技术体系、不同的操作系统平 台所采用的安全认证技术是不同的,整个系统的安全级别与系统中最脆弱部分的安全级 别相同,即安全系统中所谓的“木桶效应 【7 1 。因此,我们要么避免使用某些技术,要 么就对整个系统的安全性进行折衷。因此如何设计安全解决方案成为丌发实现基于w e b s e r v i c e 集成的电子商务系统必须解决的问题。 j 2 e e 为w e b 应用找到了一种统一的具有体系结构的计算模式。基于j 2 e e 规范的应 用服务器为从事电子商务丌发的人员提供了一种全新的选择。 1 4 本论文的主要研究内容 首先研究电子商务系统的发展趋势及相关技术。其次从软件的体系结构着手,分析 各种软件体系结构的优缺点,以及其不断发展衍化的原因。然后研究j 2 e e 体系结构, 对j 2 e e 体系的核心部分进行了重点研究,并对j 2 e e 体系中包含的多种关键技术,如 s t r u t s 、j a v a b e a n 、s p r i n g 、h i b e r n a t e 等进行研究。接着介绍了当今流行的a j a x 技术。 最后提出一个基于j 2 e e 体系的电子商务系统的实现框架。 以笔者提出的基于j 2 e e 体系的电子商务系统的实现模型为框架,设计实现网上在 线购物电子商务系统。首先该框架采用三层w e b 体系结构模式,其中表现层与控制层采 用s t r u t s 技术,数据持久层采用时下流行的h i b e r n a t e 技术,业务逻辑层采用普通的 j a v a b e a n 并附以s p r i n g 的事务管理功能来实现;整个框架构建了一个比较规范的三层网 络应用系统模型。其次在设计过程中,实现了系统所使用的数据库的设计,采用多种j 2 e e 的设计模式,并详细分析了这些模式给系统性能优化所带来的好处,体现出笔者所提出 框架的实用性及通用性。 1 5 论文的主要工作 本文首先从软件的体系结构着手,分析各种软件体系结构的优缺点,以及其不断发 4 第章电子商务概述 展衍化的原因。接着着重介绍了j 2 e e 的体系结构和基于j 2 e e 电子商务系统框架所要使 用的主要技术以及a j a x 技术。并且根据j 2 e e 体系结构和a j a x 技术,对企业应用开发 进行思考与研究,提出了一个基于j 2 e e 的电子商务系统实现的框架和策略,该框架不 仅采用了尽量多的j 2 e e 体系的实现技术,而且注入了笔者独特的见解,具有良好的移 植性和可维护性以及高性能性。最后再给出一个基于此框架的实例网上在线购物 系统。通过对此实例的分析与设计和实现,说明该框架在一定程度上降低了各层之间的 耦合程度,对于降低企业级软件开发的复杂性、提供软件生命周期的可跟踪性、可管理 性和可维护性都有好处。 本论文的结构如下: 第一部分对电子商务系统的发展趋势及相关技术进行详细介绍。 第二部分从软件的体系结构的发展着手,分析各种软件体系结构的优缺点,以及 其不断发展衍化的原因,为以后各章中具体的j 2 e e 技术展开奠定了一个坚实的基础。 第三部分对j 2 e e 标准及其体系结构、组件进行比较详细的介绍。 第四部分对企业应用开发进行思考与研究,提出了一个实现电子商务系统的基于 j 2 e e 和a j a x 技术的框架。使用此电子商务系统框架,我们就可以快速、迅捷地实现高 性能的电子商务系统。本部分是j 2 e e 架构实现的一种创新的实现模式,对当前企业应 用框架开发进行深刻的研究并提出策略,也是本文的重点和难点所在。 第五部分从我实际参与的一个采用j 2 e e 来进行开发的项目一网上在线购物系统出 发,具体的详细分析设计了一个企业轻量级复杂软件系统。 第六部分具体实现了该在线购物系统,对其中比较关键的模块和功能进行了详细 的说明。 最后对本论文进行了总结,并同时对j 2 e e 技术实现框架的发展进行展望。 湖北人学硕十位论文 第二章软件体系结构的发展 2 0 世纪6 0 年代中期的软件危机使得人们丌始重视软件工程的研究。起初,人们把 软件设计的重点放在数据结构和算法的选择上。随着软件系统规模越来越大、越来越复 杂,整个系统的结构显得越来越重要。软件体系结构关注的是整个软件系统的整体结构, 它决定着软件系统的组件构成和这些组件之间的相互关系,并从高层角度来知道软件中 各个组件的合成。 最初的软件体系结构是m a i n f r a m e 结构客户、数据和程序都被集中在主机上, 通常只有少量的g u i 界面,对远程数据库的访问比较困难。随着p c 的广泛应用,该结 构逐渐被淘汰。在2 0 世纪8 0 年代中期出现了c 1 i e n t s e r v e r 分布式计算结构,应用程 序的处理在客户机和服务器之间分担【8 】。随着大型软件系统的开发,这种结构在系统的 部署和扩展性方面暴漏出不足。随着i n t e r n e t 的发展,一个更灵活的体系结构“三层 多层计算”体系结构应运而生。本章从软件体系结构着手,分析整个软件体系结构不断 发展各种模式,为以后各章中具体的j 2 e e 技术展丌奠定一个峰实的基础。 2 1 集中式软件体系结构 集中式软件体系结构在软件发展的初期有着广泛应用。这种软件体系结构是和当时 的计算机软、硬件技术相适应的。由于当时计算机硬件价格昂贵,典型的计算机模式是 在一台集中式的大型分时主机上连接着多个终端或采用一种共享文件服务器的方式。在 这种计算模式中,计算的核心是大型主机,由它采用分时调度的方法来同时为连接的多 个终端用户提供服务,而每个终端对应着大型主机中的一个进程,在终端上没有计算能 力。由于这种软件架构采用集中式处理方式,使得系统的维护和管理主要体现在中心结 点上,代价相对较低。而通常来说,在主机和各个终端之i 副连接的线路较短并多采用专 线,终端结点的分布局限在一个小的范围以内,使得程序运行的可靠性很耐8 1 。 而且随着计算机硬件和计算机网络技术的发展,以及各行业对计算需求的急剧增 加,使得计算机软件的规模和复杂度不断增加,这种模式的局限性越来越明显。同时伴 随着计算机硬件技术的飞速发展,使得工作站和个人计算机被广泛应用,最终产生了一 种新的计算模式客户机服务器计算模式。 2 2 两层软件体系结构 在客户机服务器计算模式发展的初期,普遍采用的软件体系结构是两层计算模型。 在这种计算模式中,客户端是服务的请求者,向用户提供一个图形用户界面,而服务器 6 第一:章软什体系结构的发展 是服务的提供者,通常由功能更强大的机器柬担当,他们可以同时服务于多个客户。并 且这种计算模式引入了数据库服务器来代替以前的文件服务器,通过使用数据库管理系 统( d b m s ) ,用户的查询可以直接得到响应。这样,在网络上传输的是用户查询请求和 查询结果,而不是像集中式计算模式那样提供整个文件的传输,客户机服务器体系结 构大大地减少了网络流量的传输。对于用户来说,服务器是透明的,用户只是感到他是 使用客户机而不会意识到后台服务器的存在。 采用两层体系结构和传统的集中式相比,有较大的灵活性和优点。比如能够减少网 络的负载,提供了友好的用户界面,可以分布式管理和具有良好的可扩展性,而且还具 有较高的性能价格比。这些特点部分的解决了集中式体系结构下的软件开发的问题,对 于在局域网内并发用户较少的分布式计算是一个不错的解决方案。但是,当并发用户数 量增多时,性能开始恶化。而且在实现管理服务的处理时,数据库厂商专用的数据库过 程也限制了应用程序的灵活性和对数据库管理系统( d b m s ) 的选择。同时。当软件结构 复杂性上升的时候,两层体系结构也面临着自身难以克服的问题: 应用逻辑和用户界面难以划分 代码可重用性不高,开发或改动时往往需要同时考虑服务器端和客户端软件 的设计及其通信协议 维护不便,软件维护费用也高 缺乏可伸缩性和可移植性 为了解决上述问题,产生了中间件( m i d d l e w a r e ) 技术,而中间件的出现,导致了 软件体系结构向三层和多层计算模型的演化。 2 3 三层和多层软件体系结构 在三层结构中,客户端接受用户的请求,客户端向应用服务提出请求,应用服务从 数据库服务中获得数据,应用服务将数据进行计算并将结果提交给客户端,客户端将结 果旱现给用户。这两种结构的不同点是,两层结构中客户端参与运算,而三层结构中客 户端并不参与运算,只是简单的接收用户的请求,显示最后的结果。三层体系结构如图 2 1 所示: 7 湖北人0 乏硕p 何论文 表示层 上 业务逻辑层 上 数据访问层 、 逦s q - 。b ) 一副。9 图2 1 三层软件体系结构 中间件在三层结构中主要充当中间层,完成数据安全和完整传输,通过负载均衡来 调节系统的工作效率,从而弥补两层结构的不足。中间件技术是“分治法”( d i v i d ea n d c o n q u e r ) 在软件工程领域的实际应用,每个中问件解决一部分问题,最后构建一个稳 定可用的系统【9 1 。 采用多层软件体系结构,使应用逻辑位于中间层,独立于用户截面和数据存储,能 够使应用程序的分工更加明确,实现数据、计算、显示三者的有效分离。所带来的好处 显而易见的: 具有良好的可维护性,应用逻辑层和表示层的分离有利于简化客户端的程序, 便于客户端软件的开发和维护 可以通过提供计算能力更强和更多数目的服务器来支持更多的客户,进行负载 均衡,使系统具有良好的可扩展性。 客户端访问数据库交由应用层的业务逻辑处理,减轻数据库服务器的负担 用户可对应用层的业务逻辑进行统一管理,集中控制访问权限,大大增强了应 用的安全性和可管理性。 s u n 公司提出的整个j 2 e e 架构中,很好的支持了多层软件体系结构,对于实现一个 多层的企业级应用来说,提供了一整套完整的解决方案。本论文的后面部分将分析j 2 e e 的体系结构和核心技术,并在之后给出一个具体的实际应用为例,来分析多层软件体系 结构模型对一个企业级应用的业务逻辑需求能力的良好解决。在软件体系结构的复杂性 和可用性之问做一个权衡,以最少的代价带来最大的利益才是提供一个好的解决方案的 务实可行的做法。 第二章j 2 e e 简介 第三章j 2 e e 简介 j 2 e e 是一个丌放的、基于标准的平台,可以丌发、部署和管理n 层结构的、面向 w e b 的、以服务器为中心的企业级应用,它是利用j a v a2 平台来简化与多级企业解决方 案的开发、部署和管理相关的诸多复杂问题的应用体系结构。 3 1j 2 e e 的特点 j 2 e e 平台采用一个多层次分布式的应用模式。这意味着应用逻辑根据功能被划分成 组件,组成j 2 e e 应用的不同应用组件安装在不同的服务器上,这种划分是根据应用组 件属于多层次j 2 e e 环境中的哪一个层次来决定的。如图1 所示,j 2 e e 应用可以由三或 四个层次组成,j 2 e e 多层次应用一般被认为是三层应用,因为它们是被分布在三个不同 的地点:客户端机器、j 2 e e 服务器和数据库或后端的传统系统服务器。三层架构应用是 对标准的客户端服务器应用架构的一种扩展,即在客户端应用和后台存储之间增加一 个多线程应用服务器。 客户层 : v e b 层 : 商业逻辑层 : 企业信息系统层 i m ,r 、 : 厂、 浏览器 : 竹e b 服务器 p u r - l : i m m l 1 - i - s p l j :h 。j 视图 在s t r u t s 框架中,视图就是一组j s p 文件。在这些j s p 文件中并没有业务逻辑,也没 有模型信息,只有标签,这些标签可以是标准的j s p 标签或者是客户化标签,如s t r u t s 标 签库中的标签。 此外,通常把s t r u t s 框架中的a c t i o n f o r mb e a n 也划分到视图模块中。a c t i o n f o r m b e a n 也是一种j a v a b e a n ,除了具有一些j a v a b e a n 的常规方法,还包含一些特殊的方法, 1 9 湖北人学硕i j 学f 眵论文 用于验证h t m l 表单数据以及将其属性重新设置为默认值。s t r u t s 框架利用a c t i o n f o r m b e a n 来进行视图和控制器之i 日j 表单数据的传递。 模型 模型表示应用程序的状态和业务逻辑。在s t r u t s 框架中,模型通常由j a v a b e a n 或e j b 组件来实现。 控制器 在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 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 继承了j a v a x s e r v l e t h t t p h t t p s e r v l e t 类,它在m v c 模 型中扮演中央控制器的角色。a c t i o n s e r v l e t 主要负责接收h t t p 请求信息,根据配置文 件s t r u t s - c o n f i g x m l 的配置信息,把请求转发适当的a c t i o n 对象。如果该a c t i o n 对象不 存在,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 类本身也可以完成一些实际的业务逻辑。对于大型应用,a c t i o n 充当用户请求和业务逻辑处理之问的适配器( a d a p t o r ) ,其功能就是将请求与业务逻辑分 开,a c t i o n 根据用户请求调用相关的业务逻辑组件。业务逻辑由j a v a b e a n 或e j b 来完 成,a c t i o n 类侧重于控制应用程序的流程,而不是实现应用程序的逻辑。通过将业务逻辑 放在单独的j a v a 包或e j b 中,可以提高应用程序的灵活性和可重用性【1 5 】。 4 3 2s t r u t s 框架其他特性 町扩展性 s t r u t s 框架的一大优势在于它允许开发人员根据实际需求来扩展框架,定制客户化 的功能。可以把框架比做房屋的基本结构,用户可以在基本结构的基础上对房屋进行个 性化的装饰,比如选择所喜炊的墙纸、涂料颜色等。当然,用户也可以选择默认的装饰方 案。 一个好的软件框架也应该具备可扩展特性。在s t r u t s 框架中提供了许多可扩展之处, 不妨将其称之为扩展点( e x t e n s i o np o i n t ) 。以下是s t r u t s 的扩展点: 一般性扩展点:s t r u t s 插件( p l u g ) 、扩展s t r u t s 配置类。 控制器的扩展点:扩展a c t i o n s e r v l e t 类、r e q u e s t p r o c e s s o r 类和a c t i o n 类。 视图的扩展点:扩展s t r u t s 客户化标签。 模型的扩展点:扩展s e s s i o n c o n t a i n e r 类和a p p l i c a t i o n c o n t a i n e r 类。 s t r u t s 框架的扩展性使丌发者可以方便地定制客户化功能,提高应用的灵活性和对 第四章基丁j 2 e e 的哇三r 商务系统卡1 1 架 各种需求的可适应性。然而,实现更多的功能的是要花费更大代价的,应该避免滥用 s t r u t s 的可扩展性【1 6 】。 s t r u t s 标签库 s t r u t s 提供了五种功能强大的标签库,包括b e a n 标签库、h t m l 标签库、l o g i c 标签 库、n e s t e d 标签库和t i l e s 标签库。s t r u t s 标签库具有以下优点: 标签具有可重用性,因此可以提高开发效率。 可以在j s p 页面以静态或动态的方式设置标签的属性。 标签可以访问j s p 网页中的所有的对象,如h t t p s e r v l e t r e q u e s t 和 h t t p s e r v l e t r e s p o n s e 等。 标签可以互相嵌套,来完成复杂的逻辑。 标签可以是j s p 页面变得更加简洁,提高可读性。 4 4s p r i n g 概述 s p r i n g 为企业应用的丌发提供一个轻量级的解决方案。该解决方案包括:基于依赖 注入的核心机制,基于a o p 的声明式事务管理与多种持久层技术的整合,以及优秀的 w e bm v c 框架等。 s p r i n g 为j 2 e e 应用的表现层、业务逻辑层及数据持久层都提供了极好的解决方案, 因为s p r i n g 提供的不仅仅是一种框架,而且提供了一种企业应用的开发规范。s p r i n g 是 实际开发的抽象,其提供的”模板设计”大大简化了应用的丌发s p r i n g 的系列t e m p l a t e 将通用步骤以优雅的方式完成,留给开发者的仅仅是与特定应用相关的部分,从而大大 提高企业应用的开发效率【1 7 】。s p r i n g 支持对p o j o 的管理,能将j 2 e e 应用各层的对象” 焊接”在一起,甚至这些对象无须是标准的j a v a b e a n 。 本系统运用的数据库是o r a c l e1 0 9 ,将来可能会将本系统进行移植到不同的数据库 平台上,而每种数据库对事务的管理策略不同,为了应对不同的数据库系统,在系统将 采用s p r i n g 的事务管理功能,以应对将来系统的移植。本章节将对s p r i n g 框架的核心 技术进行介绍,并结合本系统详细分析s p r i n g 技术的事务管理规范。 4 4 1 s p r i n g 核心技术 依赖注入 依赖注入( d e p e n d e n c yi n j e c t i o n ) 是时下的”流行语”,还有另外一种称呼:控制反转 ( i n v e r s i o no f c o n t r 0 1 ) 。依赖注入是目前最优秀的解藕方式。使用依赖注入时,j 2 e e 应用 2 l 湖北人,7 :硕t :,学位沦文 中的各种组件不需要以硬编码方式耦合在一起,甚至无须使用工厂模式【1 8 】。当某个j a v a 实例需要其他j a v a 实例时,系统会自动提供需要的实例,无须程序显式获取。 依赖注入采用动态及灵活的方式来管理各种对象,使对象与对象之间的具体实现互 相透明。对调用者和被调用者几乎没有任何要求,完全支持对p o j o 之间依赖关系的管 理。依赖注入通常有两种: 设值注入 构造注入 s p r i n g 管理b e a n 的方式 b e a n 是s p r i n g 管理的基本单位,在s p r i n g 的j 2 e e 应用中,所有的组件都是b e a n , b e a n 包括数据源、h i b e r n a t es e s s i o n f a c t o r y 及事务管理器等。s p r i n g 罩的b e a n 是非常广 义的概念,任何的j a v a 对象,j a v a 组件都可被当成b e a n 处理。甚至这些组件并不是标 准的j a v a b e a n 。 整个应用中各层的对象都处于s p r i n g 的管理下,这些对象b e a n 的方式存在。s p r i n g 负责创建b e a n 实例,并管理其生命周期。b e a n 在s p r i n g 容器中运行时,无须感受s p r i n g 容器的存在,一样可以接受s p r i n g 的依赖注入,包括b e a n 属性的注入,合作者的注入 及依赖关系的注入等【19 1 。 s p r i n g 的容器有两个接口:b e a n f a c t o r y 和a p p l i c a t i o n c o n t e x t ,这两个接口的实例也 被称为s p r i n g 上下文,它们都是产生b e a n 的工厂,b e a n 是s p r i n g 工厂产生的实例。在 s p
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026届山东省潍坊市辖县中考物理考试模拟冲刺卷含解析
- 湖南省株洲市醴陵市2026届中考联考物理试题含解析
- 企业管理-差旅费报销制度
- 产科护理产褥期感染预防与处理
- 江西省赣州市兴国县2026届中考物理全真模拟试题含解析
- 常德市安乡县2025届三下数学期末教学质量检测试题(含解析)
- 常州市天宁区2025年三下数学期中监测试题含答案
- 产前诊断的影像学技术
- 2026年中考生物一轮复习:人教版(2024)七八年级4册必背知识点提纲
- 湖南省株洲市2025-2026学年高二下学期期末自编模拟C卷(株洲市专用)物理(含答案)
- 二次供水安全培训课件
- 四川省成都市成华区2024-2025学年八年级(下)期末物理试卷(含解析)
- 人教版2024版历史八年级上册第四单元第12课《中国共产党诞生》创新教学设计
- 硬笔书法全册教案共20课时
- 中华人民共和国治安管理处罚法培训宣贯
- 江苏省南通市海安市2024-2025学年六年级下学期期末数学考试卷
- 生物制剂在哮喘治疗中的应用
- 2025陕西氢能产业发展有限公司所属单位招聘(101人)笔试参考题库附带答案详解析集合
- 动漫速写基础-课件 第4章动态人物速写
- 农光互补光伏样板工程方案
- GB/T 44399-2024移动式金属氢化物可逆储放氢系统
评论
0/150
提交评论