(交通信息工程及控制专业论文)基于J2EE的引航管理信息系统的研究及应用.pdf_第1页
(交通信息工程及控制专业论文)基于J2EE的引航管理信息系统的研究及应用.pdf_第2页
(交通信息工程及控制专业论文)基于J2EE的引航管理信息系统的研究及应用.pdf_第3页
(交通信息工程及控制专业论文)基于J2EE的引航管理信息系统的研究及应用.pdf_第4页
(交通信息工程及控制专业论文)基于J2EE的引航管理信息系统的研究及应用.pdf_第5页
已阅读5页,还剩58页未读 继续免费阅读

下载本文档

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

文档简介

中文摘要 摘要 今天,越来越多的开发人员都想编写分布式的、事务型的企业级应用程序, 实现平衡速度、安全及保证服务器方的可靠度。在当今快速变换需求的电子商务 及信息技术的世界里,企业应用需要设计和编译低价、高速、资源占有少的程序。 为了缩减开发成本,快速跟踪企业应用的设计和开发,j 2 e e 技术提供了基于组件 的设计方法,用于开发、集成、部署应用程序。j 2 e e 平台提供了多层分布式应用 模式,使组件具有重用的能力,并集成了基于x m l 的数据交换技术一个统一 的安全模式及灵活的事务控制。 j 2 e e 规范本身包括了对于j 2 e e 架构实现技术的要求,其中最主要的就是e j b 技术,e j b 曾一度成为企业应用开发中必不可少的部分。然而,随着开源项目的兴 起,又出现了s t r u t s 、s p r i n g 等性能卓越的工具,帮助开发者进行j 2 e e 架构的实 现,这些开源项目和e j b 技术相比,有着简单、易用、灵活等诸多优势,当我们 进行企业应用开发时,就要面对e j b 和这些开源工具的选择。 宁波港是世界知名的大港,宁波港引航站每天平均引航船舶多达6 0 艘次,从 引航员任务、车辆接送任务和引航艇接送任务的分派,到每艘引航船舶的收费, 引航员、车辆驾驶员及引航艇的考核,目前都由人工完成,工作量极大。为了进 一步提高引航管理工作的工作效率,增加调度工作的科学性,节省人力资源物力 资源,降低生产成本,宁波引航站计划开发一套基于j 2 e e 的适合引航管理的企业 应用系统。如何架构该系统,尤其是其j 2 e e 框架如何实现,以及在整个框架中, 应用程序的可重用性是本论文主要讨论的问题。 本文首先分析了j 2 e e ,e j b 和当前流行的开源框架s p r i n g 、h i b e r n a t e 的体系 结构,比较了e j b 和s p r i n g 的优缺点,结合引航管理信息系统的实际特点确定出 整个引航管理信息系统的架构工具。在此基础上设计出一种适合引航管理信息系 统的通用架构模型。最后通过对宁波引航管理信息系统中的调度子系统的实现来 验证该模型的可行性。 关键词:j 2 e e l 分布式多层应用;控制反转;依赖注入;面向方面编程; 英文摘要 r e s e a r c ha n da p p l i c a t i o no fp i l o t i n gm a n a g e m e n t i n f o r m a t i o ns y s t e mb a s e do nj 2 e e a b s t r a c t n o w a d a y s ,d i s t r i b u t e d , t r a n s a c t i o n a le m e r p f i s ea p p l i c a t i o n sa r ea d v o c a t e db y m o r ea n dm o r ep r o g r a m m e r s t h e yw i l lb r i n ga b o u tb a l a n c e ds p e e d ,s e c u r i t ya n d s e r v e rr e l i a b i l i t y i nt h ew o r l do fe l e c t r i cc a ) m l n e r c ea n di n f o r m a t i o nt e c h n o l o g yw i t h r a p i dr e q u i r e m e u tc h a n g e ,l o wp r i c e ,h i g hs p e e d ,l i t t l e r e s o u r c ea r er e q u i r e di n e n t e r p r i s ep r o g r a md e s i g n t oc u t s h o r td e v e l o p m e n tc o s ta n d 砌le n t e r p r i s e a p p l i c a t i o n ,j 2 e ep r o v i d e sad e s i g nm e t h o df o rd e v e l o p i n g ,i n t e g r a t i n g ,d e p l o y i n g p r o g r a m sb a s e do nc o m p o n e n t s j 2 e ep l a t f o r mu s e s am u l t i t i e r e dd i s t r i b u t e d a p p l i c a t i o nm o d e lf o re n t e r p r i s ea p p l i c a t i o n s ,m a k i n gt h ec o m p o n e n t sr e u s a b l e i n o t h e ra p p l i c a t i o n s j 2 e ep l a t f o r ma l s oi n t e g r a t e dw i t hd a t ae x c h a n g et e c h n i q u eb a s e d o nx m l ,w h i c hi sau u l f o r l l ls a f em o d ea n df l e x i b l et r a n s a c t i o nm a n a g e m e u t t h ei m p l e m e n tt e c h n i q u e so fj 2 e ef r a m e w o r ka r ei n c l u d e di ni t ss p e c i f i c a t i o n s t h em o s ti m p o r t a n to n eo ft h e mi se j b ,w h i c ho n c ew a st h ea b s o l u t e l yn e c e s s a r i l y p a r to f a ne n t e r p r i s ea p p l i c a t i o n h o w e v e r , a l o n gw i t ht h er i s eo f o p e ns o u r c ep r o j e c t s , w eh a v em o r ee x c e l l e n tt o o l st oi m p l e m e u taj 2 e ef r a m e w o r k ,s u c ha ss t r u t s ,s p r i n g a n da t c c o m p a r e dw i t he j b ,t h e s eo p e ns o u r c et o o l sa r es i m p l e r , e a s i e ra n dm o r e f l e x i b l e s o ,w ew i l lb ef a c e dw i t ht h es e l e c t i o nb e t w e e ne j ba n dt h o s eo p e ns o u r c e t o o l si ne n t e r p r i s ea p p l i c a t i o nd e v e l o p m e n t n i n g b oi saf a m o u sp o r ti nt h ew o r l d i th a sad a i l ya v e r a g eo f6 0s h i p st op i l o t a l lt h ej o b si n c l u d i n gt h ea s s i g n m e n to fp i l o t ,v e h i c l ed r i v e r , p i l o tb o a tt a s k ,t h ep i l o t c h a r g e ,t h ea s s e s so fp i l o t s ,v e h i c l ed r i v e r s ,p i l o tb o a t sa r ec o m p l e t e dm a n u a l l ya t p r e s e n t t om a k et h ep i l o tm a n a g e m e n tm o r ee f f i c i e n ta n ds a v eh u m a na n dm a t e r i a l r e s o u r c e ,n i n g b op i l o ts t a t i o nd e c i d e st od e v e l o pa ne n t e r p r i s ea p p l i c a t i o nb a s e do n j 2 e ef r a m e w o r k t h ea p p l i c a t i o ns h o u l db es u i t a b l ef o rp i l o tm a n a g e m e n t t od e s i g n a n di m p l e m e n taj 2 e ef r a m e w o r k ,a n di t sr e u s a b i l i t yi na p p l i c a t i o na r et h em a i n t o p i c si nt h i sp a p e r 英文摘要 i nt h i sp a p e r , w ea n a l y z e dt h ea r c h i t e c t u r eo f j 2 e e ,e j ba n ds o m ep o p u l a ro p e n s o h r c ef r a m e w o r k ss u c ha ss p r i n g ,h i b e r n a t ea n dd i s c r i b e dt h ed i f f e r e n c eb e t w e e n e j ba n ds p r i n gf r a m e w o r k f o rt h ep r a c t i c ef e a t u r eo fap i l o tm a n a g e m e n t i n f o r m a t i o ns y s t e m w ed e s i g naf r a m e w o r km o d e la p p l i c a b l ef o ri tw i t l la n a p p r o p r i a t ef r a m e w o r kt 0 0 1 i nt h ee n d ,t h em o d e li su s e dt oi m p l e m e n tt h ea t t e m p e r s u b s y s t e mo f n i n g b op i l o tm a n a g e m e n ti n f o r m a t i o ns y s t e mt ov a l i d a t ei t sf e a s i b i l i t y k e yw o r d s :j 2 e e ( j a v a2e n t e r p r i s ee d i t i o n ) ;d i s t r i b u t e dm u l t i t i e r e d a p p l i c a t i o n s ;l o c o n v e r s e o f c o n t r 0 1 ) ;d e p e n d e n c yi n j e c t i o n ; a o p ( a s p e c t - o r i e n t e dp r o g r a m m i n g ) ;c r o s s - c u t t i n gc o n c e r n ; 大连海事大学学位论文原创性声明和使用授权说明 原创性声明 本人郑重声明:本论文是在导师的指导下,独立进行研究工作所取得的成果, 撰写成硕士学位论文 :基王丝星里的里l 魈筻理擅息丕统的受究生座旦:。 除论文中已经注明引用的内容外,对论文的研究做出重要贡献的个人和集体,均 已在文中以明确方式标明。本论文中不包含任何未加明确注明的其他个人或集体 已经公开发表或未公开发表的成果。 本声明的法律责任由本人承担。 论文作者签名: 式币 学位论文版权使用授权书 年歹月汐日 本学位论文作者及指导教师完全了解“大连海事大学研究生学位论文提交、 版权使用管理办法”,同意大连海事大学保留并向国家有关部门或机构送交学位论 文的复印件和电子版,允许论文被查阅和借阅。本人授权大连海事大学可以将本 学位论文的全部或部分内容编入有关数据库进行检索,也可采用影印、缩印或扫 描等复制手段保存和汇编学位论文。 保密口,在年解密后适用本授权书。 本学位论文属于:保密口 不保密函( 请在以上方框内打“”) 论文作者签名: 氏砰导师签名:茅 导师签名:具弓7 笏 聃1 1 姚飞i 基于j 2 e e 的引航管理信息系统的研究与应用 第1 章绪论 1 1 课题研究背景 j 2 e e 是1 9 9 9 年由s u n 公司j a v a 企业开发部门主管m a l ac h a n d r a 提出,并明 确阐述了设计j 2 e e 架构的两个初衷:一、对于厂商,j 2 e e 意味着一套开放标准, 加入这个标准,他们的产品就可以运行在各种不同的操作系统和工作环境下,成 为一个成熟的企业运算体系中可替换的部件。二、对于开发者,j 2 e e 是一套现成 的解决方案,采用这个方案,企业应用开发中的很多技术难题( 包括跨平台移植、 事务处理、安全性等等) 就会迎刃而解,“信息像一条不间断的河流,经过各种各 样的平台和设备,从企业应用系统的这一端流向那一端”。 今天,越来越多的开发人员都想编写分布式的,事务型的企业级应用程序, 需要平衡速度、安全及服务器方可靠度的技术【l 】。在当今的快速变换需求的电子商 务及信息技术的世界里,企业应用程序需要设计、编译、产生低价位的、高速的、 占用少量资源的程序。j 2 e e 平台提供了多层分布式应用模式,使具有重用的能力, 并集成了基于x m l 的数据交换一一个统一的安全模式及灵活的事务控制 2 1 。然 而,j 2 e e 平台并没有提供一个令人满意的应用程序编程模型,缺乏对编程的支持, 因此使得j 2 e e 程序开发具有一定的复杂性和难度。 宁波港是世界知名的大港,货物吞吐量居全国第二位。目前每天的来往船舶 8 0 余条,需要引航的船舶5 0 余条。随着中国经济和外贸的发展,这些数字将不断 提高。宁波大港引航有限公司( 以下简称引航公司) 是宁波港集团有限公司( 以 下简称集团公司) 下唯一的引航机构,代表国家行使引航主权。引航工作涉及的 管理任务有引航员调度、引航艇调度、汽车调度、引航收费、引航员考核、引航 艇船员考核和汽车驾驶员考核。目前引航员调度、引航艇调度、汽车调度( 这三 项工作以下统称排班) 工作都由手工完成,引航员考核、引航艇船员考核和汽车 驾驶员考核由手工或半手工完成。调度工作的依据是宁波港集团调度中心传真过 来的船舶进出港计划表。 为了进一步提高引航管理工作的工作效率,增加调度工作的科学性,节省人 第1 章绪论 力资源物力资源,降低生产成本,宁波引航站计划开发一套基于j 2 e e 的适合引航 管理的一套企业应用系统。如何架构该系统,尤其是其j 2 e e 框架的实现,整个框 架的可重用性是本论文主要讨论的问题。 1 2 国内外研究现状 目前,j 2 e e 技术主要包含5 个方面的内容:一、组件技术,如w e b 组件 ( j s p s e r v l e t ) 、e j b 组件;二、组件服务技术,如r m i 、j d b c 、j n d i ;三、集成 技术,如j m s 、j 2 e ew e bs e r v i c e ;四、j 2 e e 框架技术,如s t r u t s ,h i b e r n a t e ,j d o , j s f ;五、j 2 e e 服务器,如t o m c a t ,j b o s s ,w e b l o g i c 等。 当前,e j b 作为j 2 e e 的内部框架,是被大批企业采用的一种企业级应用程序 框架,它采用分布式组件架构,包括s e s s i o n b e a n 和e n t i t y b e a n 。它引入了很多非 常前卫的技术、概念。主要包括分布式组件、容器,d b 操作的对象试图。然而, 经过几年的发展和大量的案例实践,人们发现采用e j b 技术后的系统开发变得越 来越复杂,并不能实现开发周期的简化,而e j b 本身也成为昂贵的代名词,而不 是期望的低成本。 随着j 2 e e 技术的发展,人们发现在很多j 2 e e 项目开发过程中都存在一些共 有的难题,例如在j 2 e e 框架的具体实现上,在很多大型的j 2 e e 项目都使用了自 己的内部框架,这样做的结果是整个系统可移植性、扩展性受到很大的限制。随 着开源项目的发展,各种开源框架为j 2 e e 企业应用开发提供了新的生机。s p r i n g 是众多开源框架中的佼佼者,它是非标准的开放源代码框架组件,是为了解决企 业应用程序开发复杂性而创建的。与e j b 相比,它的主要优势之一就是其分层架 构嘲,分层架构允许您选择使用哪一个组件,同时为j 2 e e 应用程序开发提供集成 的框架,在s p r i n g 中引入的一些新的设计思想,如i o c ,a o p 等使s p r i n g 迅速被 广大企业开发者所认可。 在今天的企业环境中,关系数据库已经成为一个必不可少的组成部分,在传 统的j a v a 程序中,面向对象的程序和关系数据库之间的数据转换一直是相当麻烦 2 基于j 2 e e 的引航管理信息系统的研究与应用 的,并且浪费时间。而h i b e r n a t e 作为一个开源的面向j a v a 环境的对象关系数据 库映射工具 4 1 ,它通过x m l 映射文件将j a v a 持久类和数据库表一一对应起来,使 开发者在开发过程中不必花太多精力去考虑j a v a 类和数据库之间的转换,将开发 者从繁琐重复的s q l 编码中解放出来。h i b e r n a t e 的目标是对于开发者通常的数据 持久化相关的编程任务,解放其中的9 5 。在基于j a v a 的中间层应用中,使用 h i b e r n a t e 来消除或者包装那些针对特定厂商的s q l 代码,无疑是一个很好的选择。 1 3 本文主要内容 本文将通过对j 2 e e 体系结构和几种开源项目基本原理的研究,结合引航管理 信息系统的特点,设计一个适合引航管理信息系统使用的j 2 e e 三层架构模型,并 通过具体应用来分析该框架的特点,可重用性。 第一章、绪论。主要介绍课题的研究背景和国内外研究现状。 第二章、j 2 e e 体系结构分析。对j 2 e e 的分布式多层应用结构进行了分析, 并提出了一种修改的j 2 e e 三层框架模型。介绍了j 2 e e 的核心技术。 第三章、开源项目。着重介绍了开源项目的发展历史,并对两种流行的开源 框架:s p r i n g 和h i b e r n a t e 的体系结构进行了分析。 第四章、引航管理信息系统得三层架构模型。从几个方面对e j b 和s p r i n g 的 优缺点进行了分析,并对宁波港引航管理信息系统的需求情况进行了分析、总结, 在此基础上提出了一种适用于引航管理信息系统的三层架构模型。 第五章、宁波港引航站引航管理信息系统的实现。根据第四章所提出的三层 架构模型,和宁波港实际条件,对宁波港引航管理信息系统中的基础数据模块的 实现进行了分析,以验证该架构模型的可行性和特点。 第六章、结论与展望。 基于j 2 e e 的引航管理信息系统的研究与应用 2 1j 2 e e 概述 第2 章j 2 e e 体系结构分析 2 1 1j 2 e e 规范 j 2 e e 规范( s p e c i f i c a t i o n ) 是由国际上最权威的j a v a 标准组织j c p ( j a v a c o m m u n i t y p r o c e s s ) 倡导制定的。j c p 是由s u n 公司带头,联合业界多家软件巨头 ( 包括m m 、o r a c l e 和b e a 等) 和研究机构以及众多j a v a 技术研究开发人员组成, 旨在规范j a v a 技术标准、推动j a v a 技术发展的开放性国际组织。j 2 e e 规范主要是 为构建i n t e m e = t 环境下多层企业应用提供指导,它通过基于标准化的、模块化的组 件,及为这些组件提供的一整套服务,简化了复杂分布式系统的开发,缩短了设 计和开发周期,降低了构建企业信息系统的成本。 图2 1 是j 2 e e 规范1 4 中对j 2 e e 体系结构的描述示意卧5 】: 图2 1j 2 e e 体系结构图 f i g 2 1j 2 e ea r c h i t e c t u r e 第2 章j 2 e e 体系结构分析 2 1 2 j 2 e e 的分布式多层应用结构 j 2 e e 平台使用多层分布式的应用模式( m u l f i f i e r e dd i s t r i b u t e da p p l i c a t i o n m o d e l ) 。它的主要思想是在企业应用开发中,采用分层的形式进行程序架构,以组 件的形式来实现功能模块,将各种不同的应用组件分布在不同的层上,而这些组 件必须符合j 2 e e 规范,目的是为了达到组件的可重用性。通常一个j 2 e e 系统包 含有下面的四个应用层: 1 、客户层:运行j 2 e e 客户端,j 2 e e 客户端可以是网络客户端( w e bc l i e n t ) , 也可以是应用客户端( a p p l i c a t i o nc l i e n t s ) 6 1 。网络客户端通常是网页浏览器,而 应用客户端可以是任何形式的j a v a 应用程序,通常是瘦客户端,它可以通过给定 的协议或者以接口的方式和网络层或者业务逻辑层进行通讯。 2 、网络层:运行j s p 应用程序或者是s e r v l e t 。s e r v l e t 是j a v a 类,它能动态处 理请求及响应 7 1 。j s p 页面是基于文档的,能像s e r v l e t 一样执行的能允许更多的静 态页面内容。在一个j 2 e e 应用系统中,网络层通常发布在应用服务器上。 3 、业务逻辑层:是j 2 e e 系统的核心层,运行e j b 或其他业务逻辑组件。业 务逻辑层组件是用来实现业务逻辑的主要部分,也是开发者在开发过程中的主要 工作所在。和网络层一样,业务逻辑层通常也是发布在应用服务器上。 4 、e i s 层:企业信息系统层( e n t e r p r i s ei n f o r m a t i o ns y s t e mt i e r ) 运行企业信 息系统相关的软件,包括企业的基础设施系统如企业资源计划( e r p ) ,企业事务 处理的主机系统,数据库系统以及其它保留的信息系统【8 1 。 尽管j 2 e e 应用程序可以由三层或四层构成( 图2 2 是j 2 e e1 4t u t o r i a l 对其分 布式多层应用的结构描述图【1 】) ,j 2 e e 应用程序通常由三层构成,因为他们分布于 三个不同的位置:客户机,应用服务器,数据库服务器。通过这种方式运行的三 层应用模式拓展了基于客户服务的两层模式【9 】。 实际上在实际应用中,j 2 e e 规范对于这三个层的分布并没有空间上的限制。 作为一个j 2 e e 应用系统的各个层的应用程序,可以发布在同一台计算机上,即这 台计算机同时可以作为客户机、应用服务器和数据库服务器。这就为开发者本身 提供了方便,同时也可以减少开发成本。 6 基于j 2 e e 的引航管理信息系统的研究与应用 j 2 e ej 2 e e p p u m d i o n p p i i c i t i o n2 c 帮l i m l j 2 e e s o f v e r m c h i n ,e 甜i s 勰d a t a b a s e 图2 2j 2 e e 分布式多层应用程序 f i g 2 2m u l t i t i e r e da p p l i c a t i o n s 值得一提的是,在图2 2 中所示的业务逻辑层的实现,并非一定要用e j b 来实 现,可以是任何其他符合j 2 e e 规范的j a v a b e a n 1 0 1 。 2 1 3j 2 e e 容器 容器( c o n t a i n e r ) j 2 e e 服务器以容器的形式为所有组件提供底层服务,这些底层服务包括了各 个层的事物处理、状态管理、资源池以及层与层之间的不同组件如何通信等等一 些细节。容器( c o n t a i n e r ) 是组件和支持组件功能的底层特定平台( 如数据库) 之间的接口f 1 1 j 。使用容器的目的是将开发者从这些底层服务中解放出来,给开发 者提供一个可通用的方便的开发环境,可以专心于业务逻辑的实现,而不是这些 底层技术细节的摸索。 j 2 e e 服务器 在运行w e b 组件、企业b e a n 或者j 2 e e 应用程序客户端之前,必须先将它们 装配到一个j 2 e e 服务器中,并部署它们到容器中“2 】。装配的过程包括为j 2 e e 应 用程序的每个组件和j 2 e e 应用程序本身设置容器的配置信息。这些配置信息定制 j 2 e e 服务器支持的底层服务,包括安全,事务管理,j a v a 命名和目录接口( j n d i ) 7 圈o 毒 圈 毒 第2 章j 2 e e 体系结构分析 查找和远程连接等 1 3 】。而这些都可以交给j 2 e e 服务器来完成。 目前作为j 2 e e 服务器的工具很多,比较著名的有w e b s p h e r ,w e b l o g i c ,f o o s s 等。值得一提的是t o m c a t ,t o m c a t 是a p a c h e 基金会的j a k a r t a 项目中的一个重要 的子项目,作为一个开源的w e b 服务器,t o m c a t 同时具有s e r v l e t 容器的功能。由 于有s u n 公司的支持,所以最新的s e r v l e t 和j s p 规范总能在t o m c a t 中得到体现。 但是t o m c a t 没有支持e j b 容器。和w e b s p h e r 、w e b l o g i c 相比,t o m c a t 程序很小, 占用资源少,在企业开发中,如果没有采用e j b 作为业务逻辑层的组件时,t o m c a t 是一个非常合适的开发工具。 图2 3j 2 e e 服务器和容器 f i g 2 3j 2 e es e r v e ra n dc o n t a i n e r 图2 3 是j 2 e e1 4t u t o r i a l 对服务器和容器部署结构示意图。对于图中的服务 器端的组件选择在构建一个j 2 e e 框架时是可以由用户根据实际情况来决定的【1 4 1 。 在不改变j 2 e e 的三层架构的前提下,为了减少开发过程中可能会遇到的困难,和 减少整个框架的复杂程度,我们可以取消e j b 容器,而采用自定义的业务逻辑组 件,发布在w e b 容器中,采用s e r v l e t 和j s p 技术实现j 2 e e 的业务逻辑部分的访 问控制【l ”。由此我们可以将整个j 2 e e 框架作一下修改,如图2 4 所示: 第2 章j 2 e e 体系结构分析 类型3 :j d b c n e t w o r kb r i d g e j d b c 网络桥驱动程序不再需要客户端数据库驱动程序。它使用网络上的中间 服务器来存取数据库。这种应用使得以下技术的实现有了可能,这些技术包括负 载均衡、连接缓冲池和数据缓存等。由于第3 种类型往往只需要相对更少的下载 时间,具有平台独立性,而且不需要在客户端安装并取得控制权,所以很适合于 i n t e r a c t 上的应用。 类型4 :p u r ej a v ad r i v e r 第4 种类型通过使用一个纯j a v a 数据库驱动程序来执行数据库的直接访问。 此类型实际上在客户端实现了2 层结构。要在n 层结构中应用,一个更好的做法 是编写一个e j b ,让它包含存取代码并提供一个对客户端具有数据库独立性的服 务。 二、j a v an a m i n ga n dd i r e c t o r yi n t e r f a c e ( j n d i ) j n d ia p i 被用于执行名字和目录服务1 7 l 。它的主要功能是:提供一个目录系 统,让其它各地的应用程序在其上面留下自己的索引,从而满足快速查找和定位 分布式应用程序的功能。它提供了一致的模型来存取和操作企业级的资源如d n s 和l d a p ,本地文件系统,以及后者在应用服务器中的对象。 三、e n t e r p r i s ej a v ab e a n s ( e j s ) j 2 e e 技术之所以赢得某体广泛重视的原因之一就是e j b 。它们提供了一个框 架来开发和实施分布式商务逻辑,由此很显著地简化了具有可伸缩性和高度复杂 的企业级应用的开发。e j b 规范定义了e j b 组件在何时如何与它们的容器进行交 互作用。容器负责提供公用的服务,例如目录服务、事务管理、安全性、资源缓 冲池以及容错性。 e j b 规范定义了3 种基本的b e a n 类型【1 3 】: s t a t e l e s ss e s s i o nb e a n s :提供某种单一的服务,不维持任何状态,在服务器故障 发生时无法继续存在,生命期相对较短。 s t a t e f u ls e s s i o nb e a n :提供了与客户端的会话交互,可以存储状态从而代表一 基于j 2 e e 的引航管理信息系统的研究与应用 个客户。s t a t e f u ls e s s i o n b e a n 在服务器故障时无法继续生存,生命气相对较短。每 一个实例只用于一个单个的线程。 e n t i t yb e a m :提供了一致性数据的表示一通常存放在数据库中一在服务器 故障发生后能继续存在。多用户情况下可以使用e j b 来表示相同的数据。e n t i t y e j b 的一个典型例子是客户的帐号信息。 尽管有以上的区别,所有的e j b 还是有许多的共同之处。它们都处理h o m e i n t e r f a c e 。它定义了一个客户端是如何创建与消亡e j b 的。可以在b e a n 中对定义 了客户端方法的远程接口进行调用;b e a n 类则执行了主要的商务逻辑。 四、j a v a s e r v e rp a g e s ( j s p s l j s p ( 1 a v a s e r v e r p a g e s ) 是由s u n 公司在j a v a 语言上开发出来的一种动 态网页制作技术,其可使您可以将网页中的动态部分和静态的h t m l 相分离。 或许你已经对微软的a c t i v es e r v e rp a g e s ( a s p s ) 非常熟悉;j s p 也是类似的技 术,不过它是平台无关的。它们都是设计来帮助w e b 内容开发者使用相对较少的 代码就可以创建动态的网页。w e b 设计者即使不懂得编程,也可以使用j s p 来创建 动态的网页。j a v a s e r v e r p a g e 是h t m l 代码和j a v a 代码的混合。在客户请求页面 的时候,服务器就会处理j a v a 代码,然后返回h t m l 页面给浏览器。 五、j a v as e r v l e t s s e r v l e t s 提供的功能大部分与j s p 相同,它采用的是一个有点不同的方法。j s p 中大部分是h t m l 代码,其中只有少量的j a v a 代码,而s e r v l e t s 则相反,它完全 使用j a v a 编写,并且产生h t m l 代码。 s e r v l e t 是一个在服务器上运行的j a v a 小程序,s e r v l e t 通过创建一个框架来扩 展服务器的能力,以提供在w e b 上进行请求和响应服务。当客户机发送请求至服 务器时,服务器可以将请求信息发送给s e r v l e t ,并让s e r v l e t 建立起服务器返回 给客户机的响应。当启动w e b 服务器或客户机第一次请求服务时,可以自动装 入s e r v l e t 。装入后,s e r v l e t 继续运行直到其它客户机发出请求。 六、r e m o t em e t h o di n v o c a t i o n ( r m i ) 远程方法调用 k m i 协议是在远程对象上调用一些方法。它使用了连续序列方式在客户端和 第2 章j 2 e e 体系结构分析 服务器端传递数据。r m i 是一种被e j b 使用的更下层的协议【1 9 1 。 七、j a v ai d l c o r b a j a v ai d l ( i n t e r f a c ed e f i n i t i o nl a n g u a g e ) 2 0 l 可实现网络上不同平台上的对象相 互之间的交互,该技术基于通用对象请求代理体系结构c o r b a 规范说明【2 0 】。i d l 是不依赖于语言的接口定义语言,所有支持c o r b a 的语言都有i d l 到该语言的 映射。就像其名字所表示的那样,j a v ai d l 支持到j a v a 语言的映射。 在j a v ai d l 的支持下,开发人员可以将j a v a 和c o r b a 集成在一起。他们可 以创建j a v a 对象并使之可在c o r b a o r b 中展开,或者他们还可以创建j a v a 类并 作为和其它o r b 一起展开的c o r b a 对象的客户。后一种方法提供了另外一种途 径,通过它j a v a 可以被用于将你的新的应用和l e g a c y 系统相集成。 八、j a v at r a n s a c t i o na r c h i t e c t u r e ( j t a ) j t a 定义了一种标准的a p i ,应用系统由此可以存取各种事务监控。j t a 和j a v a 事务服务( j a v at r a n s a c t i o ns e r v i c ej t s ) 为j 2 e e 平台提供了分布式事务服务。一个 分布式的事务涉及一个事务管理器( t r a n s a c t i o nm a n a g e r ) 和一个或者多个资源管 理器( r e s o u r c em a n a g e r ) 。一个资源管理器是任何类型的持久性的数据存储。事 务管理器负责协调所有事务参与者之间的通信。事务管理器与资源管理器之间的 关系如图2 5 所示: 图2 5 事务管理器和资源管理器 f i g 2 5t r a n s a c t i o nm a n a g e r a n dr e s o u r c em a n a g e r 1 2 基于j 2 e e 的引航管理信息系统的研究与应用 j t a 事务比j d b c 事务功能更强。j d b c 事务局限为一个数据库连接,而j t a 事务 可以有多个参与者。 九、j a v at r a u s a c t i o ns e r v i c e ( j t s ) j t s 是c o r b a o t s 事务监控的基本的实现。j t s 规定了事务管理器的实现方 式。该事务管理器是在高层支持j a v at r a n s a c t i o na p i ( j t a ) 规范,并且在较底层实 现o m go t ss p e c i f i c a t i o n 的j a v a 映像。j t s 事务管理器为应用服务器、资源管理 器、独立的应用以及通信资源管理器提供了事务服务。 十、j a v a m a f l j a v a m a i l 是用于存取邮件服务器的a p i ,它提供了一套邮件服务器的抽象类。 不仅支持s m t p 服务器,也支持i m a p 服务器。 十一、j a v a b e a n sa c t i v a t i o nf r a m e w o r k ( j a f ) j a v a m a i l 利用j a v a b e a n s a c t i v a t i o n f r a m e w o r k ( j a f ) 来处理m i m e 编码的邮件 附件。m i m e 的字节流可以被转换成j a v a 对象,或者转换自j a v a 对象。由此大多 数应用都可以不需要直接使用j a f 。 十二、j a v am e s s a g i n gs e r v i c e ( j m s ) j m s 是用于和面向消息的中间件相互通信的应用程序接口( a p i ) 。它既支持点 对点的域,有支持发布f f i j 习( p u b l i s h s u b s c r i b e ) 类型的域,并且提供对下列类型的 支持;经认可的消息传递,事务型消息的传递,一致性消息和具有持久性的订阅者 支持。j m s 还提供了另一种方式来对您的应用与l e g a c yb a c k e n d 系统相集成。 十三、e x t e n s i b l em a r k u pl a n g u a g e ( x m l l x m l 是一种可以用来定义其它标记语言的语言。它被用来在不同的商务过程 中共享数据。x m l 的发展和j a v a 是相互独立的,但是,它和j a v a 具有的相同目 标正是平台独立性。通过将j a v a 和x m l 的组合,您可以得到一个完美的具有平 台独立性的解决方案。目前正有许多不同的公司在为j a v a 和x m l 的组合而努力。 如果要了解更多的这方面的信息,可以访问s u n 的j a v a x m l 页面,或者m m d e v e l o p e r w o r k s 的x m lz o n e 。 基于j 2 e e 的引航管理信息系统的研究与应用 第3 章开源项目 3 1 开源项目简介 1 9 9 7 春天,自由软件杜团的一些领导者聚集到加利福尼亚州。这个社团包括 e r i cr a y m o n d ,t i m o r e d l y ,v ar e s e a r c h 的总裁l a r r ya u g u s t i n 等人,他们所关 心的是寻找一种方式,来向以前躲避自由软件思想的人们推广这种思想。在e r i c r a y m o n d 的坚持下,这群人同意他们所缺乏的是市场营销活动,这个活动的目的 是赢得思想,而不仅仅是市场份额。最后讨论的结果产生了一个新的术语来描述 他们所推进的软件:o p e ns o u r c e ( 开源软件) 。他们制定了一系列的指导原则,用来 描述哪些软件可以有资格被称为开源软件。 在9 0 年代,许多开源项目开发出了一大批有用的并且高质量的软件。如 a p a c h e ,一种被广泛使用的网络服务器。p e r l ,一种包含很多库的解释型语言。 m o z i l l a ,由n e t s c a p e 资助开发的免费的网络浏览器。这些开源项目的成绩已经得 到公认,他们的目的是使每个使用者都能受益于这些开源软件。9 0 年代后期,基 于g n u l i n u x 或者b s d 的开源操作系统也开始得到公众的承认,和当前市场上的 流行的操作系统w i n d o wn t 并驾齐驱。在许多小型的企业环境中,开源软件成为 用户的首选方案,例如a p a c h e 作为网络服务器,其市场占有率甚至超过了5 0 。 3 2h i b e r n a t e 3 2 1h i b e r n a t e 简介 在一个信息管理系统中,数据库是一个重要组成部分,而开发者在进行编程 的过程中,免不了要涉及到程序中的对象与数据库数据之间的转换f 2 n 。我们以 j d b c 为例,在程序中使用j d b c 进行数据库操作时,一般有以下几步:( 1 ) 建立 j d b c - o d b c 桥接器,( 2 ) 连接到数据库,( 3 ) 向数据库发送s q l 语句,( 4 ) 处 理查询结果,在面向对象的程序设计中,免不了还要将查询结果封装成程序需要 的对象,( 5 ) 关闭数据库连接。而实际上,每次的数据库操作,这几步动作除了 第3 章开源项目 s q l 语句不一样以外,其他操作都是一模一样的。手动编写代码来执行这些任务 不仅单调乏味、易于出错,而且会占用整个应用程序的很大一部分开发工作量。 针对这种重复性的劳动,有的开发者开始采用通常的“积极”偷懒做法,即,创 建工具,使整个过程自动化。对于关系数据库来说,这种努力的最大成果就是对 象关系映射( o r m ) i 具 2 2 1 。 这类工具有很多,从昂贵的商业产品到内置于j 2 e e 中的e j b 标准。然而,在 很多情况下,这些工具具有自身的复杂性,使得开发人员必须学习使

温馨提示

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

评论

0/150

提交评论