已阅读5页,还剩64页未读, 继续免费阅读
(计算机软件与理论专业论文)基于j2ee的机场软件及相关模块的设计与实现.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基于j 2 e e 韵机场软件及相关模块的设计与实现 中文摘要 学科专业:计算机软件与理论 论文题目:基于j 2 e e 的机场软件及相关模块的设计与实现 导师姓名:周明天 硕士生姓名及班学号:黎光伟( 0 2 s 0 8 31 2 0 ) 传统的企业应用系统多是采用二层体系结构,即c s 模式。c s 两层架构在 一个相对专用、独立的系统中,是一个较好的系统建立方法,但是随着计算机网 络技术的发展,各种不同平台之间的互联,软件设计应采用开放性原则,以c s 结构为代表的两层结构其弊端也越来越明显。 j 2 e e ( j a v a 2p l a t f o r me n t e r p r i s ee d i t i o nj 2 e e ) 是一种利用j a v a2 平台来简 化企业解决方案的开发、部署和管理相关复杂问题的体系结构,它定义了一个典 型的四层结构,分别是客户层、w e b 层、商业逻辑层和企业信息系统层。多层体 系结构为搭建具有可伸缩性、灵活性、易维护性的商务系统提供了良好的机制, 可以很好地解决两层模式的弊端。同时,软件系统发展到今天己经很复杂了,特 别是服务器端软件,涉及许多知识和内容。在某些方面使用别人成熟的框架,就 相当于让别人帮你完成一些基础工作,而你只需要集中精力完成系统的业务逻辑 设计,所以现在j 2 e e 应用程序的开发一般都会采用某个应用程序框架。框架一 般是成熟,稳健的,它可以处理系统的很多细节问题,比如,事务、安全、数据 流控制等。 本文首先对j 2 e e 体系架构作了简单介绍。之后解释了什么是应用程序框架 以及为什么要采用应用程序框架,同时介绍了机场软件系统开发中采用的s p r i n g 应用程序框架。在此基础上,本文详细描述了机场软件系统相关模块客户端和服 务器端的设计与实现。最后,本文介绍了s p r i n g 框架自带的安全插件a c e g i ,并 对系统安全控制作了一定的研究。 关键词:j 2 e e 体系架构,s p r i n g 应用程序框架,a c e g i 基于j 2 e e 的机场软件及相关模块的设计与实现 a b s t r a c t t r a d i t i o n a le n t e r p r i s ea p p l i c a t i o ns y s t e mm a i n l ya d o p t s2 - t i e ra r c h i t e c t r u e ( c s m o d e l ) c sm o d e li sag o o dm e t h o dt ob u i l ds o f t w a r es y s t e mi nas p e c i f i ca n d i n d e p e n d e n t e n v i r o n m e n t ,b u tw i t ht h ed e v e l o p m e n t o f c o m p u t e r n e t w o r k t e c h n o l o g y m a di n t e r c o n n e c t i o no f v a r i o u sp l a t f o r m s ,s o f t w a r ed e s i g ns h o u l da d o p to p e n p r i n c i p l e , s ot h ea b u s eo fc sm o d e li sm o r ea n dm o r eo b v i o u st h a ne v e rb e f o r e j 2 e e ( j a v a2p l a t f o r me n t e r p r i s ee d i t i o nj 2 e e ) r e l e a s e db ys u nm i c r o s y s t e m s i n c i sa l la r c h i t e c t u r et h a td e f i n e dt h es t a n d a r d sf o rd e v e l o p i n gc o m p o n e n t b a s e d m u l t i t i e r se n t e r p r i s ea p p l i c a t i o n s i tu s e sa4 - l e v e lm o d e lf o rw e bd e v e l o p m e n t t h e b r o w s e rr u n so nt h ec l i e n t d i s p l a y i n gh t m l a n do p t i o n a l l yr u n sj a v a s c f i p t t h e m i d d l et i e ri s c o m p r i s e do f t w ol a y e r s :ap r e s e n t a t i o nl a y e ra n dab u s i n e s sl o g i c l a y e r t h ed a t at i e rm a n a g e sp e r s i s t e n td a t ai n ad a t a b a s e m n l t i t i e r sa r c h i t e c t u r e p r o v i d e sg o o dm e c h e n i s m f o rb u i l d i n gf l e x i b l ea n dm a i n t a i n a b l ea p p l i c a t i o ns y s t e m a n d s e t t l i n g t h e d e f i c i e n c y c a u s e db y2 - t i e rm o d e l a tt h es a m et i m e ,s o f t w a r e d e v e l o p m e n te s p e c i a l l ys e r v e r - s i d e s o f t w a r ei n v o l v i n gm a n yk n o w l e d g ea n da s p e c ti s v e r yc o m p l e xt o d a y , s oi fa d o p t i n gs o m e m a t u r a t i o n a lf r a m e w o r k sw h i c hh a v ea l r e a d y c o n s i d e r e dm a n yd e t a i l s ,s u c ha st r a n s a c t i o n 、s e c u r i t ye t c ,y o uc a np a y a t t e n t i o nt ot h e d e s i g no f t h eb u s i n e s sl o g i ca n dc a na c c o m p l i s ht h ed e v e l o p m e n tq u i c k l ya n dc l e a r l y t h et h e s i si n t r o d u c e sj 2 e ea r c h i t e c t u r ef i r s t l y , a n dt h e n ,ie x p l a i n sw h a ti st h e a p p l i c a t i o nf r a m e w o r ka n dw h y w en e e dt h ef r a m e w o r k ,w i t hf o l l o w i n g ,ii n t r o d u c e s t h e s p r i n gf r a m e w o r kw h i c hi sa d o p t e db yt h e s o f t w a r es y s t e mm e n t i o n e di nt h e t h e s i s a f t e rt h a t ,t h et h e s i sg i v e sd e t a i l so ft h ed e s i g na n dd e v e l o p m e n to ft h e s o f t w a r e m o d u l e ,i n c l u d i n g b o t hc l i e n ts i d ea n ds e r v e rs i d e f i n a l l y , t h et h e s i s i l l u s t r a t e sa c e g iw h i c hi sap l u g - i nc a r do fs p r i n gf r a m e w o r ka n dd e s c r i b e sh o w t o b u i l ds e c u r i t ys y s t e mu s i n ga c e g i k e y w o r d s :j 2 e ea r c h i t e c t u r e 、s p r i n ga p p l i c a t i o nf r a m e w o r k 、a c e g i 基于j 2 e e 的机场软件及相关模块的设计与实现 独创性声明 本人声明所呈交的学位论文是本人在导师指导下进行的研究工作及取得的 研究成果。据我所知,除了文中特别加以标注和致谢的地方外,论文中不包含 其他人已经发表或撰写过的研究成果,也不包含为获得电子科技大学或其它教 育机构的学位或证书而使用过的材料。与我一同工作的同志对本研究所做的任 何贡献均已在论文中作了明确的说明并表示谢意。 日期:2 0 0 4 年1 2 月l f 日 关于论文使用授权的说明 本学位论文作者完全了解电子科技大学有关保留、使用学位论文的规定,有 权保留并向国家有关部门或机构送交论文的复印件和磁盘,允许论文被查阅和 借阅。本人授权电子科技大学可以将学位论文的全部或部分内容编入有关数据 库进行检索,可以采用影印、缩印或扫描等复制手段保存、汇编学位论文。 ( 保密的学位论文在解密后应遵守此规定) 日期:2 0 0 4 年1 2 月1 妇 基于1 2 e e 的机场软件及相关模块的设计与实现 1 1 前言 第一章绪论 随着时代的进步与科技的发展,人类进入一个高度信息化的社会,信息就如 同空气一样充满着整个社会,信息也如同空气一样重要,人们越来越意识到:在 这个社会中,谁掌握了信息,谁就拥有了成功。因此,各个企业和部门越来越重 视自身信息化的建设。目前,国内的大多数中小企业都已建成了采用简单的客户 ,服务n ( c s ) 两层结构的信息管理及发布系统,但存在开放程度低、兼容性差等 局限性。而b s 多层体系结构能提高系统的可扩展性,使应用具有良好的可重用 性和可维护性,同时减少客户端,减少维护费用。所以研究j 2 e e 技术与并基 于多层体系架构开发企业管理信息系统有重要的现实意义。 1 2 课题研究背景和我的工作 老的机场软件系统是基于c s 的两层架构。传统的c s 两层架构在一个相对 专用、独立的系统中,是一个较好的系统建立方法,但是随着计算机网络技术的 发展,各种不同平台之间的互联,软件设计应采用开放性原则,以c s 结构为代 表的两层结构其弊端也越来越明显。 一个典型的客户服务器系统如下图所示。 圈 圈 圈 图l l 客户n 务器系统 采用c s 模式的两层结构有以下不足之处: 由于用户界面层、业务逻辑层和数据存储层都处在客户端,使得客户端变得 过于庞大,从而能够运行这些客户端的机器也变得更加昂贵。 由于数据存储层存在客户端,这就使得每一个客户端都要有一个数据库服务 器端的数据库连接。而对于服务器端而言,数据库连接是- - o o 代价较高的资源, 这就使得客户端的个数受到很大的限制。 由于用户界面层、业务逻辑层和数据存储层都处在客户端,这样每一个客户 基于j 2 e e 的机场软件及相关模块的设计与宴现 端都要进行比较复杂的配置,这种配置对于非计算机人员可能是一种过高的要 求,因而企业就需要为这些人员提供培训,增加了企业的培训成本。 在通常情况下,数据存储层和数据库服务器是紧密耦合的,也就是说数据存 储层对数据库访问模式与特定的数据库是相关的。在c s 模式中用户界面层、 业务逻辑层和数据存储层在实现上是不严格区分的,所以用户界面层、业务逻辑 层与数据存储层都是紧密耦合的。这样,任何数据库的改变,比如数据库结构的 改变、数据库厂家的改变,都会影响到用户界面的表示和业务逻辑的处理。这就 是通常所说的数据相关性。这样就使得系统维护、升级困难以及成本昂贵。 j 2 e e 是美国s u n 公司推出的一种全新概念的模型,与传统的互联网应用程 序模型相比有着不可比拟的优势。它定义了一个典型的四层结构,分别是客户层、 w e b 层、商业逻辑层和企业信息系统层。多层体系结构为搭建具有可伸缩性、灵 活性、易维护性的企业应用系统提供了良好的机制,可以很好地解决两层模式的 弊端。因此,采用多层架构开发机场软件系统具有重要的现实意义。 本课题的主要工作是采用面向对象技术和j 2 e e 技术实现机场软件系统的系 统分析、设计与开发。系统包含多个模块:指挥调度中心模块、运输调度模块、 机坪管理模块、食品油料管理模块等,我在其中承担了指挥调度中心模块的开发 任务,主要负责完成客户端到服务器端的设计与开发,并对系统安全作了一定的 研究。 1 3 课题所用工具的选择 1 3 1 操作系统 软件系统的开发选用了w i n d o w s 2 0 0 0 操作系统平台。w i n d o w s 2 0 0 0s e r v e r 包 含了改进的网络、应用程序和w e b 服务管理。它不但增强了可靠性和灵活性,而 且降低了拥有强大、灵活管理服务的计算系统的成本,并为运行企业应用程序提 供了良好的基础。 1 3 2 数据库系统 本课题所用的数据库为s y b a s e 数据库。s y b a s e 数据库是s y b a s e 公司开发 的一个基于结构化查询( s q l ) 和客户机服务器模型的高性能和关系数据库管理 系统。它具有可扩展性、易用性的优点。 1 3 3 开发平台 本课题采用j b u il d e r x + w e b l o g i c 进行开发 基于j 2 e e 的机场软件及相关模块的设计与实现 l _ 3 3 1 关于j b u i l d e r x b o r l a n d 公司的j b u i l d e r 是世界领先的j a v a 开发环境。目前最新版本 j b u i l d e r x 是一个开发企业级j a v a 应用的综合性跨平台环境,它建立在j b u i i d e r 屡获殊荣的特点上,增加了很多新的特性,从而成为目前最强大的j a v a 可视化 开发环境。 j b u i l d e rx 包括用于性能剖析的o p t i m i z e i ts u i t e6 0 和 a u t o m a t i e q u a l i t y a n a l y s i s ,旨在帮助开发人员更好编写代码。加强与 b o r a n da p p l i c a t i o n l i f e c y c l e m a n a g e m e n t ( a l m ) 解决方案以及数以百计的第三 方工具和组件的集成,从而确保开发出来的软件与总体业务需求一致。 增强可用性的新特性包括: 新的用户界面,包括多种可d o c k a b l e 的视窗用于更快编辑、更容易管理编 辑过程; 可配置的个性化设置,允许开发人员定制开发环境,这样,只有与当前任务 相关的特性才会显示; c o d ef o l d i n g 使得开发人员能够同时观看多个编码片断,因此减少了处理 大型源文件的复杂程度; 项目内部任务管理单和书签能够更易于管理工作进程状况; 加强r e f a c t o r i n g 支持,旨在加速编码重组以提高质量和重新使用。 高级w e b 开发的新特性包括; 一个基于标准的s t r u t s 设计器能够使用简单的拖放方式快速、直觉地开发 高级w e b 应用; 用于j s ph t m l 和x m l 开发的新的t a g i n s i g h t ,旨在加速编码,降低编码错 误的风险。 高级w e b 服务开发的新特性包括: 一个可视的w e bs e r v i e e s d e s i g n e r 旨在通过简单的拖放方式就能够更快、 更容易创建、验证、输入和输出w e b 服务。这有助于简化使用、创建和管理多个 w e b 服务的任务。 先进的j 2 e e 部署特性包括: 对j b o s s 应用服务器的新的支持。这种支持使得开发人员能够充分利用 j b o s s 的成本优势和j b u i l d e r 的生产率优势; 一个新的双向的部署描述符编辑器,包括描述符元素洋解,有助于简化在领 先的应用服务器上配置和修改j 2 e e 部署描述符的任务; 协助应用部署,这样开发人员能够使用不同应用服务器的特定特性,同时保 持可移植性。有助于快速部署领先的j 2 e e 应用服务器,包括b e a w e b l o g i e 、 基于j 2 e e 的机场软件及相关模块的设计与实现 i b b f * e b s p h e r e 、s u no n e 、o r a c l e 9 i 、s y b a s e e a s e r v e r 、j b o s s 和集成的 b o r l a n d e n t e r p r i s es e r v e r 。 1 3 3 2 关q 。w e b l o g i c j 2 e e 提供了框架和标准的a p i 用作开发分布式的体系。实现这个框架的引 擎工具留给第三方厂商完成。一些厂商着重于实现j 2 e e 体系中的某些组件。例 如,a p a c h e 的t o m c a t 为j s p 和s e r v l e t 提供支持。b e as y s t e m 通过它的w e b l o g i c s e r v e r 产品实现了j 2 e e 的全部特性。 b e aw e b l o g i c 是用于开发、集成、部署和管理大型分布式w e b 应用、网络 应用和数据库应用的j a v a 应用服务器。将j a v a 的动态功能和j a v ae n t e r p r i s e 标准的安全性引入大型网络应用的开发、集成、部署和管理之中。 b e aw e b l o g i cs e r v e r 拥有处理关键w e b 应用系统问题所需的性能、可扩展 性和高可用性。与b e aw e b l o g i ec o m m e r c es e r v e r t m 配合使用,b e aw e b l o g c s e r v e r 可为部署适应性个性化电子商务应用系统提供完善的解决方案。 b e aw e b l o g i cs e r v e r 具有开发和部署关键任务电子商务w e b 应用系统所需 的多种特色和优势,包括: 1 领先的标准 对业内多种标准的全面支持,包括:e j b 、j s p 、j m s 、x m l 和_ l v m l ,使 w e b 应用系统的实施更为简单,并且保护了投资,同时也使基于标准的 解决方案的开发更加简单。 2 无限的可扩展性 b e aw e b l o g i cs e r v e r 以其高扩展的架构体系闻名于业内,包括客户机 连接的共享、资源p o o l i n g 以及动态网页和e j b 组件群集。 3 快速开发 凭借对e j b 和j s p 的支持,以及b e aw e b l o g i cs e r v e r 的s e r v l e t 组 件架构体系,可加速投放市场速度。这些开放性标准与w e b g a i n s t u d i o 配合时,可简化开发,并可发挥已有的技能,迅速部署应用系 统。 4 部署更趋灵活 b e aw e b l o g ics e r v e r 的特点是与领先数据库、操作系统和w e b 服务器 紧密集成。 5 关键任务可靠性 其容错、系统管理和安全性能已经在全球数以千记的关键任务环境中得 以验证。 基于j 2 e e 的机场软件及相关模块韵设计与实现 6 体系结构 b e aw e b l o g i es e r v e r 是专门为企业电子商务应用系统开发的。企业电 子商务应用系统需要快速开发,并要求服务器端组件具有良好的灵活性 和安全性,同时还要支持关键任务所必需的扩展、性能、和高可用性。 b e aw e b l o g i es e r v e r 简化了可移植及可扩展的应用系统的开发,并为 其它应用系统和系统提供了丰富的互操作性。 凭借其出色的群集技术,b e aw e b l o g i cs e r v e r 拥有最高水平的可扩展性 和可用性。b e aw e b l o g i cs e r v e r 既实现了网页群集,也实现了e j b 组件群集, 而且不需要任何专门的硬件或操作系统支持。网页群集可以实现透明的复制、负 载平衡以及表示内容容错,如w e b 购物车;组件群集则处理复杂的复制、负载平 衡和e j b 组件容错,咀及状态对象( 如e j b 实体) 的恢复。 无论是网页群集,还是组件群集,对于电子商务解决方案所要求的可扩展性 和可用性都是至关重要的。共享的客户机服务器和数据库连接以及数据缓存和 e j b 都增强了性能表现。这是其它w e b 应用系统所不具备的。 1 4 论文内容组织 本文首先对j 2 e e 体系架构作了详细介绍。之后解释了什么是应用程序框架 以及为什么要采用应用程序框架,同时介绍了机场软件系统开发中采用的s p r i n g 应用程序框架。在此基础上,本文详细描述了机场软件系统相关模块客户端和服 务器端的设计与实现。最后,本文介绍了s p n n g 框架自带的安全插件a c e g i ,并 对系统安全控制作了一定研究。 基于j 2 e e 的机场软件及相关模块的设计与实现 第二章j 2 e e 平台体系结构及主要的技术 2 1j 2 e e 概念及发展历程 企业应用系统的开发直面临着重大挑战:一方面,企业应用系统面对的 是一个异构的分布式环境,它必须支持与已有系统的集成性和与其他系统的互操 作性;另一方面,作为为客户、合作伙伴和企业内部提供信息服务的平台,企业 系统还必须具有高可用性、安全性、可靠性和可伸缩性。这些要求再加上复杂多 变的用户需求和不断伸缩的交付时问,使得企业系统的开发越来越困难。开发商 和广大程序员一直在努力推动和殷切期待个成熟、标准的企业平台来简化和规 范企业系统的开发和部署。j a v a 技术的出现,尤其是j 2 e e ( j a v a2p 1 a t f o r m e n t e r p r i s ee d i t i o n ) 平台的推出正是这种努力的结果,也使得企业系统的开发 由此变得更加快速和方便。需要指出的是,j 2 e e 本身是一个标准,它为不同厂 商创建平台产品提供了标准,使不同j 2 e e 平台产品之间的交互成为可能。 j a v a 于1 9 9 6 年由s u n 公司推出,当时它的主要用途是制作产生动态网页 的a p p l e t 。后来,人们发现j a v a 的“次开发,多次运行”、纯面向对象的 特性、垃圾回收机制和内置的安全性特别适合于开发企业应用系统。于是,企业 应用开发商纷纷在j a v a 标准版的基础上各自扩展出许多企业应用a p i ,其结果 导致基于j a v a 的企业应用呈爆炸式增长。但是各企业系统a p i 之间又不能相 互兼容,破坏了j a v a 的平台独立性。鉴于此,s u n 公司联合i b m 、o r a c l e 、b e a 等大型企业应用系统开发商于1 9 9 8 年共同制订了一个基于j a v a 组件技术的 企业应用系统开发规范,浚规范定义了一个多层企业信息系统的标准平台,旨在 简化和规范企业应用系统的开发和部署。这一规范和其定义的平台就构成了 j 2 e e 。需要注意的是,j 2 e e 本身是一个标准,而不是一个现成的产品。 自从1 9 9 5 年3 月问世以来,j a v a 程序设计语言以及j a v a 平台技术在 信息技术发展中扮演着越来越重要的角色。 j a v a 的使用可以帮助开发者或更少的时间开发更好的应用,它能够做到下 面几点:( i ) 快速入门和学习:( 2 ) 编写更少的代码;( 3 ) 快速应用开发; ( 4 ) 以纯j a v a 来防止平台依赖性:( 5 ) 编写一次,到处运行( w r i t e o n c e ,r u na n y w h e r e ) ;( 6 ) 发布程序更容易。 因为提供商已经提供了j a v a 虚拟机j ,m ( j a v a v i r t u a lm a c h i h e ) 它 在操作系统之上为应用系统提供了一个通用运行环境,这使得j a v a 平台的 “w r i t eo b o e ,r u na n y w h e r e “准则是完全可能实现的。 基于 2 e e 的机场软件及相关模块的设计与实现 1 9 9 8 年1 2 月,s u n 公司发布了j a v a2 平台。j a v a2 与j d k l 2 对应。 在1 9 9 9 年6 月,s u n 公司宣布了详细的重新组织发布j a v a 平台的方法。虽 然s u n 以前封装了一组j a v a 企业技术和a p i ,并标出“j a v a 企业平台”,但 是直到1 9 9 9 年6 月s u n 才将研制与众不同的且集成的企业平台作为其追求 目标。 目前j a v a 平台有三个版本,它们是适用于小型设备和智能卡的j a v a 2 平 台m i c r o 版( j a v a 2p 1 a t f o r mm i e r oe d i t i o nj 2 m e ) 、适用于桌面系统的j a v a 2 平台标准版( j a v a2p l a t f o r ms t a n d a r de d i t i o nj 2 s e ) 、适用于创建服务 器应用程序和服务的j a v a2 平台企业版( j a v a 2p l a t f o r me n t e r p r is e e d i t i o nj 2 e e ) 。 j 2 e e 是一种利用j a v a2 平台来简化企业解决方案的开发、部署和管理 相关的复杂问题的体系结构。j 2 e e 技术的核心就是核心j a v a2 平台或j a v a 2 平台的标准版,j 2 e e 不仅巩固了标准版中的许多优点,例如“编写一次、到处 运行”的特性、方便存取数据库的j d b ca p i 、c o r b a 技术以及能够在i n t e r n e t 应用中保护数据的安全模式等等,同时还提供了对e j b ( e n t e r p r i s ej a v a b e a n s ) 、j a v as e r v l e t sa p i 、j s p ( j a v a s e r v e r p a g e s ) 以及x m l 技术的全 面支持。其最终目的就是成为一个能够使企业开发者大幅缩短应用投放市场时间 的体系结构。 j 2 e e 体系结构提供中间层集成框架用来满足无需太多费用而又需要高可 用性、高可靠性以及可扩展性的应用的需求。通过提供统一的开发平台,j 2 e e 降 低了开发多层应用的费用和复杂性,同时提供对现有应用程序集成的强有力的支 持,完全支持e n t e r p r i s ej a v ab e a n s ,有良好的向导支持打包和部署应用,添 加目录支持,增强了安全机制,提高了性能。 2 2j 2 e e 的优势 j 2 e e 为搭建具有可伸缩性、灵活性、易维护性的商务系统提供了良好的机 制: 1 ) 保存现有的i t 资产:由于企业必须适应新的商业需求,利用已有的企业信息 系统方面的投资,而不是重新制定全盘方案就变得非常重要。这样,一个以渐进 的( 而不是激进的,全盘否定的) 方式建立在已有系统之上的服务器端平台机制 是公司所需求的。j 2 e e 架构可以充分利用客户原有的投资,如一些公司使用 的b e a t u x e d o 、i b mc i c s 、 i n s p r i s e v is i b r o k e r 以及n e t s c a p e a p p l i c a t i o n s e r v e r 。这之所以成为可能是因为j 2 e e 拥有广泛的业界支持和 一些重要的企业计算领域供应商的参与。每一个供应商都对现有的客户提供了不 7 基于j 2 e e 的机场软件及相关模块的设计与实现 用废弃现有投资,进入可以移植的j 2 e e 领域的升级途径。由于基于j 2 e e 平台 的产品几乎在任何操作系统和硬件配置上运行,现有的操作系统和硬件也能被被 保留使用。 2 ) 高效的开发:j 2 e e 允许公司把一些通用的、很繁琐的服务端任务交给中间件 供应商去完成。这样开发人员可以集中精力在如何创建商业逻辑上,相应的缩短 了开发时间。 高级中间件供应商提供以下这些复杂的中间件服务: 状态管理服务:让开发人员写更少的代码,不用管理如何管理状态,这 样能够更快的完成程序开发。 持续性服务:让开发人员不用对数据访问逻辑进行编码就能编写应用程 序,能生成更轻巧,与数据库无关的应用程序,这种应用程序更容易开 发和维护。 分布式共享数据对象c a c h e 服务:让开发人员编制高性能的系统,极大 的提高整体部署的可伸缩性。 3 ) 支持异构环境:j 2 e e 能够开发部署在异构环境中的可移植程序。基于j 2 e e 的 程序不依赖于任何特定操作系统、中间件、硬件。因此设计合理的基于j 2 e e 的 应用程序只需开发一次就可被部署到各种平台。这在典型的异构企业计算环境中 是十分重要的。5 2 e e 标准也允许客户定购与j 2 e e 兼容的第三方的现成的组件, 把它们部署到异构环境中,节省了由自己制定整个方案所需的费用。 4 ) 可伸缩性:企业必须选择一种服务器端平台,这种平台应能提供极佳的可伸缩 性去满足那些在它们的系统上进行商业运作的大批新客户。基于j 2 e e 平台的应 用程序可被部署到各种操作系统上。例如可被部署到高端u n i x 和大型机系统, 这种系统单机可支持6 4 至2 5 6 个处理器。( 这是n t 服务器所望尘莫及的) j 2 e e 领域的供应商提供了更为广泛的负载平衡策略。能消除系统中的瓶颈,允 许多台服务器集成部署。这种部署可达数千个处理器,实现可高度伸缩的系统, 满足未来商业应用的需要。 5 ) 稳定的可用性:一个服务器端平台必须能够全天候运转以满足公司客户和合作 伙伴的需要。因为i n t e r n e t 是全球化的、无处不在的,即使在夜问按计划停机 也可能造成严重损失。意外停机有可能造成灾难性后果。j 2 e e 部署到可靠的操 作环境中,它们支持长期的可用性。一些j 2 e e 部署在w i n d o w s 环境中,客户也 可以选择健壮性更好的操作系统如s u ns o l a r i s 、i b m0 s 3 9 0 。最健壮的操作系 统可达到9 9 的可用性或每年只需5 分钟的停机时间。这是实时性很强商业系 统理想的选择。 基于j 2 e e 的机场软件及相关模块的设计与实现 j 2 e e 通过定义一种标准的结构来实现它的优势,如下: 1 ) j 2 e e 应用编程模型( a p p l i c a t i o np r o g r a m m i n g m o d e l )一一种 用于开发多层次,瘦型客户用户程序的标准设计模型 2 ) j 2 e e 平台( p l a t f o r m ) 一一一个标准的平台,用来整合j 2 e e 的应用 程序,指定一系列的接口和方法 3 ) j 2 e e 兼容性测试套件( c o m p a t i b i l i t yt e s ts u i t e ) 一一一套兼容测 试组件,用来检测产品是否同j 2 e e 平台兼容 4 ) j 2 e e 参考实现( r e f e r e n c ei m p l e m e n t a t i o n ) 一用来示范j 2 e e 的 能力 j 2 e e 体系架构图2 一l 所示: 2 3j 2 e e 的四层模型 图2 - 1j 2 e 平台体系结构图 j 2 e e 使用多层的分布式应用模型应用逻辑按功能划分为组件,各个应用组 件根据它们所在的层分布在不同的机器上。事实上,s u n 设计j 2 e e 的初衷正是 为了解决两层模式的弊端,在传统模式中,客户端担当了过多的角色而显得臃肿, 在这种模式中,第一次部署的时候比较容易,但难于升级或改进,可伸展性也不 理想,而且基于某种专有的协议一一通常是某种数据库协议。它使的重用业务逻 9 基于j 2 e e 的机场软件及相关模块的设计与实现 辑和界面逻辑非常困难。现在j 2 e e 的多层企业级应用模型将两层化企业模型中 的不同层面切分成许多层。一个多层化能够为不同的每种服务提供一个独立的 层,图2 - 2 是j 2 e e 典型的四层结构: 运行在客户端机器上的客户层组件 运行在j 2 e e 服务器上的w e b 层组件 运行在j 2 e e 服务器上的业务逻辑层组件 运行在e i s 服务器上的企业信息系统 s y s t e m ) 层软件 图2 - 2j 2 e e 四层模型 j 2 e e 应用程序组件 j 2 e e 应用程序是由组件构成的。j 2 e e 组件是具有独立功能的软件单元, 它们通过相关的类和文档组装成j 2 e e 应用程序,并与其它组件交互。j 2 e e 说 明书中定义了以下的j 2 e e 组件: 应用客户端程序和a p p l e t s 是客户层组件。 j a v as e r v l e t s 和j a v as e r v e rp a g e s ( j s p ) 是w e b 层组件。 e n t e r p r i s ej a v a b e a n s ( e j b ) 是业务层组件。 2 4j 2 e e 关键技术介绍 2 4 1s e r v l e t 在互联网发展的早期,人们就面临着如何编写能够处理用户输入并产生动 态内容的w e b 程序问题,这时的解决办法就是公共网关接口( c g i ) 程序。c g i 1 0 基于j 2 e e 的机场软件及楣关模块的设计与实现 程序可以使用多种编程语言开发,例如p e r l 就是一种十分常用的c g i 程序设 计语言。而且现在绝大多数w e b 服务器都支持c g i ,这使得c g i 成为开发动态 w e b 程序的一种通用技术。 但c g i 技术有它的缺点。首要问题是性能和可伸缩性问题,因为在c g i 中,对应来自客户的每个请求都要创建一个进程来响应,以提供服务,这极大的 消耗了服务器地资源。使得c g i 程序不能很好地扩展到服务大量的并发用户, 难以适应开发大型的应用系统的需求。另一个严重的问题就是安全,c g i 程序和 w e b 服务器结合本质上是一种松耦合的结合,它们的结合存在严重的安全漏洞。 例如许多p e r l 脚本使用s h e l l 完成一些操作系统功能,如发送邮件。s h e l l 的 使用就给黑客提供了可乘之机。 因此各个w e b 服务器厂商纷纷推出了自己的w e b 服务器a p i ,程序员可 以使用这些a p i 编写动态w e b 应用程序,如m i c r o s o f t 的i s a p i ,n e t s c a p e 的n s a p 。这类技术克服了c g i 的不足,但它们却带来了另外的问题。首先 是兼容性问题,这些a p i 都是专用于特定的w e b 服务器的,要想移植用另一种 a p i 编写的程序到另一种w e b 服务器将十分困难;其次是可靠性问题,程序员 在使用这些a p i 时往往使用c 或c + + 等传统程序设计语言,而且开发出的程序 紧密地耦合到w e b 服务器中,作为了w e b 服务器的一部分,这些程序的错误常 常导致w e b 服务器的崩溃。这使得使用专用a p i 开发w e b 应用程序十分困难, 也就难以得到真正的推广。 于是,s e r v l e t 技术出现了,它作为j a v a 技术平台支持w e b 应用的突破 口和基础,解决了c g i 和专用a p i 技术存在的问题,借助于j a v a 这一优秀的 技术平台,实现了c g i 与专用a p i 很好的折衷。s e r v l e ta p i 很简单,目前几 乎所有的w e b 服务器甚至复杂的应用服务器都可以支持$ e r v l e t 程序。它通过 多线程等技术解决了c g i 的性能问题。j a v a 平台提供了最强的兼容性。安全性 也得到极大的提高,因为j a v a 技术平台提供了几乎所有用户所需的功能,程序 员已经不再需要使用s h e l l 来实现所需的功能支持。 s e r v l e t 是一种扩展w e b 服务器功能的服务器端程序。s e r v l e t 技术是 j a v aw e b 应用程序设计的最基本的技术。它从客户端接收用户的请求,动态地 产生相应地响应,这个过程则可能需要通过j d b c 同后台信息系统交互,生成的 响应包含l j t m l 文档或x m l 文档,最后再将响应发送回客户端显示。s e r v e t 开 发人员可以使用标准的s e r v l e ta p 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 程序是一个实现了s e r v l e t 接口的j a v a 类。与 基于j 2 e e 韵机场软件及相关模块的设计与实现 常规的j a v a 程序不同,s e r v l e t 程序没有m a i n 方法,取而代之的是一组 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 容器的控制下运行。 所以s e r v l e t 程序不能单独执行,只能在容器中运行。 我们进行s e r v l e t 编程时往往是扩展h t t p s e r v l e t 子类。该子类中定义了 一些附加的方法来辅助h t t p 协议的处理,它们会自动地被s e r v i c e 方法调用。 编程时就不需要再实现s e r v i c e 方法,直接实现这些附加方法就可以了,这些 方法是: d o g e t 方法,用于处理h t t pg e t 请求; d o p o s t 方法,用于处理h t t pp o s t 请求; d o p u t 方法,用于处理h t t pp u t 请求; d o d e l e t e 方法,用于处理h t t pd e l e t e 请求: d o h e a d 方法,用于处理h t t ph e a d 请求; d o o p t i o n s 方法,用于处理h t t p0 p t i o n s 请求; d o t r a c e 方法,用于处理h t t pt r a c e 请求; 这些方法分别响应了h t t p 协议的不同类型的请求,s e r v l e t 程序可以根 据需要扩展相应的方法以实现对客户端的响应功能。 2 4 2j a v a s e r v e rp a g e s j a v a s e r v e rp a g e s 是一种服务器脚本技术,它可以用来生成包含动态w e b 内容的页面,如h t m l 页面。我们可以把使用j s p 理解成将脚本语言和j a v a 程序代码嵌入到h t m l 页面中,s e r v l e t 则不同,它使用输出流将h t m l 代码输 出给w e b 服务器,然后在访问者地浏览器上显示。我们可以把s e r v l e t 看成是 把h t m l 代码嵌入到j a v a 程序代码中去。 j s p 内部实现仍然是将j s p 翻译成s e r v l e t 后台运行,也就是说,在运 行j s p 的容器内部,j s p 仍然是作为s e r v l e t 运行的。但是在实际应用中使用 j a v a 语言编写s e r v l e t 的程序员往往不是用户界面的设计者,因此很难写出美 观的w e b 页面。而j s p 技术将j a v a 编程工作与h t m l 页面设计工作分离,从 而让j a v a 程序员编写实现程序逻辑的j a v a 代码,而让网页制作人员去编写用 于界面表现的h t m l 页面和j s p 程序,这将更加符合软件工程的原则和思想。 在s u n 公司全力推广的j 2 e e 框架结构中,j s p 也是作为首选技术之一,s u n 公司建议开发人员尽量使用j s p 技术实现表现逻辑,除非必要,尽量少用 s e r v t e t 技术,同时建议容器厂商尽量面向j s p 进行优化。 基于j 2 e e 的机场软件及相关模块的设计与实现 除了上面提到的可以将程序逻辑和界面显示分离的重要优点外,j s p 技术 还有
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025安徽芜湖经济技术开发区人力资源开发中心招聘易考易错模拟试题(共500题)试卷后附参考答案
- 2025宁夏建设投资集团限公司公开遴选权属企业领导人员1人易考易错模拟试题(共500题)试卷后附参考答案
- 2025国药控股星鲨制药(厦门)限公司招聘11人易考易错模拟试题(共500题)试卷后附参考答案
- 2025国家电网南瑞集团招聘150人(第二批)易考易错模拟试题(共500题)试卷后附参考答案
- 2025国家电网公司(第二批)招聘国家电网公司交流建设分公司易考易错模拟试题(共500题)试卷后附参考答案
- 2025国家珠宝玉石首饰检验集团限公司招聘1人易考易错模拟试题(共500题)试卷后附参考答案
- 2025四川都江堰轨道交通限责任公司第一批社会化公开招聘43人易考易错模拟试题(共500题)试卷后附参考答案
- 2025四川省青川县事业单位招考易考易错模拟试题(共500题)试卷后附参考答案
- 2023技能鉴定考试护理敏感指标基础试题及答案
- 2025年农产品溯源认证合同协议
- 工行加强印章管理办法
- 夜床服务说课课件
- 农用无人机技术培训课件
- 青年创业培训讲义课件
- 医院电话客服培训
- (高清版)DB34∕T 1267-2025 造林技术规程
- 《低钠血症的中国专家共识(2023)》解读
- 算盘介绍课件
- 2025-2030年中国连翘行业市场深度调研及发展前景与投资研究报告
- 乳房疾病预防与保养
- 语文测评考试试题及答案
评论
0/150
提交评论