(计算机应用技术专业论文)基于j2ee的社保信息服务系统开发研究.pdf_第1页
(计算机应用技术专业论文)基于j2ee的社保信息服务系统开发研究.pdf_第2页
(计算机应用技术专业论文)基于j2ee的社保信息服务系统开发研究.pdf_第3页
(计算机应用技术专业论文)基于j2ee的社保信息服务系统开发研究.pdf_第4页
(计算机应用技术专业论文)基于j2ee的社保信息服务系统开发研究.pdf_第5页
已阅读5页,还剩80页未读 继续免费阅读

(计算机应用技术专业论文)基于j2ee的社保信息服务系统开发研究.pdf.pdf 免费下载

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

文档简介

摘要 随着企业需求的不断扩展以及网络技术的迅猛发展,企业应用开 发变得越来越慎重,越来越复杂。为了能够在竞争中处于有利的地位, 采用合理的企业应用架构和新技术就成为企业能否有效利用各自信 息资源的关键因素。随着近年来科技的发展,企业分布式技术同趋成 熟,其中多层b s 构架和s u n 公司推出的j 2 e e 技术被证明是成功的, 而且已被应用于越来越多的企业系统建设中。 本文以多层b s 构架和j 2 e e 技术为基础前提,介绍了基于j 2 e e 以业务层为中心的企业应用,并着重研究了该企业应用模型中的业务 层及该层的e j b 技术。首先深入研究了多层b s 构架和j 2 e e 技术, 概述了它们的优势、特性,通过详细的分析研究,提出基于j 2 e e 的 多层b s 企业应用是构建现代企业系统的先进解决方案,研究比较了 它的两种实现方法,分析说明了以业务层为中心的企业应用实现方法 的优势所在;然后介绍了基于j 2 e e 以业务层为中心的企业应用,着 重研究j 2 e e 多层模型中的核心层业务层,在分析业务层的关键 技术和设计中的若干问题后,深入讨论了业务层的设计思想,介绍了 业务层在企业系统开发中的重要性及在实际的b s 多层构架中的丌发 部署,并结合社保信息系统的设计开发,对如何应用多层b s 构架及 j 2 e e 原则和技术方法构建高质量、高可用的分布式企业应用进行了尝 试;最后在总结全文的基础上,提出了若干有待进一步深入研究和探 索的问题。 关键字:b s 构架,j 2 e e ,e j b ,应用服务器,容器,社保信息系统 w i t ht h ei n c r e a s i n g e n t e r p r i s e d e m a n d sa n d r a p i d d e v e l o p m e n to fn e t w o r kt e c h n o l o g y ,e n t e r p r i s ea p p l i c a t i o n d e v e l o p m e n ti sb e c o m i n gm o r ea n dm o r ec a u t i o u sa n dc o m p l e x a d o p t i n gr e a s o n a b l ee n t e r p r i s ea p p l i e df l a m ea n dn e wt e c h n o l o g y w i l lb es i g n i f i c a n tt ow h e t h e re n t e r p r i s e sc a nu s et h e i ro w n i n f o r m a t i o nr e s o u r c e se f f e c t i v e l yf o rf a v o r a b l es t a t u si nt h e c o m p e t i t i o n w i t ht h e r e c e n td e v e l o p m e n to fs c i e n c ea n d t e c h n o l o g y ,e n t e r p r i s ed i s t r i b u t e dt e c h n o l o g yh a sb e c o m em o r e m a t u r e ,i np a r t i c u l a r ,i th a sb e e np r o v e ds u c c e s s f u lb yn - t i e r b i sf r a m ea n dj 2 e et e c h n o l o g yp r o p o s e db ys u nt h a th a v eb e e n a p p l i e di nt h ec o n s t r u c t i o n so fm e r ea n dm o r ee n t e r p r i s e s p r e m i s i n g b a s i c a l l yw i t h n - t i e rb sf r a m ea n dj 2 e e t e c h n o l o g ya n db a s e do nj 2 e e ,t h i st h e s i si n t r o d u c e se n t e r p r i s e a p p l i c a t i o nw h o s ec e n t e ri sb u s i n e s st i e r ,a n dm a k e sap o i n t o fi n v e s t i g a t i n gb u s i n e s sl o g i ct i e ra n di t se j bt e c h n o l o g yi n t h en - t i e rb se n t e r p r i s ea p p l i c a t i o nm o d e lb a s e do nj 2 e e f i r s t l y ,w el u c u b r a t en - t i e rb i sf r a m ea n dj 2 e et e c h n o l o g ya n d s u m m a r i z et h e i ra d v a n t a g e sa n dc h a r a c t e r s b yd e t a i l e da n a l y s i s a n dr e s e a r c h ,w ep r o p o s et h a tn - t i e rb se n t e r p r i s ea p p li c a t i o n b a s e do nj 2 髓i st h ea d v a n c e ds o l u t i o nt ot h ec o n s t r u c t i o no f l m o d e r ne n t e r p r i s es y s t e ls e c o n d l y ,w ei n t r o d u c et h en - t i e rb s e n t e r p r i s ea p p l i c a t i o nm o d e lb a s e do nj 2 e ea n dm a k eap o i n to f t h ec o r et i e r - - b u s i n e s sl o g i ct i e r i nt h ej 2 e ea - t i e rm o d e l a f t e ra n a l y z i n gt h ek e yt e c h n o l o g yo fb u s i n e s sl o g i ct i e ra n d s o m ep r o b l e m si ni t sd e s i g n ,w ed e e p l yd i s c u s st h ed e s i g ni d e a o fb u s i n e s s l o g i ct i e r ,i n t r o d u c ei t si m p o r t a n c e i nt h e d e v e l o p m e n to fe n t e r p r i s es y s t e m sa n dd e v e l o p i n gd e p l o yi nt h e p r a c t i c a ln - t i e rb sf r a m e ,t h e nc o m b i n i n gw i t hp r a c t i c a l p r o j e c t ,h a v eat r yo nh o tt oa p p l yt h em e t h o do fn t i e rb s f r a m ea n dj 2 e ep r i n c i p l ea n dt e c h n o l o g yt ot h ec o n s t r u c t i o no f h i g h q u a li t y a n dp r a c t i c a b l e d is t r i b u t e d e n t e r p r i s e a p p l i c a t i o n f i n a l l y ,w ep r o p o s es o m ep r o b l e m su n d e rf u r t h e r e x p l o r a t o r yr e s e a r c ho nt h eb a s i so fs u m m a r i z i n g t h ew h o l e t h e s i s k e yw o r d :b s ,j 2 e e ,e j a ,a p p l i c a t i o ns e r v e r ,c o n t a i n e r , b u s i n e s sl o g i c ,e i s ,e n t e r p r i s es y s t e m 第一章绪论 第一章绪论 1 1 研究背景和意义 在网络得到飞速发展和不断深入的今天,网络为企事业单位跨越 物理空间的约束,提供方便和快捷的服务,增加管理的透明度和人性 化。对于应用互联网的政务部门,可以使事务管理的更广泛,过去需 要很多资金和时闻投入的宣传、服务以及联系,现在都可以通过网络 进行。丽一个政务部门在互联网中是否拥有自己的地位,已经是国内 外都需要重视的问题。很多企事业在进行信息采集和分析方面已经充 分利用网络。如果一个政务部门在互联网中没有身影,将会丧失良好 的外部信息化,提供更好更快的反馈和服务。 网络技术的迅猛发展,带来更多机会的同时也使得企业应用面临 了更加复杂的需求。在逐步实施电子商务的不同阶段,从企业内部网 建设( i n t r a n e t ) 到企业与企业之间互联( bt ob ) ,再到企业为广大客 户提供服务( bt oc ) 。企业应用将面对越来越多的用户,企业服务器 将承担越来越多的负载,性能要求、安全要求也将越来越高,企业迫 切的需要有效实施企业应用开发,使企业系统具备与网络时代相适应 的特点,具有集成i n t e r n e t 的能力;同时由于企业的需求特点,如 保证大数据量的完整性,高并发的用户访问等,必须支持异构平台互 联、联机事务处理、安全、高可用等的内容。企业r r 环境也交得越来 越复杂,企业中可能会拥有多种操作系统,不同的数据库,异构网络 环境以及数个应用等,如何把它们结合成一个有机协同工作整体,真 正实现企业跨平台应用被提上了日程。在建设企业内部网及其应用 时,迫切地需要其具有良好的可伸缩性能,高质量结构,高度可用, 以更好地满足企业应用的不断扩大。 北京交通大学工程硕士专业学位论文 为了能够在竞争中处于有利的地位,采用合理的企业应用架构和 新技术就成为企业能否有效利用各自信息资源的关键因素。随着近年 来科技的发展,企业分布式技术日趋成熟,其中多层b s 构架和s u n 公司推出的j 2 e e 技术被证明是成功的,已被应用于越来越多的企业 信息系统建设中。 目前分布式企业应用最前沿的体系结构是多层b s 构架,该构架 把表示逻辑,业务逻辑,数据库等操作分离开来,各层相对独立,它 是基于组件开发和应用服务器技术的分布式应用 1 3 j 。这种以应用服务 器技术为特点的多层分布式计算模型( m u l t i - t i e r sd i s t r i b u t e d m o d e l ) ,适应了企业应用的发展要求,使企业计算具有良好的可扩缩 性、可靠性、稳定性、安全性等特点。同时,通过组件( c o m p o n e n t ) 技术进行代码重用,简化了系统开发的周期和效率,大大降低了企业 应用系统开发的复杂度。 s u n 公司推出的j 2 e e ( j a v a2e n t e r p r i s ee d i t i o n ) 继承了j a v a 语 言平台独立的特点,结合了组件技术、应用服务器技术,为构建现代 企业应用系统提供了先进的解决方案。它提供了一个框架一个 标准的a p i 用作开发分布式的体系,使得企业应用开发人员可以 无须考虑底层的实现细节,集中精力于企业业务逻辑的开发,由j 2 e e 服务器平台处理底层的通信并提供各种服务( 如:名字服务、安全管 理、操作服务、事务管理等) ,从而可以更加快速高效地构建企业应 用系统。j 2 髓提供了一套完整的开发多层分布式应用的技术和设施 ( 服务a p i ) ,是当今众多厂商支持的多层分布式应用和应用服务器的 标准,它通过e j b 组件技术把业务逻辑独立出来,为快速灵活地建立 大规模的分布式企业应用提供了高效的解决方案,e j b 规范详细说明 了构建在应用服务器上面的容器的标准,明确提供了一种方法来管理 运行在应用服务器上的服务。j 2 e e 与e j b 一起更是为企业信息系统的 应用开发提供了强大的支持。 3 北京交通大学工程硕士专业学位论文 1 2 本文工作 本文的主要研究工作概括如下: 1 通过详细分析研究,提出多层b s 构架和j 2 e e 技术是构建现 代企业应用系统的先进技术,并对基于j 2 e e 的多层企业应用系统的 两种实现方法进行了研究比较,分析说明了其中以业务层为中心的实 现方法的优势所在。 2 应用服务器的设计思想大大简化了分布式企业应用的开发,屏 蔽了操作系统,网络协议等的差异。文本深入分析研究了j 2 e e 应用 服务器技术,及其组件的使用,从多个角度讨论了j 2 e e 技术在企业 应用上所具的优势。 3 在对j 2 e e 业务层为中心的多层模型研究基础上,对业务层关 键技术及业务层设计中的若干问题进行了分析,深入讨论了该层的设 计思想。介绍了业务层在企业系统开发中的重要性及其开发部署。 4 在对j 2 e e 企业应用系统开发的理论研究基础上,结合一个具 体项目3 s 3 w 安徽省社保厅社会保障信息系统的设计实现,对如 何应用多层吲s 构架及j 2 e e 原则和技术方法构建高质量、高可用的 分布式企业应用进行了尝试,并对其业务层的设计开发进行了重点说 明。 本文的目的就是通过对多层a s 构架和j 2 e e 技术尤其是其e j b 技 术的研究达到充分理解分布式企业应用的构建原理和机制,更正确地 把握企业应用技术的发展方向,构建出高质量、高可用的分布式企业 应用系统。 1 ,3 本文组织 全文分为四个部分来阐述: 第一章绪论介绍了本文的技术背景及研究意义,同时简单地介绍 4 北京交通大学工程硕士专业学位论文 了本文的工作及内容组织。 第二章研究探讨了b s 多层构架,j 2 e e 技术及j 2 e e 应用服务器, 概述了j 2 e e 的优势、特性,通过详细分析研究,提出基于j 2 e e 的b s 多层企业应用是构建现代企业系统的先进解决方案,并分析比较了它 的两种实现方法。重点介绍了基于j 2 e e 以业务层为中心的企业应用, 对其设计思想,开发步骤进行了研究。着重研讨了其核心层业务 层的技术,演示了如何对其进行开发部署,从更高层次说明如何运用 j 2 e e 服务器提供的服务及其f j b 技术开发现代企业应用系统。 第三章是应用篇,将对j 2 e e 企业应用系统的理论研究运用实际 项日开发,构建了一个基于j 2 e e 以业务层为中心的3 s 3 w 社保信息系 统,采用e j b 技术对其核心层进行开发。 第四章结束语,对全文进行总结,并说明有待进一步研究的问题。 5 第二章基于j 2 e e 以业务层为中心的企业应用 第二章基于j 2 e e 以业务层为中心的企业应用 2 1 企业应用面临的挑战及多层b s 构架 计算机网络技术的发展和成熟,特别是i n t e r n e t 的普及,企业 将应用扩展到局域网、广域网甚至i n t e r n e t 上已经成为发展的必然 需求,企业迫切需要有效地实施企业系统的开发,构建出高质量结构, 高度可用的企业应用,具备与网络时代相适应的特点,具有集成 i n t e r n e t 的能力。面对迅速变化的技术和经济形势所带来的冲击,迅 速变化的企业应用技术和经济形式所带来的新需求,企业级的应用开 发正面临着复杂性、反应性、程序设计生产率、可靠性和可用性、安 全性、可扩展性、集成化等方面的新挑战。 为了解决这些问题,目前企业开发人员通常的解决方法是在企业 内部架设一台w e b 服务器,然后使用c g i ,i s a p i n s a p i 或是a s p j s p 技术再把提供信息的应用逻辑从后端的数据库服务器重新编写一次, 并且发布到w e b 服务器让所有潜在的用户能够使用浏览器查询到所需 信息。可是使用这种结构也存在许多问题,那就是当原先任何的企业 系统需要提供i n t e r n e t i n t r a n e t 的存取形式时,旧的系统都必须以 新的软件技术编写一次。这种重复开发的成本非常昂贵,而且当企业 的运作流程改变时也必须同时修改两个系统,增加了系统运作成本。 组件技术和应用服务器技术的出现为网络分布式应用提供了一 个很好的技术支持,可以有效地解决这些重复开发带来的应用系统成 本提高和增强应用系统的重复使用性,发挥面向对象分析设计的功 能,因此分布式结构也有了结构上的改变和进步,出现了多层b s ( b r o w s e r c l i e n t ) 结构。应用服务器简单的说就是一个包含企业逻 辑的应用程序”,软件开发人员以一种特定的组件形式,例如 m i c r o s o f t 的c 伽d c o m ( c o m p o n e n to b j e c tm o d e l d i s t r i b u t e 北京交通大学工程硕士专业学位论文 c o m p o n e n to b j e c tm o d e l ) ,伽g 的c o r b a ( c o m m o no b j e c tr e q u e s t b r o k e ra r c h i t e c t u r e ) 或s u n 的e j b ( e n t e r p r i s ej a y a b e a n ) 等, 封装企业的逻辑程序代码。这种经过封装,能够执行特定企业功能的 对象便称为“企业对象”,然后把这些企业对象分发到应用服务器。 当应用服务器包含了许多的企业对象之后,那么软件开发人员就可以 在开发企业应用程序时使用这些在应用服务器之中的企业对象提供 的服务。例如如果在应用服务器之中已经有了能够提供产品信息的企 业对象,那么当开发人员需要编写一个更新产品信息的企业应用程序 时,就可以直接使用在应用服务器之中的产品企业对象。此外如果还 需要让i n t e r n e t i n t r a n e t 上潜在客户能够查询产品信息,也可以使 用c g i 或是i s a p i 等技术存取在应用服务器之中的企业对象的服务来 满足用户的查询。面当企业决定改变信息处理的流程时,只需要修改 应用服务器之中的企业对象,那么企业应用程序以及使用浏览器的客 户都可以立刻使用最新的企业处理流程。应用服务器给组件运行提供 了一个中间件集成框架,组件被应用服务器调用,实现企业的业务逻 辑和业务数据,应用服务器负责处理启动组件、实例化组件,调用组 件、撤销组件实例等流程,以及线程进程安排、消息分派、事务处 理、安全许可等底层工作,而组件则关心它的某个方法被调用时应该 处理的业务,与其它方式相比,基于组件开发、以应用服务器为中心 的分布式系统有着易于高效开发、管理和易于加载服务等特点。图2 1 便是一个主流的基于多层b s 构架的企业系统结构图。 图2 - 1a s 多层企业应用系统结构图 目前分布式企业应用最前沿的体系结构是多层b s 构架,现代企 7 北京交通大学工程硕士专业学位论文 业分布式多层体系结构的解决方案是基于应用服务器技术和组件开 发的分布式应用 1 0 jo 这样的结构在逻辑上客户端使用浏览器运行用户 界面( u s e ri n t e r f a c e ) ,应用服务器上运行业务逻辑( b u s i n e s sl o g i c ) 和数据逻辑( d a t al o g i c ) ,数据库服务器运行数据库引擎。在具体实 现上,客户端可以是j a v a a p p l e t ,c o r b a rc l i e n t ,a x t i v e x ,应用 服务器端可以是e j b ,a x t i v e x ,c o r b ac o m p o n e n t s ;数据库引擎可 以是o 凡c l e ,d b 2 ,s a s e ,i n f o r m i x 等r d b m s 。客户端应 用通过i i o p 协议调用应用服务器组件的方法,应用服务器的数据逻辑 组件通过o d b c 、j d b c 或各数据库厂商的专用接口洳:s q l * n e t , o p e n c l i e n t ) 访问数据库。 b 届多层体系结构篚够分散服务器的压力,使系统的可扩展性好, 使应用具有良好的可重用性和可维护性,同时简化客户端,减少维护 费用。 首先,多层结构能将业务的处理分散到不同的服务器上将业务 分成若干功能模块,各个部分独立地实现功能,l 可时相互协同工作, 用户界面、商业逻辑、数据逻辑、数据库分布在网络中的不同节点, 用户界面通过h o p 访问商业逻辑和数据逻辑,而商业逻辑和数据逻辑 又访问其它节点上的商业逻辑和数据逻辑。经过这一系列流程,最后 由不同的数据组件访问各种r d b m s ,将结果集返回给用户界面,从 而完成了一次业务处理过程。这样的处理过程在时问上各个模块可以 并行处理,提高了效率,在空间上分布在不同的节点处理,分散了各 个节点的压力,使得整个系统能够承担更大业务量的处理。 第二,多层结构使系统的可扩展性好。因为应用服务器可以是物 理上分布的多个服务器,系统可以自动调节各个服务器之间的负载平 衡,客户端并不需要关心访问的是那一个服务器,对于更大业务量的 需求,系统也可以很容易的无限制的扩展。 8 北京交通大学工程硕士专业学位论文 第三,多层结构使应用的可重用性和可维护性好。整个系统都是 按照组件开发的模式进行的,每个组件完成一个单一的功能,同时可 以互相调用,使得相同功能的组件只需一次编码,代码的可重用性好。 如果业务需求有改变,只需修改相应的组件模块,只要接口不变对于 别的组件都无影响,系统的维护量极小。对于客户端,如果是j a v a a p p l e t ,无任何维护工作,如果是c o r b ac l i e n t ,每个客户节点只 需修改用户界面。对于应用服务器,在其上运行的组件,无论是c + + c o r b a 组件、e j b 、a x t i v v x 对于客户端是透明的,客户端的j a v a a p p l e t 、c o r b ac l i c m 都可访问其中的方法,对于j a v a 编写的组件 还可以跨操作系统平台。 另外,对于w e b 的访问,这类解决方案还提供了数据库动态网页 生成引擎,它与应用服务器的结合迸一步解决了w e b 用户的需求。无 论是普通的c l i e n t s e r v e r 应用,还是基于w e b 的企业应用,多层体系 结构都会使不同企业的系统更稳定、更健壮,满足系统不断增长的业 务量需求。因此,基于c s 结构的企业应用系统正逐渐被以应用服务 器技术为特点的多层b s 体系结构所取代。 2 2 企业系统构建技术j 2 e e 2 2 1j 2 e e 与n e t 为了满足当前企业级应用开发的需要,m i c r o s o f t 公司和s u n 公 司都给出了各自的技术方案m i c r o s o f l 的n e t 和s u n 的j 2 e e 。在 表现形式上,j 2 e e 是一组规范,而n e t 更象是一组产品,但是它们 的目的都是为企业应用提供分布式的,高可靠性的解决方案它们在 架构上有着许多相似之处,表2 - 1 是j 2 e e 与n e t 的一个简单对照“: 9 北京交通大学工程硕士专业学位论文 1 2 e e n e r r e m o t em e t h o di n v o c a t i o no v e l 通信协议 i n t e r n e t l a c e a ( h - bp r o t o c o l ( 删i i i o p ) ,孤儿 骗程语言l a v a 。# ,v b n e t 。c o b o l 运行时环境l a v av i r t u a l # a c h i n eo w )c o m l a n g u a g em u n t i m e ( c l r ) 睁客户端l a v as w i n g f f i n d o w sf o r m s l a v an a m i n g a i l d d i r e c t o r y c t i v ed i r e c t o r y s e r v i c e s 目录服务 i n t e r f a c e ( j l i d i ) i n t e r f a c e ( a d s i ) l a v ad a t a b a s ec o n n e c t i o r 致据访问 d 0 n e t ( j d b c ) ,j a v ac o n n e c t o r s 异步消息处理 l a v am e s s a g es e r v i c e ( j l i s ) h i c r o s o f tm e s s a g e0 l l e u e 表示层技术;e r v l e t s ,j a v as e r v e rp a g e ( j s p )l s p n e t 中问层组件模型 e j b ,j a v a b e a n o o m + 。删 c o m + s e c u r i t y 安全访问i p l s c a l lc o n t e x t i i c r o s o f td i s t r i b u t e d 事物处理l a v at r a n s a c t i o ns e r v e ro t s )t r a n s a c t i o n c o o r d i n a t o z ( m s - d t c ) l e b g a i nv i s u a lc a f 3 0 r l a n dj b u i l d e r 开发工具r i s u a ls t u d i o n e t 【蹦v i s u a l a g e 譬 ( 第三方提供,规范本身没有定义) 表2 - 1j 2 e e 与n e t 企业解决方案对照表 j 2 e e 的巨大吸引力珏町在于: ( 1 ) 平台独立性 1 0 北京交通大学工程硕士专业学位论文 企业的信息分布在不同的平台和应用中,在程序设计语言方面需 要作出权衡。所选择的语言能够在企业中方便地应用,而不显得笨拙, 事务处理也要高效当集成各种不同的技术进而形成具体的平台和应 用时,采用统一的程序设计模型就能够减少许多困难。 ( 2 ) 可重用性 代码重用是所有程序设计的目的之一。要达到重用目的,方法之 一就是把应用的商业需求划分为不同的组件,而采用面向对象方式封 装公用功能是另外一种方法,j 2 e e 采用了这两种方法。j 2 e e 的j a v a 是一种面向对象的程序设计语言,提供了重用机制,但是不像对象那 样,创建和管理组件需要一种复杂的基础框架机制,基本的面向对象 概念并未提供这样的机制,然而j 2 e e 提供了一种相当强大的机制来 重用组件。 ( 3 ) 模块化 当开发一个完整的服务器端应用程序时,程序会迅速变大、复杂 化。应该是把应用划分为相对独立的模块,每个模块负责处理一个具 体的任务,按照这种方式,理解和维护应用程序就会变得容易。模块 化应用的手段有j a v as e r v l e t 、j a v as e r v e rp a g e 和e n t e r p r i s ej a v a b e a n 它们可以把应用程序划分为不同的层和任务。 就企业而言,内部众多系统的整合、系统的延展性、安全性是更 需要注意的议题,而这些都是j 2 e e 的优势,也是微软的不足之处。 在效率方面,j 2 e e 阵营主张通过硬件效能的增加来弥补软件的不足。 开放标准,功能强大,易于移植这些都是j 2 e e 的卖点。 2 2 2j 2 e e 技术 j 2 e e 提供了众多的技术来支持开发分布式企业应用,这些技术为 构建大型的、分布式的企业应用提供了机制,根据使用特点,可以把 1 l 北京交通大学工程硕士专业学位论文 这些大量的不同的技术分为:组件技术、服务技术和通信技术。组件 技术用来创建用户接口和业务逻辑,通过组件模块化设计,用户可以 在多个企业应用中重用组件,从而简化了应用编程,提高了系统开发 效率;服务技术为应用组件提供服务,从而更高效地发挥组件的功能; 通信技术对应用程序设计者来说是透明的,它为应用的不同部分之间 提供了通信机制,而不管它们是本地的还是远程的“。 1 组件技术 组件技术是目前软件界很流行的一种软件重用技术。在j 2 e e 平 台上的企业应用系统实际上是许多实现了企业业务逻辑和用户界面 的j 2 s s 组件集合。这些组件都在各自的容器( c o n t a i n e r ) 内运行。 这些容器作为j 2 e e 平台提供的系统级软件,为在其内运行的组件提 供了诸如生命局期管理、安全控制、事务管理,以及线程管理等运行 时服务。这样,许多组件特性都可以在组件被组装,配置到各自的容 器内时描述性的指定,由它们的容器自动地替它们完成,而不用在组 件内通过编程来实现。容器大大减轻了开发者的负担使得他们可以专 心致力于组件内实现企业的业务逻辑而不必考虑许多由分布性带来 的与企业业务无关的复杂的技术细节问题。j 2 e e 支持的j a v a 组件类 型有:a p p l e t 、客户应用程序、w e b 组件( 包括j s p 和s e r v l e t ) 和 e j b ( e n t e r p r i s ej a v a b e a a s ) ,其中a p p l e t 和客户应用程序属于客 户端组件而w e b 组件和e j b 组件运行在服务器端。 ( 1 ) a p p l e t a p p l e t 是能在w e b 浏览器内运行的j a v a 应用程序,它通常通过 支持j a v a 的网页浏览器下载后执行,并在w e b 浏览器内提供了一个 6 u i j 2 e e 客户机可以利用j a v a 插件为a p p l c t 提供运行环境。 ( 2 ) 客户应用程序 客户应用是基于j a v a 的应用程序,通常运行在用户桌面或工作 站上,并提供一个g u i 1 2 北京交通大学工程硕士专业学位论文 ( 3 ) w e b 组件 对町p 请求做出反应的任何组件都属于w e b 组件,w e b 组件是 一个软件实体,响应用户的请求,生成用户接口。j 2 e e 平台包括两种 类型的w e b 组件:s c r v l e t 和j s p 。s e r v l e t 和j s p 相比,s e r v l e t 是纯j a v a 代码,在w e b 服务器把j s p 页面编译成相应的s e r v l e t 之前,j s p 页面 只是基于文本的文档。这样,就把业务逻辑与表示逻辑清晰的分离开 来,从而使锝应用开发人员可以集中精力于业务逻辑,而w e b 设计人 员只需关心表示逻辑。 ( 4 ) e j b 企业级j a v a b e a n 组件( e n t e r p r i s ej a v a b e a n ,e j b ) 是一种分布 式的组件模型,是开发和部署包含业务逻辑的企业应用的服务器端技 术,用来开发安全的、可扩展的、事务性的、多用户的组件。简单的 说,它们就是一些包含业务逻辑的可重用的软件单元。e j b 把业务逻 辑从系统级服务中分离出来,从而使得开发人员的精力集中在企业商 业领域中的问题上,而不是系统级的程序设计。它非常类似于微软的 d c o m 。它有一个自己要存活要活动盼容器,为了可以让客户进行透 明调用,而不必关心位置,它还必须有一个本地和远程接口,同时还 应该有一个相关的配置文件,以便告诉容器它要怎样的活法。有两种 类型的e j b 组件:会话( s e s s i o n ) b e a n 和实体( e n t i t y ) b e a n 。 2 服务技术 一个企业应用系统往往需要一些基本的服务如事务服务、命名与 目录服务、消息服务等。这些服务将简化分布式企业应用系统的建设, 同时还可以更加有效的利用企业内的可用资源。j 2 e e 服务简化了应用 编程,允许用户在部署时定制组件和应用,以下是其最重要的几种服 务嘲: ( 1 ) 事务服务( j a v at r a n s a c t i o ns e r v i c e ,j t s ) j 2 e e 的事务服务采用了0 惦的事务服务规范o t s ( o b j e c t 北京交通大学工程硕士专业学位论文 t r a n s a c t i o ns e r v i c e ) ,保证在分布式的环境下( 如跨组件、跨主机、 跨数据库) 事务处理的a c i d 特性。j 2 e e 规范通过定义y r a 向应用程序 提供分布式事务处理服务。j t a 是一种用来运行事务的途径,它本质 上是独立与事务管理器实现的分布式事务。 ( 2 ) 命名与目录服务( j a v an a m i n g a n dd i r e c t o r y i n t e r f a c e ,j n d i ) j n d i 寻址( r a ml o o k u p ) 服务向企业内的多重名字和目录服务提 供了一个统一的接口,这样应用程序组件可以访问名字和目录服务, j 2 e e 平台上的应用系统通过j n d i 完成与命名和目录服务有关的标准 操作,如对象命名,对象与属性的邦定和检索等。j n d i 作为一个接口 定义,独立于特定的命名与目录服务。j n d i 提供了命名和目录功能, 它为应用提供方法来完成标准的目录操作,如:把对象与属性关联起 来和用属性来查找对象。利用j n d i 应用可以存储和检索所有类型的 命名的j a v a 对象。 ( 3 ) 安全服务 j 2 e e 平台定义的安全服务可以让开发者配置w e b 组件或 e n t e r p r i s ej a v a b e a n ,这样只有被授权的用户才能访问系统资源。 每个客户属于一个特别的角色,而每个角色只允许激活特定的方法。 安全服务采用身份认证( a u t h e n t i c a t i o n ) 和资源授权访问 ( a u t h o r i z a t i o n ) 两种模式来保证企业内资源的安全。 ( 4 ) 消息服务( j a v am e s s a g es e r v i c e ,j m s ) j m sa p i 定义了消息传递客户如何以一种标准的方式与底层的消 息服务提供商接口实现标准的服务,定义了与事务交互的语义,定义 了一个接口,利用该接口可以通过j n d i 从一个命名服务重检索创建 j m s 连接的初始对象。 ( 5 ) 数据存取服务( j a v ad a t a b a s ec o n n e c t i v i t y ,j d b c ) 1 4 北京交通大学工程硕士专业学位论文 j 2 e e 规范把j d b c 作为它向应用系统提供的数据存取服务的接口。 通过j d b c 可以从j a v a 中访问关系型数据库,它提供了厂商之间的互 连和在不同厂商提供的关系数据库之问进行数据访问。j d b c 本质上就 是一些a p i ,用于执行s o l 语句、获取查询结构。通过使用这些a p i , 可以编写数据库客户程序( 从a p p l e t 到s e r v l e t 或e j b ) 来连接到关系 型数据库、执行s o l 语句和处理获得的结果,完成对数据库的各种操 作 3 通信技术 j 2 e e 作为一个分布式计算环境的规范,必然需要定义一些通信协 议用于各层、各组件之间的通信以及实现与其它系统的互操作,通信 技术提供了客户机与服务器之间、不同服务器中的合作对象之间的通 信机制。这些通信协议都是目前已经得到广泛使用的协议,任何与 j 2 e e 兼容的实现都必须采用、实现这些协议。j 2 e e 规范要求支持以 下类型的通信技术”。: ( 1 ) i n t e r n e t 协议 客户层往往会是一个可以位于世界上任何地方的浏览器。客户请 求和服务器应答采用h t t p 、t c p i p 、s s l 三种协议进行传递。 ( 2 ) 远程对象协议 对于有些应用程序,其中的组件要在多层多服务器上进行分布, 就需要提供一种机制来远程使用其中的组件。远程对象协议包括:蹦i 和r m i i i o p 、j a v a i o l 。 ( 3 ) j m s 在企业级环境中,各种分布式组件往往不是保持持久的联系。因 此需要采用一种手段来进行异步发送数据,j a v a 消息服务( j a v a m e s s a g es e r v i c e ,j m s ) 通过使用面向消息的中间件 ( m e s s a g e o r i e n t e dm i d d l e , a r e ,m o m ) 为发送和接收消息提供了这种 北京交通大学工程硕士专业学位论文 机制。 “) j a v a l a i l j a v a m a i l 是另外一种异步洧息传送的方式。j a v a m a i l 也允许发 送和接收消息,但是它主要是面向用户而不是应用程序的各个部分, j a v a l l a i l 支持大多数广泛采用的邮件协议,如i e a p 4 、p o p 3 和s t m p , 但与j l i s 相比,它相对较慢而且可靠性要差一些。 2 2 3 j 2 e e 应用服务器 j 2 e e 应用服务器是一个框架,是对运行环境基础框架的抽象,包 装了许多a p i ,这些a p i 以一种形式或其他形式存在。j 2 e e 并没有 对运行环境应当怎样创建作出定义,相反,它规定了应用程序的接 口和角色,和应用程序要被执行的运行环境,在应用和运行环境基础 框架之间划清了界线。这种划分使得运行环境抽象出绝大多数的基础 框架服务,从而j 2 e e 应用开发人员可以集中精力在应用逻辑和相关 服务上,而不用考虑与框架环境相关的服务”1 。 1 j 2 e e 组件一容器体系模型 在j 2 e e 规范中定义了4 个主要的容器类,j 2 e e 应用组件可以安 装部署到这些客器中去j 2 e e 容器是一个用来管理应用程序组件,提 供访问j 2 e ea p i 的运行环境,除了具有运行环境相关的特点外,j 2 e e 并没有定义容器的其他属性,从而为在容器运行环境中实现不同特点 属性的应用提供了强大而灵活的机制。 1 6 北京交通大学工程硕士专业学位论文 圈2 - 2j 2 e e 组件容器体系模型 ( 1 ) a p p l e t 容器 该容器是运行在客户端机器上的w e b 浏览器和j a v a 插件的结合, 用于运行a p p l e t ,a p p l e t 容器包括对a p p l e t 编程模型的支持。 ( 2 ) 应用程序客户端容器 该容器管理所有j 2 e e 应用的应用程序客户端组件的执行,运行 标准的j a v a 客户应用程序,独立应用程序容器提供了访问j 2 e e 服务 和通信的a p i 。 ( 3 ) w e b 容器 w e b 组件驻留在w e b 容器中。除了标准的容器服务,w e b 容器还 提供网络服务、解码请求、格式化响应。所有的s e r v l e t 容器必须支 持h t t p 协议,同时也可以支持h t t p s 协议。j s p 容器除了提供与 s e r v l e t 同样的服务外,还提供了一个将j s p 网页转换为s e r v l e t 的 引擎。w e b 容器提供了j s p 容器的服务以及对j 2 e e 服务和通信a p i 的 访问。 ( 4 ) e j b 容器 企业b e a n s 驻留在e j b 容器中。除了标准容器服务外,e j b 容器 还为e j b 组件提供事务服务、持久性服务以及访问j 2 e e 服务和通信 1 7 北京交通大学工程硕士专业学位论文 的a p i 。 通常一个典型的商用j 2 e e 应用服务器包括一个或多个容器,w e b 容器和e j a 容器是最重要的。j 2 e e 应用服务器是一个分布式的服务器 应用程序设计j a v a 环境,它提供了一个宿主应用的运行基础框架环 境和一套用来创建应用的j a v a 扩展a p i ,用它建立的应用可以是开发 w e b 页面的应用,或者是实现复杂数据库事务处理的组件,所有的这 些应用均通过网络来进行发布。 2 j 2 e e 容器体系结构 j 2 e e 容器是一个用来管理应用程序组件、提供访问j 2 e ea p i 的 运行环境,所有j 2 e e 组件都在一个系统级别的容器中运行,容器为 组件提供服务,组件的许多行为属性可以在将组件部署到容器中对进 行定制。 j 2 e e 容器环境实际提供了: j 2 s e 平台:标准j 2 s ej a v a 运行环境,

温馨提示

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

最新文档

评论

0/150

提交评论