已阅读5页,还剩55页未读, 继续免费阅读
(计算机软件与理论专业论文)基于j2ee的分布式应用开发技术研究.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
附件四 上海交通大学 学位论文原创性声明 本人郑重声明:所呈交的学位论文,是本人在导师的指导下, 独立进行研究工作所取得的成果。除文中已经注明引用的内容外,本 论文不包含任何其他个人或集体已经发表或撰写过的作品成果。对本 文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。 本人完全意识到本声明的法律结果由本人承担。 学位论文作者签名:赫砚 日期:d ? 夕口多年莎月j - 日 附件五 上海交通大学 学位论文版权使用授权书 l i i illi iiei ii i i ii i iu l y 1812 15 8 本学位论文作者完全了解学校有关保留、使用学位论文的规定, 同意学校保留并向国家有关部门或机构送交论文鲍复印件和电子版, 允许论文被查阅和借阅。本人授权上海交通大学可以将本学位论文的 全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫 描等复制手段保存和汇编本学位论文。 保密囱,在篮解密后适用本授权书。 本学位论文属于 不保密口。 ( 请在以上方框内打“”) 学位论文作考签名:赫砚 指导教师签名7 毒 日期:加口多年莎月一日 日期游触日 2 基于j 2 e e 的分布式应用开发技术研究 摘要 企业应用系统的开发一直面临挑战:一方面,企业应用系统面对 的是一个异构的分布式环境,它必须支持与已有系统的集成性和与其 他系统的互操作性;另一方面,作为为客户、合作伙伴和企业内部提 供信息服务的平台,企业系统还必须具有高可用性、安全性、可靠性 和可伸缩性。这些要求再加上复杂多变的用户需求和不断伸缩的交付 时间,使得企业系统的开发越来越困难。开发商和广大程序员一直在 努力推动和殷切期待一个成熟、标准的企业平台来简化和规范企业系 统的开发和部署。j a v a 技术的出现,尤其是j 2 e e ( j a v a2p l 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 2 e e 已经成为服务器端应用程序平台的首选,共享开发者的 经验与设计就成了一件至关紧要的事。本文所要解决的是那些能够影 响j 2 e e 应用程序灵活性和可维护性的问题,并且给出推荐的解决方 案。本文还通过对一个实际应用( 数字电视业务用户管理与计费系统) 设计方法的详细分析,深入说明了在设计整个分布式应用时应该如何 更好地运用j 2 e e 技术。以下是主要的研究内容和贡献: 多层j 2 e e 应用程序由位于中间层的一些可能是分布式的不同视 图和组件组成。本文研究了一些能让典型的j 2 e e 应用程序具备可扩 展、灵活和可维护的设计模式。本文研究了j 2 e e 中的m v c 结构: 会话外观等模式,并探讨了这些设计模式如何通过将不同的层解耦 合,从而取得应用程序的灵活性和可维护性。 本文运用j 2 e e 方法和模式设计了一个实际项目p s m s ,详细研究 了这个项目所涉及的一些关键的j 2 e e 模式,这些模式的优缺点以及 如何更好地运用它们。 项目主要涉及以下模式。会话外观在实体b e a n 和应用程序客户机 之间放置了一个会话b e a n ,它既能使实体b e a n 更安全又能使整个程 序更有效率。采用业务委派模式的好处在于表现层( j s p ) 只要和业务委 派通信,不需要知道底层的具体实现,使得整个体系结构更加灵活。 将前端控制器集成到应用程序,可更好控制用户如何浏览w e b 应用 程序。工作流通过将工作活动分解成定义良好的任务、角色、规则和 过程来进行执行和监控,达到提高生产组织水平和工作效率的目的。 以上模式听起来像个终极的解决方案,然而,好处和通常一样, 被重要的t r a d e o f f 所平衡。另外,把这些模式组合起来,相互取长补 短,效果往往会更好。 下一步目标之一将是如何把j 2 e e 环境的特征( 健壮性、可伸缩性、 安全性和其他特征) 与w e b 服务技术的优点( 也即平台和编程语言独 立性) 结合在一起口 关键词:j 2 e e ,设计模式,多层分布式体系结构,软件组件技术 as t u d yo nt h ed e v e l o p 脚t e c 默o l o g yo f d i s t r 珀;u t e da p p l i c a t i o nb a s e do nj 2 e e a b s 瞰c t p o - 一- l h ed e v e l o p m e n to fa l le n t e r p r i s ea p p t i c a t i 0 1 1s y s t e m1 sa l w a y sf a c e d w i t hc h a l l e n g e s :o no n eh a n d , a ne n t e r p r i s ea p p l i c a t i o ns y s t e mf a c e sa n i s o m e r i cd i s t r i b u t e de n v i r o n m e n t i tm u s t s u p p o r ti n t e g r a t i o nw i t h e x i s t i n gs y s t e m sa n dm u t u a lo p e r a b i l i t yw i t ho t h e rs y s t e m s o nt h eo t h e r h a n d , 懿ap l a t f o r mt h a to f f e r si n f o r m a t i o ns e r v i c ef o rc l i e n t s ,p a r t n e r s a n de n t e r p r i s e i t m e r s ,8 1 1e n t e r p r i s es y s t e mm u s ta l s oh a v e h i g h a d a p t a b i l i t y ,s a f e t y , r e l i a b i l i t ya n ds c a l a b i l i t y t h e s er e q u i r e m e n t s ,a l o n g w i t hc o m p l e xc h a n g e f u lu s e rd e m a n da n du n c e a s i n g l yf l e x i n gd e l i v e r t i m e ,m a k ee n t e r p r i s es y s t e md e v e l o p m e n tm o r ea n dm o r ed i f f i c u l t y d e v e l o p m e n tb u s i n e s s m e na n dm a s s e so fp r o g r a m m e r sa r ea l w a y s p r o m o t i n gw i t hg r e a te f f o r t sa n de x p e c t i n ge a r n e s t l yam a t u r e ,s t a n d a r d e n t e r p r i s ep l a t f o r mt os i m p l i f ya n ds t a n d a r d i z et h ed e v e l o p m e n ta n d d e p l o y m e n to fe n t e r p r i s es y s t e m s t h ea p p e m a n c eo fj a v at e c h n o l o g y , e s p e c i a l l yt h ei s s u eo fj 2 e ep l a t f o r m ( j a v a2p l a t f o r me n t e r p r i s e e d i t i o n ) ,i sj u s tt h er e s u l to ft h i se f f o r ta n da l s om a k ee n t e r p r i s es y s t e m d e v e l o p m e n tf a s t e ra n dm o r ec o n v e n i e n c e w h a tn e e dp o i n to u ti st h a t j 2 e ei sas t a n d a r d , i to f f e r sas t a n d a r df o rd i f f e r e n tm a n u f a c t u r e r st o c r e a t ep l a t f o r mp r o d u c t s ,a n de n a b l e st h ei n t e r a c t i o nb e t w e e nd i f f e r e n t i nv i e wo ft h ef a c tt h a tj 2 e eh a sb e c o m et h ep r e f e r e n c eo fs e r v e re n d a p p l i c a t i o np l a t f o r m , s h a r i n gt h ee x p e r i e n c ea n dd e s i g no fd e v e l o p e r s b e c o m e sam o s ti m p o r t a n tm a t t e r w h a tt h i sp a p e rw i l ls o l v ei sp r o b l e m s t h a tc a na f f e c tj 2 e e 印p l i c a t i o n s f l e x i b i l i t ya n dm a i n t a i n a b i l i t y ,a n d s u g g e s t i n gs o l u t i o n sa r eg i v e n b yd i s s e c t i n gt h ed e s i g nm e t h o do far e a l a p p l i c a t i o n ( t h ed i g i t a l t e l e v i s i o nb u s i n e s s su s e rm a n a g e m e n ta n d b i l l i n gs y s t e m ) ,t h i sp a p e rh a sa l s ot h o r o u g h l ye x p l a i n e dh o wt ou t i l i z e j 2 e et e c h n o l o g yb e t t e rw h e nd e s i g n i n ga ne n t i r ed i s t r i b u t e da p p l i c a t i o n b e l o wi st h em a j o rc o n t e n ta n dc o n t r i b u t i o no ft h er e s e a r c h : am u l t i - t i e rj 2 e ea p p l i c a t i o nc o n s i s t so fs o m ep o s s i b l yd i s t r i b u t e d d i f f e r e n tc o m p o n e n t sa n dv i e w si nm i d d l et i e r s t h i sp a p e rh a ss t u d i e d s o m ed e s i g n p a t t e r n s t h a tc a nl e t t y p i c a l j 2 e ea p p l i c a t i o n sh a v e e x p a n s i b i l i t y , f l e x i b i l i t ya n dm a i n t a i n a b i l i t y t h i sp a p e rh a ss t u d i e dt h e p a t t e r n si nj 2 e es u c h 舔m v cs t r u c t u r ea n ds e s s i o nf a c a d e i th a s d i s c u s s e dh o wt h e s ed e s i g np a t t e r n sd e c o u p l ed i f f e r e n tt i e r sa n ds og e t t h ef l e x i b i l i t ya n dm a i n t a i n a b i l i t yo fa na p p l i c a t i o n t h i sp a p e ru t i l i z e sj 2 e em e t h o da n dp a t t e r nt o d e s i g na na c l l l a l p r o j e c tp s m s i th a ss t u d i e d i nd e t a i ls o m ec r u c i a lj 2 e e p a t t e r n s ft h e s ep a t t e r n sa s p a t t e r n s s e s s i o n f a c a d ep l a c e sas e s s i o nb e a nb e t w e e ne n t i t yb e a n sa n da p p l i c a t i o nc l i e n t s i tc a nm a k ee n t i t yb e a n ss a f e ra n da l s om a k ee n t i r ep r o g r a m sm o r e e f f e c t i v e t h eb e n e f i to fu s i n gt h eb u s i n e s sd e l e g a t ep a t t e r nl i e si nt h a t p r e s e n t a t i o nt i e r s ( j s p ) o n l yn e e dc o m m u n i c a t ew i t hb u s i n e s sd e l e g a t e s , n e e dn o tk n o wt h es p e c i f i cr e a l i z a t i o no f u n d e r l y i n gl a y e r s ,a n dm a k et h e e n t i r ea r c h i t e c t u r em o r ef l e x i b l e w i mf r o n tc o n t r o l l e ri n t e g r a t e di na l l a p p l i c a t i o n , w ec a l lb e t t e rc o n t r o lh o wu s e r sb r o w s ew e ba p p l i c a t i o n s t h ew o r k f l o wd e c o m p o s e saw o r ka c t i v i t yi n t ot a s k s ,r o l e s ,r u l e s ,a n d p r o c e s s e so fg o o dd e f m i t i o nt oc a r l yo u ti m p l e m e n t a t i o n sa n dm o n i t o r s , - a n ds or e a c h e st h eg o a lo fr a i s i n gp r o d u c t i o no r g a n i z a t i o nl e v e la n d t h ep a t t e r n sa b o v es o u n du l t i m a t e s o l u t i o n s h o w e v e r , i t su s u a l , b e n e f i ti s w e i g h e db yi m p o r t a n tt r a d e - o f f a d d i t i o n a l l y ,w h e nw e c o m b i n et h e s ep a t t e r n st ot a k em u t u a l l yl e n g t ht om e n ds h o r t , t h ee f f e c t c 锄b eo f t e nb e t t e r o n eg o a lo ft h en e x ts t e pw i l lb eh o wt oc o m b i n et h ef e a t u r eo fj 2 e e e n v i r o n m e n t ( r o b u s t n e s s ,s c a l a b i l i t y ,s a f e t ya n do t h e rf e a t u r e s ) w i t ht h e a d v a n t a g e ( t h a ti s ,t h ei n d e p e n d e n c eo fp l a t f o r ma n dp r o g r a m m i n g l a n g u a g e ) o fw e bs e r v i c et e c h n o l o g yt o g e t h e r k e y w o r d :j 2 e e ,d e s i g np a t t e r n , m u l t i t i e rd i s t f f o u t e da r c h i t e c t u r e , s o f t w a r ec o m p o n e n tt e c h n o l o g y 目录 第一章绪论1 1 1 论文的研究背景和研究内容1 1 2 论文内容的安排1 第二章j 2 e e 概述2 2 1 分布式的多层应用程序2 2 2j 2 e e 组件3 2 3j 2 e e 客户端3 2 4j a v a b e a m 组件体系结构4 2 。5j 2 e e 服务器通信4 2 6 j 2 e e 容器6 2 7 封装7 2 8 开发角色8 2 9 简单的系统集成8 第三章j 2 e e 中的设计模式9 3 1 什么是设计模式? 9 3 2 建造灵活与可维护的j 2 e e 应用程序的设计模式9 3 - 3 模型视图控制器1 0 3 4 前端控制器1 l 3 5 会话外观。1 5 3 6 数据存取对象1 9 第四章一个j 2 e e 应用程序的设计2 2 4 1p s m s 系统总体概述2 2 4 2p s m s 软件体系结构2 3 4 3p s m s 用户管理子系统功能简介2 4 4 4p s m s 用户管理子系统包结构和类结构2 5 4 5 实体i a v a b e a n 保护一2 6 4 6 改进远程对象设计2 9 4 7 业务委派模式3 l 4 8p s m s 中的设计原则3 3 4 9 运用前端控制器设计用户开户业务3 5 4 1 0 使用工作流开发应用程序4 3 4 1 1w e bs e r v i c e s :w 曲的下一场革命4 4 第五章结束语和展望4 7 5 1 本文的贡献4 7 5 2 研究工作的进一步展望4 7 参考文献4 8 致谢5 0 攻读学位期间发表的学术论文目录5 1 2 第一章绪论 1 1论文的研究背景和研究内容 企业应用系统的开发一直面临挑战:一方面,企业应用系统面对的是一个异 构的分布式环境,它必须支持与已有系统的集成性和与其他系统的互操作性;另 一方面,作为为客户、合作伙伴和企业内部提供信息服务的平台,企业系统还必 须具有高可用性、安全性、可靠性和可伸缩性。这些要求再加上复杂多变的用户 需求和不断伸缩的交付时闻,使得企业系统的开发越来越困难。开发商和广大程 序员一直在努力推动和殷切期待一个成熟、标准的企业平台来简化和规范企业系 统的开发和部署。j a v a 技术的出现,尤其是j 2 e e ( j a v a 2p l a t f o r me n t e r p r i s e e d i t i o n ) 平台的推出正是这种努力的结果,也使得企业系统的开发由此变得更加快速和方 便。需要指出的是j 2 e e 本身是一个标准,它为不同厂商创建平台产品提供了标 准,使不同j 2 e e 平台产品之间的交互成为可能。 鉴于j 2 e e 已经成为服务器端应用程序平台的首选,共享开发者的经验与设 计就成了一件至关紧要的事。本文所要解决的是那些能够影响j 2 e e 应用程序灵 活性和可维护性的问题,并且给出推荐的解决方案。本文研究了j 2 e e 的一些设 计模式,主要包括m v c 结构、前端控制器、会话外观等,并探讨了这些设计模 式如何通过将不同的层进行解耦合,从而取得应用程序的灵活性和可维护性。 本文还通过对一个实际应用( 数字电视业务用户管理与计费系统) 设计方法的 详细分析,深入说明了在设计整个分布式应用时应该如何更好地运用j 2 e e 技术。 本文详细研究了这个项目中所涉及的一些关键的j 2 e e 设计模式和体系结构方 法,这些模式和方法的优缺点,以及如何把它们运用到实际项目中,怎样才能充 分地发挥它们的优势,并尽可能减小它们的缺点所带来的影响。 1 2 论文内容的安排 全文共分为五章,除本章外,其余内容按照如下的方式进行组织: 第二章提供了j 2 e e 平台技术的一种综述。 第三章介绍了一些可重复使用的设计模式。这一章所要解决的是那些能够影 响j 2 e e 应用程序灵活性和可维护性的问题,并且给出推荐的解决方案。 第四章通过对一个实际应用( 数字电视业务用户管理与计费系统) 设计方法的 详细分析,深入说明了在设计整个分布式应用时应该如何更好地运用j 2 e e 技术。 第五章总结了本文的主要贡献,并提出了进一步工作的设想。 上海交逶大学硕士学位论文 第二章j 2 e e 概述 今天,越来越多的开发者想要编写企业级的分布式的事务处理应用程序,而 这些应用程序必须可以发挥速度、安全性和服务器端技术的可靠性o l 在现在这个 高速发展、要求苛刻的电子商务和信息技术的世界中,企业级的应用程序必须具 有以下特点:花费更少的金钱、具有更快的速度、占用更少的资源。 为减少费用,快速设计开发企业级应用程序,j a v a 2p m f f o 加,e n m r p r i e d i t i o n ( 眨b e ) 技术提供了一个基于组件的方法来设计、开发、装配和部署企业级应用程 序。j 2 e e 平台提供了一个多层结构的分布式应用程序模型,该模型具有重用组 件能力、基于扩展标记语言( 幻匝) 的数据交换、统一的安全模式和灵活的事务控 制。不仅可比以前更快地发表对市场的新的解决方案,而且独立于平台帕基于红 件的j 2 e e 解决方案不再受任何提供商的产品和应用程序编程界面( a p t s ) 的限制。 提供商和买主都可自己选择最合适于它们的商业应用和所需技术的产品和组件。 2 1 分布式的多层应用程序 j 2 e e 平台使用了一个多层的分布式的应用程序模型。应用程序的逻辑根据 其实现的不同功能被封装到组件中,组成j 2 e e 应用程序的大量应用程序组件根 据在其所属的多层的j 2 e e 的环境中所处的层被安装到不同的机器中。图2 1 表 示了两个多层的j 2 e e 应用程序根据下面的描述被分为不同的层。在图2 1 中涉 及的j 2 e e 应用程序的各个部分将在j 2 e e 组件中给出详细描述。 一 c l k n t lt r i m t i e r l m h i n e i _ l 、运行在客户端机器的客户层组件。 2 破l量砒圈1l画 2 、运行在j 2 e e 服务器中的w e b 层组件。 3 、运行在j 2 e e 服务器中的商业层组件。 4 、运行在e i s 服务器中的企业信息系统( e i s ) 层软件。 尽管从图2 1 中可以看到j 2 e e 应用程序既可以是三层结构,也可以是四层 结构,但是我们通常将j 2 e e 应用程序的多层结构考虑为三层结构。这是因为它 们分布存三个不同的位置:客户端机器、j 2 e e 服务器机器和存后端的传统的机 器。三层结构的应用程序可以理解为在标准的两层结构的客户端服务器模式的 客户端应用程序和后端存储资源中间增加了一个多线程的应用程序服务器。 2 2j 2 e e 组件 j 2 e e 应用程序由组件组成。j 2 e e 组件就是自带功能的软件单元,它随同相 关类和文件被装配到j _ 2 e e 应用程序中并实现与其它组件的通信。j 2 e e 规范定义: l 、客户端应用程序和a p p l c t 是运行在客户端的组件。 2 、j a v as e r v l e t 和j a v a s e r v e rp a g e s ( j s p ) 是运行在服务器端的w e b 组件。 3 、e n t e r p r i s ej a v a b e a n ( e j b 或e n t e r p r i s eb e a n ) 是运行在服务器端的商业软件。 j 2 e e 组件由j a v a 编程语言写成,并和用该语言写成的其它程序一样进行编 译。j 2 e e 组件和”标准的”j a v a 类的不同点在于:它被装配在一个j 2 e e 应用程序 中,有固定格式并遵守j 2 e e 规范,它被部署在产品中,由j 2 e e 服务进行管理。 2 3j 2 e e 季芦端 一个j 2 e e 客户端既可以是一个w e b 客户冁也可以是一个应用程序客户端。 2 3 1w e b 善户端 w e b 客户端分两部分:由运行在w e b 层的w e b 组件生成的包含各种标记语 言( h t m l 、x m l 等) 的动态w e b 页和接受并显示从服务器传来的页面的w e b 页。 一个w e b 客户端有时被称为瘦客户端。瘦客户端一般不做象数据库查询、执 行复杂的商业规则及连接传统应用程序这样的操作。当你使用一个瘦客户端时; 象这样的重量级的操作被交给了在j 2 e e 服务器执行的e n t e r p r i s eb e a n 。这样就可 以充分发挥j 2 e e 服务器端技术在安全性、速度:耐用性和可靠性方面的优势。 2 3 2a p p t 雠s 从w r 曲层接收的w r e b 质面可包含内嵌豹a 1 :) p t e t i a p p l e t 。是用j a v a 编写的客户 端小应用程序,它在安装在w e b 浏览器中的j a v a 虚拟机中运行。然而为在w e b 浏览器中成功地运行a p p l e t ,客户端系统很可能需要j a v a 插件和安全策略文件。 w e b 组件是用来建立一个w e b 客户端程序的首选的a p i ,因为这样在客户端 系统中就不需要插件和安全策略文件。同样,使用w e b 组件可有效改善应用程 序设计,因为它们提供了一个将应用程序设计和w e b 页面设计有效分离的途径。 w e b 页面的设计者可不必关心j a v a 编稃语言的语法就能很好地完成自己的工作。 2 ,3 3 应用程序客户端 j 2 e e 应用程序客户端运行在客户端机器上,4 它使用户可处理需要比标记语 言所能提供的更丰富的用户界面的任务。具有代表性的是用s w i n g 或抽象窗1 :3 工 具包( a w t ) a p i 建立的图形用户界面( o u r ) ,但一个命令行界面也是当然可能的。 应用程序客户端直接访问运行在商业层的企业b e a n 。然而若应用程序需要授 权,应用程序客户端可打开占个h t t p 连接与置1 个运行在w e b 层韵s e r v l c t 通信。 - 2 4 j a v a b e a n s 组件体系结构 服务器层和客户层也可包含以j a v a b e a n 组件为基础的组件来管理在一个应 用程序客户端或a p p l e t 与运行在j 2 e e 服务器上的组件之间的数据流动和服务器 端组件与数据库之间的数据流动。在j 2 e e 规范中j a v a b e a n 组件不是j 2 e e 组件。 j a v a b e a n s 组件具有实例变量以及用来访闯实例变量中的数据的鲥方法和 s e t 方法。作这种用途的j a v a b e a n s 组件在设计和执行时相当简单,但是它必须遵 守j a v a b e a n s 组件体系结构的命令和设计惯例。 2 5j 2 e e 服务器通信 c l i e n tt i e rj 2 e es e r v e r l q g u r e 2 ;2 t h ec o m m u n i c a t i o n 。w i t h 7 s e r v e r s 服务器通信 图2 2 显示了客户层组成的多种方式。客户端可以直接和运行在j 2 e e 服务 器中的商业层进行通信。如果是一个运行在浏览器中的客户端,也可以通过运行 在w e b 层中的j s p 页面和s e r v i a 进行这种通信。 j 2 e e 应用程序是采用瘦客户端还是胖客户端。要作出这样的决定,应该明 白胖客户端是将功能留在客户端,使它与用卢更接近,而瘦客户端是将功能的实 现尽可能地交给服务器。由服务器处理更多的功能,就更容易分发、部署和管理 应用程序:而将更多的功能留在客户端对于有经验的用卢也许是个明智的选择。 2 5 1w 曲组件 j 2 髓的w 曲组件既可以是,s e t , l e t 也可以是j s p 页面。s e n , l e t s 是一个1 a v a 编程语言类,它可以动态地处理请求并作出响应。j s p 页面是一个基于文本的文 档,它以s e r v l e t 的方式执行,但是它可以更方便建立静态内容。 在装配应用程序时,静态的h t m l 页面和a p p l e t 被绑定到, w e b 组件中,但 是它们并不被j 2 e e 规范视为w r e b 组件。服务器端的功能类也可以被绑定到w 曲 组件中,与h t m l 页面一样,它们也不被j 2 e e 规范视为w e b 组件。 正如图2 3 中所示,和客户层一样,w 曲层也可以包含一个j a v a b e a n s 组件 以管理用户的输入并将输入发送到运行在商业层的e n t e r p r i s eb e a m 进行处理。 j 2 e es e r v e r 铎的,曩盯 f i g u r e2 3w e b t i e ra n dj 2 e ea p p l i c a t i o n w e b 层和坨e e 应用程序 2 5 ;2 两业组件 商业代码,表示了例如银行、零售和财政这样的特定的商业领域的相适应的 逻辑。它由运行在商业层的e m e r p r i s e b e a n 处理。图2 4 显示了一个e m e r p m e b e a n 如何从客户端接受数据,对它进行处理( 如果需要) ,并将其发送勐企业信息系统 层以作存储。个c n 魄p 辩b e a n 也可以从存储器获取数据,对它进行处理( 如果 需要) ,并将其发送到客户端应用程序。 f 咖n 2 4b u s i n e s st i e re n d e i st i e r 商业层和e t s 层 5 有三种e n t e r p r i s eb e a n s ;s e s s i o nb e a n s 、e n t i t yb e l l i s 和m e s s a g e - d r i v e nb e a n s 。 一个s e s s i o nb e a n 描述了与客户端的一个短暂的会话。当客户端的执行完成后, s e s s i o nb e a n 和它的数据都将消失。相对应的是一个e n t i t yb e a n 描述了存储在数 据库的表中的一行的持久稳固的数据。如果客户端终止或服务结束,底层的服务 会负责e n t i t yb e a n 数据的存储。一个m e s s a g e - d r i v e nb e a n 结合了s e s s i o nb e a n 和 j a v a 信息服务( n 鹤) 信息监听者的功能,允许一个商业组件异步地接受j m s 消息。 2 5 _ 3 企业信息系统层 企业信息系统层处理企业信息系统软件并包含诸如企业资源计划卿) 、主 机事务处理、数据库系统和其它传统系统这样的底层系统。j 2 e e 应用程序组件 可能需要访闽企业信息系统,例如是获得一个数据库连接。 2 6j 2 e e 容器 瘦客户端的多层应用程序通常是很难编写的,这因为这包括许多行复杂的代 码以处理事务、状态管理、多线程、资源池和其它复杂的底层详细资料。基于组 件并与平台无关l 勺j 2 e e 体系结构使j 2 e e 应用程序易于编写,这因为商业逻辑 被封装到可重甩的组件中,此外,j 2 e e 服务器以容器的形式为每个组件类型提 供底层服务。因为不需要自己开发这些服务,可以全力以赴地着手处理商业问题。 2 6 1 容器服务 容器是一个组件和支持组件的底层平台特定功能之间的接口,在一个w e b 组件、e n t e r p r i s eb e a n 或者是一个应用程序客户端组件可以被执行前,它们必须 被装配到一个j 2 e e 应用程序中,并且部署到它佑的容器。装配的过程包括为j 2 e e 应用程序中的每一个组件以及j 2 e e 应用程序本身指定容器的设置。容器设置定 制了由j 2 e e 服务器提供的底层支持,这将包括诸如安全性、事务管理、j a v a 命 名目录接口( d d 搜寻以及远程序连接。下面是其中的主要部分: i 、j 2 e e 的安全性模式可以让你对一个w e b 组件或e n t e r p r i s eb e a n 进行配置 以使得只有授权用户访问系统资源。 2 、j 2 e e 的事务模式可以让你指定方法之间的关系以组成一个单个韵事务, 这样在一个事务中的所有方法将被视为一个单一豹整体。 3 、$ n d t 搜寻服务为企业中的多种命名目录服务提供一个统一的接口,这使 得应用程序组件可以访闽命名目录服务。 4 、j 2 e e 远程连接模式管理客户端和企业b e a n 阀韵底层通信。一个企业b e a n 被建立后,客户端调用其中的方法时就象这个企业b e a n 运行在同一个虚拟机上。 6 实际上,j 2 e e 体系结构提供了可配置的服务意味着在相同的j 2 e e 应用程序 中的应用程序组件根据其被部署在什么在地方在实际运行时会有所不同。例如, 一个e n t e r p r i s eb e a n 可能在一个产品环境中拥有包含访问数据库数据的某种级别 的安全性设置,而在另一个产品环境中是另一个访问数据库的级别。 容器还管理诸如e n t e r p r i s eb e a n 和s e r v l e t 的生存周期、数据库连接资源池和 访问j 2 e e 平台a p i 不能配置的服务。尽管数据持久化是不能配置舶服务,但j 2 e e 体系统结构允许在想获得比默认的容器管理持久化所能提供更多的控制肘,通过 在e n t e r p r i s eb e a n 执行中包含适当的代码以重载容器管理持久化。例如,可用b e a n 管理持久化以实现自己的f i n d e r ( 查找) 方法或者建立一个定制的数据库缓冲区。 2 6 2 窖器类型 部署时会将j 2 e e 应用程序组件安装到坨匝容器中,就象图2 5 中所示。j 2 e e 服务器是j 2 e e 产品的运行部分。个j 2 e e 服务器提供e i b 容器和w e b 容器。 l 、e n 魄研j a v a b e a n s 容器:管理j 2 e e 应用程序的e n t e r p r i s eb e a n 的执行。 2 、w e b 容器:管理j 2 e e 应用程序的j s p 页面和s e r v l e t 组件的执行。 3 、客户端应用程序容器:管理应用程序客户端组件的运行。 4 、a p p l e t 容器:管理a p p l e t 的执行。包括客户端的w 曲浏览器和j a v a 插件。 2 7 封装 f i g u r e :l - sj 2 e es c l v c l a n dc o n t a i n e r s j 2 e e 服务器和容器 j 2 e e 组件被分别打包并绑定到一个j 2 e e 应用程序中以供部署。每一个组件、 它的诸如g i f 、h t m l 文件和服务器端功能类这样的相关文件以及一个部署说明 组成了一个模块并被添加到j 2 e e 应用程序中。一个j 2 e e 应用由一个或几个e i b 组件模块、w e b 组件模块或应用程序客户端组件模块组成。按不周设计需求,最 终企业解决方案可是一个j 2 e e 应用程序,也可由两或多个j 2 e e 应用程序组成。 一个j 2 e e 应用程序以及它的每一个模块有它自己的部署说明。一个部署说 明就是一个具有x m l 扩展名的x m l 文件,它描述了一个组件的部署设置。例如, 一个a a t e r p r i s eb e a n 模块的部署说明,描述了一个e n t e 删s cb e a n 的事务属性和 7 安全性授权。因为部署说明信息是公开的,因此它可以被改变而不必修改b e a n 的源代码。在运行时,j 2 e e 服务器将读取这个部署说明并遵照执行。 一个1 2 e e 应用以及它的所有模块被提交至! f 一个e n t e r p r i s ea r c h i v e ( e a r ) 文 件中。一个e a r 文件就是一个具有e a r 扩展名的标准的j a v aa r c h i v e ( j a r ) 文件。 在j 2 e es d k 应用程序部署工具的g u i 版本中,你首先建立一个e a r 文件,并 在其中添加j a r 文件和w e ba r c h i v e ( w a r ) 文件。然而,如果你使用的是命令行 的打包工具你必须首先建立j a r 和w a r 文件,然而才是建立e a r 文件。 l 、每个e j bj a r 文件包含一个部署说明、e n t e r p r i s eb e a n 文件和相关的文件。 2 、每个客户端j a r 文件包含一个部署说明、客户端的类文件和相关的文件。 3 、每一个w a r 文件包含一个部署说明、w e b 组件文件以及相关的资源。 使用模块和e a r 文件使运用同一组件以装配许多不同的j 2 e e 应用程序成为 可能。不需要额外编程工作,雅一要做的是在e a r 文件中添加各种j 2 e e 模块。 2 8开发角色 可重用的模块使得将应用程序的开发过程和部署过程分成不同的角色成为 可能。这样,不同的人或公司可以在这一过程的各个部分承担不同豹任务。 最先的两个角色承担购买和安装j 2 e e 产品和工具的任务。购买和安装好软 件后,应用程序组件提供商就开始开发j 2 e e 组件,应用程序装配者负责装配, 而
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 餐饮服务题库含参考答案
- 医学影像检查技术学试题库及答案
- 中医内科出科试题及答案
- 急诊与灾难医学考试题目及答案
- 中级财务会计试卷及答案
- 电工安全知识试题及答案
- 近十年浙江省考试卷及答案
- 主要负责人(广东省)考试题库及安全员附答案
- 建筑质检员考试题及答案
- 技能大赛《网络安全管理实践》考试题库(附答案)
- 2025年担保公司考试题库(含答案)
- 营养员指导员培训
- 期末模拟测试(试卷)2025-2026学年六年级语文上册(统编版)
- 2025-2026学年苏教版小学数学三年级上册期末综合测试卷及答案(三套)
- 服装厂生产流程标准操作程序
- 2025至2030伴侣动物诊断行业发展趋势分析与未来投资战略咨询研究报告
- 授信财务知识培训课件
- 师范类学生教学能力提升计划
- 2025年中国燕麦数据监测报告
- 地理八上期末考试试卷及答案
- 景区工作总结汇报
评论
0/150
提交评论