




已阅读5页,还剩71页未读, 继续免费阅读
(计算机应用技术专业论文)基于j2ee平台的软件设计模式研究与应用.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
华北 电力大学硕 十学位 论文 摘要 软件设计模式是可复用面向对象软件的基础,它以系统化和规格化的方 式记录了可重复使用的软件设计方案和经验,能够很好地指导软件设计过 程,对提高软件设计的质量具有重要意义。 本文对j 2 e e平台下的mv c , s e r v i c e l o c a t o r 和v a l u c o b j e c t 等模式进行 了较深入的研究, 对v a l u e o b j e c t 模式进行了改进, 并将这些模式应用于j 2 e e 平台下人力资源管理系统的设计与开发中,很好地解决了体系结构设计、数 据库访问、数据接口等方面的问题,并极大地改善了系统的性能。 关键词:设计模式,j 2 e e 平台,j 2 e e 设计模式 abstract s o f t w a r e d e s i g n p a t t e r n s a r e t h e f o u n d a t i o n o f r e u s a b l e o b j e c t 一 o r i e n t e d s o f t w a r e . t h e y d e s c r i b e r e u s a b l e d e s i g n s o l u t i o n s a n d e x p e r i e n c e s i n a s y s t e m a t i c a n d s p e c i f i c w a y , w h i c h c a n g u i d e t h e p r o c e s s o f s o f t w a r e d e s i g n a n d h a s a n i m p o r t a n t m e a n i n g f o r i m p r o v i n g q u a l i t y . o f s o f t w a r e d e s i g n . t h i s p a p e r h a s a t h o r o u g h l y r e s e a r c h o n s o m e d e s i g n p a t t e r n s s u c h a s m v c , s e r v i c e l o c a t o r a n d v a l u e o b j c t b a s e d o n j 2 e e . i t a l s o g i v e s a n i m p r o v e m e n t o n v a l u e o b j e c t d e s i g n p a t t e r n . a p p l y i n g t h e s e d e s i g n p a t t e r n s i n t h e d e s i g n a n d d e v e l o p m e n t o f h u m a n r e s o u r c e m a n a g e m e n t s y s t e m , w e r e s o l v e s o m e p r o b l e m s i n t h e s y s t e m s u c h a s d e s i g n o f s o f t w a r e a r c h i t e c t u r e , a c c e s s i n g t o d a t a b a s e a n d d a t a i n t e r f a c e , a n d i t g r e a t l y i m p r o v e s t h e s y s t e m p e r f o r m a n c e . k e y w o r d s :d e s i g n p a t t e r n , j 2 e e p l a t f o r m , j 2 e e d e s i g n p a t t e r n f a n g g u o ( d a t a b a s e a n d i n f o r ma t i o n s y s t e m ) d i r e c t e d b y p r o f . ma s u x i a 华北 电力大学硕 十学位 论文 摘要 软件设计模式是可复用面向对象软件的基础,它以系统化和规格化的方 式记录了可重复使用的软件设计方案和经验,能够很好地指导软件设计过 程,对提高软件设计的质量具有重要意义。 本文对j 2 e e平台下的mv c , s e r v i c e l o c a t o r 和v a l u c o b j e c t 等模式进行 了较深入的研究, 对v a l u e o b j e c t 模式进行了改进, 并将这些模式应用于j 2 e e 平台下人力资源管理系统的设计与开发中,很好地解决了体系结构设计、数 据库访问、数据接口等方面的问题,并极大地改善了系统的性能。 关键词:设计模式,j 2 e e 平台,j 2 e e 设计模式 abstract s o f t w a r e d e s i g n p a t t e r n s a r e t h e f o u n d a t i o n o f r e u s a b l e o b j e c t 一 o r i e n t e d s o f t w a r e . t h e y d e s c r i b e r e u s a b l e d e s i g n s o l u t i o n s a n d e x p e r i e n c e s i n a s y s t e m a t i c a n d s p e c i f i c w a y , w h i c h c a n g u i d e t h e p r o c e s s o f s o f t w a r e d e s i g n a n d h a s a n i m p o r t a n t m e a n i n g f o r i m p r o v i n g q u a l i t y . o f s o f t w a r e d e s i g n . t h i s p a p e r h a s a t h o r o u g h l y r e s e a r c h o n s o m e d e s i g n p a t t e r n s s u c h a s m v c , s e r v i c e l o c a t o r a n d v a l u e o b j c t b a s e d o n j 2 e e . i t a l s o g i v e s a n i m p r o v e m e n t o n v a l u e o b j e c t d e s i g n p a t t e r n . a p p l y i n g t h e s e d e s i g n p a t t e r n s i n t h e d e s i g n a n d d e v e l o p m e n t o f h u m a n r e s o u r c e m a n a g e m e n t s y s t e m , w e r e s o l v e s o m e p r o b l e m s i n t h e s y s t e m s u c h a s d e s i g n o f s o f t w a r e a r c h i t e c t u r e , a c c e s s i n g t o d a t a b a s e a n d d a t a i n t e r f a c e , a n d i t g r e a t l y i m p r o v e s t h e s y s t e m p e r f o r m a n c e . k e y w o r d s :d e s i g n p a t t e r n , j 2 e e p l a t f o r m , j 2 e e d e s i g n p a t t e r n f a n g g u o ( d a t a b a s e a n d i n f o r ma t i o n s y s t e m ) d i r e c t e d b y p r o f . ma s u x i a y 7 1 3 2 5 0 岌匕 尸明 本人郑重声明:所呈交的学位论文,是本人在导师指导下,独立进行研究 作所 取得的成果。 尽我所知, 除文中已经注明引用的内容外, 本学位论文的研究成果不包含 任何他人享有著作权的内容。对本论文所涉及的研究工作做出贡献的其他个人和集体, 均己 在文中以明确方式标明。 特此申明。 签 名 : 孤 日 期 忍 硒 、 3 、 关于学位论文使用授权的说明 本人完全了解华北电力大学有关保留、使用学位论文的规定,即:学校有权保管、井问有关 部门送交学位论文的原件与复印件:学校可以采用影印、缩印或其它复制手段复制并保存学位论 文: 学校可允许学位论文被查阅或借阅; 学校可以学术交流为目 的, 复制赠送和交换学位论文; 同意学校可以用不同方式在不同媒体上发表、传播学位论文的全部或部分内容。 ( 涉密的学位论文在解密后遵守此规定) 作者签名导师签名: 日日期: 华北电力大学硕士学位论文 第一章 概述 1 . 1 课题背景 本文以作者所从事开发的人力资源管理信息系统作为背景展开,主要进 行 j 2 e e设计模式的研究和应用。 本系统以国家电网公司重点科技项目为依托,通过借鉴国外先进的人力 资源管理理念,结合我国的人事政策法规,以及电力行业的业务特点与管理 规范,运用当今先进的信息技术开发而成。 系统运行环境为: 操作系统:在服务器端, 采用wi n d o w s 2 0 0 0 服务器版或者l i n u x 构造网 络平台 或者服务器平台。 在客户端, 采用wi n d o w s x p p r o f e s s i o n a l 构造最终 用户的操作平台,其它的wi n d o w s 操作系统也支持。 应用服务器: w e b s p h e r e 5 .0 ; 工作站软件:任意,只要可以 运行i e或n e t s c a p e 等任意一种浏览器; 数据库管理系统:o r a c l e 9 i ; 客户端浏览器:i e 6 .0 . 该系统是在 j 2 e e平台下开发的,以 b / s结构为主。编程开发工具为 j b u i l d e r 9 . 1 . 2 j 2 e e平台 j 2 e e ( j a v a 2 p l a t f o r m e n t e r p r i s e e d i t i o n ) 是美国s u n 公司推出的一种全新 概念的模型,与传统的互联网应用程序模型相比有着不可比拟的优势。 j 2 e e 是一整套技术的总称,包括建立企业应用系统的各个方面,使用 j 2 e e技术 能使我们快速建立企业应用系统。j 2 e e的目标是提供一个基于 j a v a语言的 服务器端应用结构,支持平台独立、可移植、多用户、安全和标准的企业级 应用。 j 2 e e平台使用多层分布式的应用模式。下面列出了位于不同层的组件: 1 、运行在客户机_l 的客户层组件 2 、运行在 j 2 e e服务器上的网络层组件 3 、运行在j 2 e e服务器上的逻辑层组件 4 、运行在 e i s服务器上的企业信息层组件 华北电力大学硕士学位论文 第一章 概述 1 . 1 课题背景 本文以作者所从事开发的人力资源管理信息系统作为背景展开,主要进 行 j 2 e e设计模式的研究和应用。 本系统以国家电网公司重点科技项目为依托,通过借鉴国外先进的人力 资源管理理念,结合我国的人事政策法规,以及电力行业的业务特点与管理 规范,运用当今先进的信息技术开发而成。 系统运行环境为: 操作系统:在服务器端, 采用wi n d o w s 2 0 0 0 服务器版或者l i n u x 构造网 络平台 或者服务器平台。 在客户端, 采用wi n d o w s x p p r o f e s s i o n a l 构造最终 用户的操作平台,其它的wi n d o w s 操作系统也支持。 应用服务器: w e b s p h e r e 5 .0 ; 工作站软件:任意,只要可以 运行i e或n e t s c a p e 等任意一种浏览器; 数据库管理系统:o r a c l e 9 i ; 客户端浏览器:i e 6 .0 . 该系统是在 j 2 e e平台下开发的,以 b / s结构为主。编程开发工具为 j b u i l d e r 9 . 1 . 2 j 2 e e平台 j 2 e e ( j a v a 2 p l a t f o r m e n t e r p r i s e e d i t i o n ) 是美国s u n 公司推出的一种全新 概念的模型,与传统的互联网应用程序模型相比有着不可比拟的优势。 j 2 e e 是一整套技术的总称,包括建立企业应用系统的各个方面,使用 j 2 e e技术 能使我们快速建立企业应用系统。j 2 e e的目标是提供一个基于 j a v a语言的 服务器端应用结构,支持平台独立、可移植、多用户、安全和标准的企业级 应用。 j 2 e e平台使用多层分布式的应用模式。下面列出了位于不同层的组件: 1 、运行在客户机_l 的客户层组件 2 、运行在 j 2 e e服务器上的网络层组件 3 、运行在j 2 e e服务器上的逻辑层组件 4 、运行在 e i s服务器上的企业信息层组件 华北电力大学硕士学位论文 尽管j 2 e e应用程序叮以由三层或四层构成,j 2 e e应用程序通常由二层 构成,因为他们分布于三个不同的位置:客户机,服务器,后台数据库服务 器。通过这种方式运行的三层应用模式拓展了基于客户明 k 务的两层模式。 对应于不同层上的j 2 e e组件, 1 2 e e规范定义了下面一些组件实现技术: 1 、运行在客户端的应用客户程序及小程序。 2 、运行于服务器网络的 s e r v l e t 2 , j d b c a p i 3 .0提供与关系型数据库兼容的服务; 3 , s e r v l e t 2 . 3提供扩展 we b 服务器访问业务系统功能的机制: 4 , j s p 1 .2可以开发动态w e b 用户界面; 5 , j m s 1 .0是访问面 向消息中间件 ( m o m , m e s s a g e - o r i e n t e d mi d d l e w a r e )的标准化a p i ,支持点对点模型与发表/ 预订模型; 6 , j n d i 1 . 2是 j 2 s e v 1 . 3的一部分,是访问命名与目录服务的标准化 ap i ; 7 , j t al 0支持事务并提供应用程序层事务分界的接口; 8 , j a v a ma i l a p i 1 . 2提供管理e - ma i l 的 a p i ,要求有 j a f ; 9 , j a x p l 1支持处理x ml格式数据, 提供文档对象模型( d o m) , x ml 的简单a p i 和x ml样式表单转换语言转换引擎; 1 0 , j a a s 1 . 0提供安全性服务, 特别是验证与授权, 提供验证用户的可 插入验证模块的框架实现。 其中, e j b与s e r v l e t / j s p是j 2 e e技术的核心部分。一 下 面我们将具体介 绍它们,这些技术也是在我们系统中经常应用的。 1 . 2 . 1 j s p j s p是 s u n公司于 1 9 9 9 年 6月推出的新技术,是基于j a v a 的服务端动 态页面技术。j s p使用j a v a 语一言作为其脚本语言,由此具有了许多优点。因 为j a v a 是编译解释执行的, 所以j s p也摆脱了v b s c r i p t , p e r l 等脚本语言纯 粹的解释执行带来的低效率问题。因为 j a v a 是平台无关的, 我们 可在仟何平 华北电力大学硕士学位论文 尽管j 2 e e应用程序叮以由三层或四层构成,j 2 e e应用程序通常由二层 构成,因为他们分布于三个不同的位置:客户机,服务器,后台数据库服务 器。通过这种方式运行的三层应用模式拓展了基于客户明 k 务的两层模式。 对应于不同层上的j 2 e e组件, 1 2 e e规范定义了下面一些组件实现技术: 1 、运行在客户端的应用客户程序及小程序。 2 、运行于服务器网络的 s e r v l e t 2 , j d b c a p i 3 .0提供与关系型数据库兼容的服务; 3 , s e r v l e t 2 . 3提供扩展 we b 服务器访问业务系统功能的机制: 4 , j s p 1 .2可以开发动态w e b 用户界面; 5 , j m s 1 .0是访问面 向消息中间件 ( m o m , m e s s a g e - o r i e n t e d mi d d l e w a r e )的标准化a p i ,支持点对点模型与发表/ 预订模型; 6 , j n d i 1 . 2是 j 2 s e v 1 . 3的一部分,是访问命名与目录服务的标准化 ap i ; 7 , j t al 0支持事务并提供应用程序层事务分界的接口; 8 , j a v a ma i l a p i 1 . 2提供管理e - ma i l 的 a p i ,要求有 j a f ; 9 , j a x p l 1支持处理x ml格式数据, 提供文档对象模型( d o m) , x ml 的简单a p i 和x ml样式表单转换语言转换引擎; 1 0 , j a a s 1 . 0提供安全性服务, 特别是验证与授权, 提供验证用户的可 插入验证模块的框架实现。 其中, e j b与s e r v l e t / j s p是j 2 e e技术的核心部分。一 下 面我们将具体介 绍它们,这些技术也是在我们系统中经常应用的。 1 . 2 . 1 j s p j s p是 s u n公司于 1 9 9 9 年 6月推出的新技术,是基于j a v a 的服务端动 态页面技术。j s p使用j a v a 语一言作为其脚本语言,由此具有了许多优点。因 为j a v a 是编译解释执行的, 所以j s p也摆脱了v b s c r i p t , p e r l 等脚本语言纯 粹的解释执行带来的低效率问题。因为 j a v a 是平台无关的, 我们 可在仟何平 华北电力大学硕 卜 学位论文 台下编写j s p网页并发布到服务器 卜 运行。 作为j 2 e e的一部分, j s p页面可 访问所有的j 2 e e组件( 包括j a v a b e a n , e j b和s e r v l e t ) 和所有j 2 e e的标准服 务( 包括j a v a 命名和目 录界面a p i , j d b c a p i , j a v a ma i l 和j ms ) 。 可以利用 j a v a 的企业级a p i 来开发满足企业业务需求的系统, 而使用j s p作为这些技 术的前端。 j s p技术是一种开放的、跨平台的体系。we b服务器、平台和其它组件 都可轻松升级或交换而不影响基于j s p的应用程序。这使得j s p非常适合需 要升级而又要求保持原有系统不受影响的实时 we b应用程序。 j s p是基于 j 2 s e和1 2 e e平台上的,自身没有编译器, 然而j s p的执行需要先翻译( 预编 译) 成 s e r v l e t ,而翻译还需要类库的支持,因此需要先安装 j d k ,并设置类 库路径,然后在服务端定位j d k中的编译器,以取得其服务。 j s p是一种页面技术, 只实现了h t t p协议, 因此只能应用于 we b 页面, 这是j s p区别于 s e r v l e t 的重要特征。但是j s p是用标准h t ml语法混合自 身语法标记来实现的,不需要有使用 j a v a . c + + 等程序设计语言的能力与经 验,因此很适合于编写用户视图,即使是不会编程的开发人员也能通过 j s p 制作工具生成 自己所需的 j s p页面。 1 . 2 . 2 s e r v l e t s e r v l e t 是由容器管理、可以产生动态内容的页面组件,它是一个扩展模 块, 可以 扩展能运行j a v a 的w e b 月 及 务器的功能。 s e r v l e t 通过容器实现的r e q u e s t 和: e s p o n s e 实例与页面客户交互, 它定义了服务、 服务器进程、 s e r v l e t a p i . 在开发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 类, 并且重写 它的一些方法。主要有: i n i t ( ) 方法:第一次加载s e r v l e t 时调用; d o g e t q :处理来自一个客户的h t t p g e t请求; d o p o s t ( ) :处理来自一个客户的h t t p p o s t请求。 还有一些其它的方法来处理不同类型的 h t t p请求可参考 h t t p s e r v l e t a p i 的文本来得到更多相关的信息。一旦 开发了自己的s e r v l e t . 通过在w e b .x m l 文件中 进行注册, 就可以 使用了,该文件为s e r v l e t 的.c l a s s 文件和运行路径建立了一个映射关系。 s e r v l e t 的基本执行流程如下: 加载被请求的s e r v l e t . 若被请求的s e r v l e t 尚未加载,将调用该 s e r v l e t 并解析、加载。s e r v l e t 既可以从本地加载,也 可从远程主机加载可通过j a v a w e b 服务器的h t t p we b 服务的s e r v l e t 控制台来控制。与传统 c g i 不同,s e r v l e t 只加载一次,然后通过 s e r v l e t 的 华北电力大学硕 卜 学位论文 台下编写j s p网页并发布到服务器 卜 运行。 作为j 2 e e的一部分, j s p页面可 访问所有的j 2 e e组件( 包括j a v a b e a n , e j b和s e r v l e t ) 和所有j 2 e e的标准服 务( 包括j a v a 命名和目 录界面a p i , j d b c a p i , j a v a ma i l 和j ms ) 。 可以利用 j a v a 的企业级a p i 来开发满足企业业务需求的系统, 而使用j s p作为这些技 术的前端。 j s p技术是一种开放的、跨平台的体系。we b服务器、平台和其它组件 都可轻松升级或交换而不影响基于j s p的应用程序。这使得j s p非常适合需 要升级而又要求保持原有系统不受影响的实时 we b应用程序。 j s p是基于 j 2 s e和1 2 e e平台上的,自身没有编译器, 然而j s p的执行需要先翻译( 预编 译) 成 s e r v l e t ,而翻译还需要类库的支持,因此需要先安装 j d k ,并设置类 库路径,然后在服务端定位j d k中的编译器,以取得其服务。 j s p是一种页面技术, 只实现了h t t p协议, 因此只能应用于 we b 页面, 这是j s p区别于 s e r v l e t 的重要特征。但是j s p是用标准h t ml语法混合自 身语法标记来实现的,不需要有使用 j a v a . c + + 等程序设计语言的能力与经 验,因此很适合于编写用户视图,即使是不会编程的开发人员也能通过 j s p 制作工具生成 自己所需的 j s p页面。 1 . 2 . 2 s e r v l e t s e r v l e t 是由容器管理、可以产生动态内容的页面组件,它是一个扩展模 块, 可以 扩展能运行j a v a 的w e b 月 及 务器的功能。 s e r v l e t 通过容器实现的r e q u e s t 和: e s p o n s e 实例与页面客户交互, 它定义了服务、 服务器进程、 s e r v l e t a p i . 在开发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 类, 并且重写 它的一些方法。主要有: i n i t ( ) 方法:第一次加载s e r v l e t 时调用; d o g e t q :处理来自一个客户的h t t p g e t请求; d o p o s t ( ) :处理来自一个客户的h t t p p o s t请求。 还有一些其它的方法来处理不同类型的 h t t p请求可参考 h t t p s e r v l e t a p i 的文本来得到更多相关的信息。一旦 开发了自己的s e r v l e t . 通过在w e b .x m l 文件中 进行注册, 就可以 使用了,该文件为s e r v l e t 的.c l a s s 文件和运行路径建立了一个映射关系。 s e r v l e t 的基本执行流程如下: 加载被请求的s e r v l e t . 若被请求的s e r v l e t 尚未加载,将调用该 s e r v l e t 并解析、加载。s e r v l e t 既可以从本地加载,也 可从远程主机加载可通过j a v a w e b 服务器的h t t p we b 服务的s e r v l e t 控制台来控制。与传统 c g i 不同,s e r v l e t 只加载一次,然后通过 s e r v l e t 的 华北 电力大学硕 学位论文 多线程能力处理来自多个客户的多个请求。 初始化 s e r v l e t 时。 s e r v l e t 中的i n i t ( ) 方法将被调用,在该方法中我们可 以执行诸如连接数据库之类的初始化操作。 i n i t q 方法只在s e r v l e t 加载时调用 一次,而对 s e r v l e t 的其它任何调用都要在 ; n i t q 方法执行结束后才能处理。 对应h t ml g e t或p o s t请求,分别调用s e r v l e t 中的d o g e t ( ) 或d o p o s t ( ) 方 法响应。其它类型的h t t p请求,调用相应方法。s e r v l e t 在执行完某种处理 后,通过输出流的方式向请求方返回响应。 在这里,我们比较一下j s p与 s e r v l e t 的异同点。首先,它 们都是j 2 e e 中用于实现客户端浏览器和服务器端交互的技术, j s p 和s e r v i e t 都可以实现 h t t p协议,更准确一点,j s p就是实现了 h t t p协议的 s e r v l e t ,如果我们 查看经过编译以后的j s p页面代码,则可以发现实际上它已经被自动转化为 了s e r v l e t , j s p页面中的内容都以文本的方式写入到了输出流中。其次,它 们也有很明显的不同点, j s p可以以可视的方式进行编写, 而s e r v l e t 则不能, 因此j s p更适合于界面开发人员进行开发, 而s e r v l e t 则应由专门的程序员来 编写 。 1 . 2 . 3 e .t b e n t e r p r i s e j a v a b e a n ( e j b ) 是一 个用j a v a 语言开发的 可部署的 服务 器端 组件的体系结构。e j b组件是可部署的,它们可被导入到作为组件主机的应 用服务器中。 e j b是专门用来解决商务问题的, e j b组件可以执行以下任务: 执行商务逻辑 例如计算当前购物车中商品的价格。 访问数据库 例如提交一个新增人员的信息。e j b通过使用j a v a 数据库 连接 ( j d b c )来完成数据库访问。 访问其他系统 e j b通过 j a v a 连接器体系结构来实现现有的应用系统集 成。 e j b 2 .0定义了3 种不同的企业级b e a n : 会话b e a n ( s e s s i o n b e a n ) 会话b e a n 模拟商务过程对象。它们就像动 词一样,它们执行动作。这些动作包括进行加分运算、访问数据库等等。 实体b e a n ( e n t i t y b e a n ) 实体模拟商务数据。它们就像名词一样,因 为它们代表数据对象,即代表数据库信息的数据对象。 例如: 产品、订购单、 雇员等都是它的适用对象。会话b e a n 通过实体b e a 。 来达到业务目标。 消息驱动b e a n ( me s s a g e d r i v e n b e a n )消息驱动b e a n 与会话b e a n 类 似,因为它们也代表动作。两者的不同之处在于消息驱动 b e a n只能通过其 他 b e a n发送消息来调用它们。 华北 电力大学硕 学位论文 多线程能力处理来自多个客户的多个请求。 初始化 s e r v l e t 时。 s e r v l e t 中的i n i t ( ) 方法将被调用,在该方法中我们可 以执行诸如连接数据库之类的初始化操作。 i n i t q 方法只在s e r v l e t 加载时调用 一次,而对 s e r v l e t 的其它任何调用都要在 ; n i t q 方法执行结束后才能处理。 对应h t ml g e t或p o s t请求,分别调用s e r v l e t 中的d o g e t ( ) 或d o p o s t ( ) 方 法响应。其它类型的h t t p请求,调用相应方法。s e r v l e t 在执行完某种处理 后,通过输出流的方式向请求方返回响应。 在这里,我们比较一下j s p与 s e r v l e t 的异同点。首先,它 们都是j 2 e e 中用于实现客户端浏览器和服务器端交互的技术, j s p 和s e r v i e t 都可以实现 h t t p协议,更准确一点,j s p就是实现了 h t t p协议的 s e r v l e t ,如果我们 查看经过编译以后的j s p页面代码,则可以发现实际上它已经被自动转化为 了s e r v l e t , j s p页面中的内容都以文本的方式写入到了输出流中。其次,它 们也有很明显的不同点, j s p可以以可视的方式进行编写, 而s e r v l e t 则不能, 因此j s p更适合于界面开发人员进行开发, 而s e r v l e t 则应由专门的程序员来 编写 。 1 . 2 . 3 e .t b e n t e r p r i s e j a v a b e a n ( e j b ) 是一 个用j a v a 语言开发的 可部署的 服务 器端 组件的体系结构。e j b组件是可部署的,它们可被导入到作为组件主机的应 用服务器中。 e j b是专门用来解决商务问题的, e j b组件可以执行以下任务: 执行商务逻辑 例如计算当前购物车中商品的价格。 访问数据库 例如提交一个新增人员的信息。e j b通过使用j a v a 数据库 连接 ( j d b c )来完成数据库访问。 访问其他系统 e j b通过 j a v a 连接器体系结构来实现现有的应用系统集 成。 e j b 2 .0定义了3 种不同的企业级b e a n : 会话b e a n ( s e s s i o n b e a n ) 会话b e a n 模拟商务过程对象。它们就像动 词一样,它们执行动作。这些动作包括进行加分运算、访问数据库等等。 实体b e a n ( e n t i t y b e a n ) 实体模拟商务数据。它们就像名词一样,因 为它们代表数据对象,即代表数据库信息的数据对象。 例如: 产品、订购单、 雇员等都是它的适用对象。会话b e a n 通过实体b e a 。 来达到业务目标。 消息驱动b e a n ( me s s a g e d r i v e n b e a n )消息驱动b e a n 与会话b e a n 类 似,因为它们也代表动作。两者的不同之处在于消息驱动 b e a n只能通过其 他 b e a n发送消息来调用它们。 华北电力大学硕 学位论文 1 . 3基于j 2 e e平台的系统 1 .3 . 1软件体系结构 随着软件的应用领域越来越宽广,功能上越来越复杂,系统开发时如果 没有一个合适的体系结构是行不通的,不同的子系统也需要不同的体系结 构。现在的软件系统越来越强调开放性,随着软件规模的扩大和复杂度的增 加, 面临着更难处理的非功能性的需求, 如软件的复用性问题、 可靠性问题、 可移植性问题、系统性能问题等。这就需要一定的规则来确定系统的框架。 系统的体系结构主要包含相对独立的模块,这些模块接口之间的交互体制和 一系列组织管理这些操作的规则,同时注意良好的数据结构定义和数据封装 以使外部的应用程序能方便地共享本系统的数据而又不会造成破坏性的后 果 。 目前软件体系结构没有明确的统一定义,简单来说,软件体系结构问题 主要涉及软件系统总体组织、全局控制、通信协议同步、数据存取、给设计 元素分配特定功能、设计元素的组织规模和性能、在设计方案间进行选择等 方面 。 软件体系结构设计的一个重要问题是软件结构的重用性,其次是软件的 继承性。软件结构有效的重用性和继承性可以带来许多实际的益处:1 )促 进对设计的复用;2 )可以带来显著的代码复用;3 )系统使用常用的规范来 组织,可以使其他的设计者容易理解系统的体系结构。在设计软件的时候, 如果体系结构设计得好,又对该软件的体系结构十分熟悉,就可以很容易地 加入新的进程或模块,同时又不影响这个软件的体系结构和其它功能。比如 为了在某种系统上进行软件的二次开发,就要考虑其可扩展性和其集成性, 想在原软件的基础上进行升级,如果软件的体系结构不好,那么二次开发是 很困难的 目前典型的成熟软件体系结构主要有:1 ) 管道过滤器;2 ) 数据抽象 与 面向对象: 3 ) 事件驱动与事件触发; 4 ) 客户机/ 服务器结构; 5 ) 知识库结构; 6 ) 虚拟机结构等。 其中客户机/ 服务器结构主要有两种实现方式: c / s 和b / s o 它们各自的优缺点有:1 、系统升级:b / s系统只需要在服务器端完成升级就 能让所有的客户端使用升级以后的新系统,而c / s系统的升级 一 般需要同时 更新服务器端和客户端,没有及时升级的客户端可能无法正常运行;2 、用 户数量规模:b / s系统中所能支持的用户数量只与服务器的性能相关,当服 务器性能足够好时,它所能支持的用户数目是非常惊人的。例如:我们平时 华北电力大学硕 学位论文 1 . 3基于j 2 e e平台的系统 1 .3 . 1软件体系结构 随着软件的应用领域越来越宽广,功能上越来越复杂,系统开发时如果 没有一个合适的体系结构是行不通的,不同的子系统也需要不同的体系结 构。现在的软件系统越来越强调开放性,随着软件规模的扩大和复杂度的增 加, 面临着更难处理的非功能性的需求, 如软件的复用性问题、 可靠性问题、 可移植性问题、系统性能问题等。这就需要一定的规则来确定系统的框架。 系统的体系结构主要包含相对独立的模块,这些模块接口之间的交互体制和 一系列组织管理这些操作的规则,同时注意良好的数据结构定义和数据封装 以使外部的应用程序能方便地共享本系统的数据而又不会造成破坏性的后 果 。 目前软件体系结构没有明确的统一定义,简单来说,软件体系结构问题 主要涉及软件系统总体组织、全局控制、通信协议同步、数据存取、给设计 元素分配特定功能、设计元素的组织规模和性能、在设计方案间进行选择等 方面 。 软件体系结构设计的一个重要问题是软件结构的重用性,其次是软件的 继承性。软件结构有效的重用性和继承性可以带来许多实际的益处:1 )促 进对设计的复用;2 )可以带来显著的代码复用;3 )系统使用常用的规范来 组织,可以使其他的设计者容易理解系统的体系结构。在设计软件的时候, 如果体系结构设计得好,又对该软件的体系结构十分熟悉,就可以很容易地 加入新的进程或模块,同时又不影响这个软件的体系结构和其它功能。比如 为了在某种系统上进行软件的二次开发,就要考虑其可扩展性和其集成性, 想在原软件的基础上进行升级,如果软件的体系结构不好,那么二次开发是 很困难的 目前典型的成熟软件体系结构主要有:1 ) 管道过滤器;2 ) 数据抽象 与 面向对象: 3 ) 事件驱动与事件触发; 4 ) 客户机/ 服务器结构; 5 ) 知识库结构; 6 ) 虚拟机结构等。 其中客户机/ 服务器结构主要有两种实现方式: c / s 和b / s o 它们各自的优缺点有:1 、系统升级:b / s系统只需要在服务器端完成升级就 能让所有的客户端使用升级以后的新系统,而c / s系统的升级 一 般需要同时 更新服务器端和客户端,没有及时升级的客户端可能无法正常运行;2 、用 户数量规模:b / s系统中所能支持的用户数量只与服务器的性能相关,当服 务器性能足够好时,它所能支持的用户数目是非常惊人的。例如:我们平时 华北电力大学硕十学位论文 访问的 w w w .s m a .c o m .e n 网站, 在使用的高峰期, 网站的用户访问数量可以达到 百万以上,如果是对于 c / s系统来说,这儿乎是不可能实现的。3 、客户端 操作:b / s系统的客户端界面与 c / s系统相比,用户操作上将受到更多的限 制, 这与客户端所使用的浏览器密切相关, 以i n t e r n e t e x p l o r e r 为例, 它只不 过是一个文本解释器,假如用户想通过它来进行绘图或者完成复杂的文本处 理,它就显得有些力所不及了,即使勉强实现了,那也需要付出在c / s环境 下实现相同功能几倍以上的努力。b / s和 c / s架构各有优缺点,在选择时应 根据系统的需求而定。 b / s结构应用系统的软件体系结构, 它可以建立在mv c模式之上。 mv c 是一个经典的软件体系结构, 同时也是一个设计模式, 它己经得到广泛运用。 在j 2 e e企业应用开发中, 采用mv c软件体系结构能够简化软件开发, 提高 软件性能和可维护性,达到提高软件质量的目的。在我们的人力资源管理信 息系统中就采用了mv c模式为系统体系结构,并取得了很好的效果。mv c 的详细介绍将在设计模式一章中展开。 1 .3 . 2基于j 2 e e平台系统的体系结构 事实上, j 2 e e 平台可以说是为开发b / s 结构的企业级应用系统而产生的, j 2 e e平台提供了许多相应的 a p i , 如用于开发显示页面的 j s p , s e r v l e t 技术, 用于实现企业逻辑和计算的e j b技术,用于系统与关系数据库连接的j d b c 技术等。j 2 e e平台下开发的系统需符合 j 2 e e的规范,具有平台无关性,有 利于移植和维护。 j 2 e e规范强制人们使用一种标准格式来部署 j s p , s e r v l e t s 和其他j 2 e e组件。 一个称为部署描述符的x ml文档就是这个标准格式的一 部分。部署描述符包含从每个 s e r v l e t 到用于调用特定s e r v l e t 的u r l的映 射。应用服务器使用部署描述符中的信息来决定针对给定的请求应该调用哪 个 s e r v l e t 。应用程序运行在 j 2 e e服务器上时,还可以利用服务器所提供的 很多功能,如:安全机制、数据库访问等,这将大大节约系统开发时间。 j 2 e e不但在技术上提供了a p i 接口,同时也提供了一个特定的应用程 序开发结构,这个结构称为:模型一 视图一 控制器 ( mv c ) e mv c清楚地将应 用程序定义为三个分离的层: 1 、模型:应用程序的数据和业务规则的集合一一通常称为应用程序的业 务逻辑; 2 、视图:应用程序的用户界面; 3 、控制器:定义了应用程序如何对用户输入和模型层的变化作出反应 一一通常称为应用逻辑。 华北电力大学硕十学位论文 访问的 w w w .s m a .c o m .e n 网站, 在使用的高峰期, 网站的用户访问数量可以达到 百万以上,如果是对于 c / s系统来说,这儿乎是不可能实现的。3 、客户端 操作:b / s系统的客户端界面与 c / s系统相比,用户操作上将受到更多的限 制, 这与客户端所使用的浏览器密切相关, 以i n t e r n e t e x p l o r e r 为例, 它只不 过是一个文本解释器,假如用户想通过它来进行绘图或者完成复杂的文本处 理,它就显得有些力所不及了,即使勉强实现了,那也需要付出在c / s环境 下实现相同功能几倍以上的努力。b / s和 c / s架构各有优缺点,在选择时应 根据系统的需求而定。 b / s结构应用系统的软件体系结构, 它可以建立在mv c模式之上。 mv c 是一个经典的软件
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 生态旅游开发项目可行性研究报告
- 汽车修补漆生产线项目可行性研究报告
- 年产5150台新生儿黄疸治疗仪项目可行性研究报告
- 纪念“九一八”事变主题班会5篇
- DB11∕T 1606-2018 绿色雪上运动场馆评价标准
- 供应合同样式
- 企业管理咨询行业技术规范与应用
- 【语文】第14课《唐诗五首:使至塞上》课件-2025-2026学年统编版语文八年级上册
- 流动资金借款合同(样式二)与流动资金借款的合同4篇
- 河北省唐山市2025-2026学年高三上学期开学摸底考试历史试卷
- 湛源道脉老师讲授之入门基础
- 2023年国际禁毒日-禁毒宣传普及禁毒知识提高禁毒意识
- 给校长的一封信600字(9篇)
- 南京大学介绍课件
- 产品贴牌管理制度
- 2025至2030年中国海洋信息化产业发展动态及投资决策建议报告
- 公司技术成果归属协议书
- 公司利益分成协议书
- 2025-2030年吸尘器行业市场现状供需分析及投资评估规划分析研究报告
- 职业技术学校《酒店数字化营销》课程标准
- 行测资料5000题题库
评论
0/150
提交评论