(通信与信息系统专业论文)基于j2ee的铁道业务清算系统的研究.pdf_第1页
(通信与信息系统专业论文)基于j2ee的铁道业务清算系统的研究.pdf_第2页
(通信与信息系统专业论文)基于j2ee的铁道业务清算系统的研究.pdf_第3页
(通信与信息系统专业论文)基于j2ee的铁道业务清算系统的研究.pdf_第4页
(通信与信息系统专业论文)基于j2ee的铁道业务清算系统的研究.pdf_第5页
已阅读5页,还剩49页未读 继续免费阅读

(通信与信息系统专业论文)基于j2ee的铁道业务清算系统的研究.pdf.pdf 免费下载

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

文档简介

中文摘要 摘要: 铁道业务部作为中国铁通集团公司的一个特有部门,承担着为中国铁路提供 铁道通信服务的重任。铁道通信业务种类繁多,资费标准灵活,且支付方式也不 尽相同。目前的铁路通信业务统计分析系统已经成为管理整个铁道业务清算工作 的必需工具。随着铁道业务的不断发展,旧的统计分析系统已经难以满足铁道业 务部开益发展的业务需要。本研究课题的目标就是为铁道业务部建立一套功能完 善、扩展性好、能满足铁道业务部业务发展需要的铁道业务清算系统。 本论文在对铁道业务部现有统计分析系统的研究基础上,针对铁道业务部的 实际业务情况和工作流程,提出基于j 2 e e 架构的清算系统软硬件和网络解决方 案,并根据该方案设计了清算系统的系统功能和数据库结构,同时基于p e t r i 网对 铁路运输通信市场收入业务从数据采集到最终清算汇总的流程进行建模。最后对 铁路运输通信市场业务数据的录入、核对与审查功能给出相应的实现,并提出了 一种根据日志对错误操作进行自动回滚的数据保障方法。 关键词:铁道业务;清算;j 2 e e 架构;p e t r i 网;工作流程 分类号:皿3 1 9 b 壶窑煎占堂硇堂值i 金塞旦s ! b 工 a b s i r a c t : a sas p e c i a ld e p a r t m e n to fc h i n at i e t o n g ( c n ) ,r a i l w a yb u s i n e s sd e p a r t m e n t i sr e s p o n s i b l ef o rp r o v i d i n gr a i l w a yc o m m u n i c a t i o ns e r v i c et ot h ew h o l er a i l w a ys y s t e m o fc h i n a r a i l w a yc o m m u n i c a t i o nb u s i n e s sh a sv a r i o u sb u s i n e s st y p e s ,f l e x i b l ec h a r g e s t a n d a r d sa n dm u l t i p l ep a y m e n tm e t h o d s i nt h ep a s tf e wy e a r s ,t h er a i l w a yb u s i n e s s s t a t i s t i c a la n a l y s i s ( r b s a ) s y s t e mc o m p l e t e st h em a n a g e m e n to fr a i l w a yb u s i n e s s r e c k o n i n g h o w e v e r , w i t ht h ed e v e l o p m e n to f r a i l w a y b u s i n e s s ,c u r r e n tr b s as y s t e mi s d i f f i c u l tt om e e tt h en e e d so fr a i l w a yb u s i n e s sd e p a r t m e n t 1 1 1 et a r g e to ft h i sp a p e ri s t od e v e l o pan e ws y s t e mw i t hf l a i lf u n c t i o n sa n dg o o de x p a n s i b i l i t yf o rt h er a i l w a y b u s i n e s sd e p a r t m e n t b ya n a l y z i n gt h e r b s as y s t e m ,ar e c k o n i n gs y s t e ms o l u t i o nb a s e do nj 2 e e a r c h i t e c t u r ew h i c ha i m sa tt h ew o r kf l o wi nr a i l w a yb u s i n e s sd e p a r t m e n ti sf i g u r e do u t i nt h i st h e s i s a c c o r d i n gt ot h es o l u t i o n , t h es y s t e mf i m c t i o n sa n dd a t a b a s es t r u c t u r ea r e d e s i g n e d ,a n da no p e r a t i o nw o r k f l o wo fr a i l w a yt r a n s p o r t a t i o nc o m m u n i c a t i o nb u s i n e s s i sm o d e l e db a s e do nt h ep e t r in e t f i n a l l y , t h ef l a n e t i o n so fi n p u t ,c h e c ka n da u d i t i n gf o r t h er a i l w a yt r a n s p o r t a t i o nc o m m u n i c a t i o nb u s i n e s sd a t aa r ei m p l e m e n t e d ,a n dad a t a e n s u r i n gm e t h o dt h a ta u t o m a t i c a l l yu n d om i s t a k e no p e r a t i o na c c o r d i n gt oo p e r a t i n gl o g i sp u tf o r w a r d k e y w o r d s :r a i l w a yb u s i n e s s ;r e c k o n i n g ;j 2 e ea r c h i t e c t u r e ;p e t r in e t ;w o r k f l o w c i 。a s s n o :t p 3 1 9 学位论文版权使用授权书 本学位论文作者完全了解北京交通大学有关保留、使用学位论文的规定。特 授权北京交通大学可以将学位论文的全部或部分内容编入有关数据库进行检索, 并采用影印、缩印或扫描等复制手段保存、汇编以供查阅和借阅。同意学校向国 家有关部门或机构送交论文的复印件和磁盘。 ( 保密的学位论文在解密后适用本授权说明) 学位论文作者签名:爿瞳爿葛泄 导师签名: 签字日期:p 订年i i j 日z # - i j 签字日期:沙1 年j 2 月砰p t 独创性声明 本人声明所呈交的学位论文是本人在导师指导下进行的研究工作和取得的研 究成果,除了文中特别加以标注和致谢之处外,论文中不包含其他人已经发表或 撰写过的研究成果,也不包含为获得北京交通大学或其他教育机构的学位或证书 而使用过的材料。与我一同工作的同志对本研究所做的任何贡献均已在论文中作 了明确的说明并表示了谢意。 学位论文作者签名:_ 赵韶披签字同期:妒7 年1 2 月珥同 致谢 本论文的工作是在我的导师刘云教授的悉心指导下完成的。在此,我首先要 对刘老师两年半来给予我的关怀、教育和培养表示最真诚的感谢。在攻读硕士学 位的两年半时间内,刘老师悉心指导我们完成了实验室的科研工作。尤其在论文 的写作过程中,她提出了许多指导性的意见,对论文的顺利完成帮助极大。刘老 师实事求是的学术作风、一丝不苟的治学态度、勤勉敬业的工作精神、深厚的学 术功底都给我留下了极为深刻的印象。刘老师的一言一行都深深地影响着我,将 时亥激励我追求更高的人生目标。 实验室的张振江老师、孟嗣仪老师和李勇老师对于我的科研工作和论文都提 出了许多的宝贵意见,在此表示衷心的感谢。 感谢在科研道路上给过我帮助的实验室的师兄师姐和同学们。我的成长和进 步离不开他们无私的帮助。 另外,感谢在百忙之中为我审阅论文的专家、学者。 最后,感谢我的家人,他们的理解和支持使我能够在学校专心完成我的学业。 业鏖窑煎左堂亟堂焦论塞 庄 序 本课题来源于中国铁通铁道业务部项目铁通公司铁道业务清算系统及调度 指挥平台的研究,是其中一个研究子方向。在这个项目中,北京交通大学计算机 通信实验室开发了一套具有自主知谚 产权的软件系统,本论文就是在设计和实现 这个项目的基础上完成的。 论文首先从整体上介绍了项目的背景,分析了国内外研究现状,并明确了论 文主要研究方向和所需要完成的工作。 接着,根据研究方向,通过对软件体系结构、数据库和开发工具的对比分析, 提出了完整的系统解决方案。 然后,深入学习了系统设计与实现中涉及到的关键技术j 2 e e 、s t r u t s 、s p r i n g 、 h i b e r n a t e 和x m l 等,分析各种技术的优缺点,并提出如何将相关技术应用于系统 的设计与实现当中。 最后,结合对铁道业务部对清算系统的实际业务需求的分析,做出了系统的 功能设计、数据库设计和业务流程设计。同时对系统权限管理和系统中清算数据 的录入、核对与审查进行了实现,最后提出了一种根据日志自动回滚用户错误操 作的方法。 j e 鏖窑盈占堂亟堂位盈室呈i 直 1引言 1 1 课题背景和选题意义 本课题来源于中国铁通铁道业务部项目铁通公司铁道业务清算系统及调度 指挥平台的研究,是其中一个研究子方向。 中国铁通集团有限公司的前身是铁道通信信息有限责任公司,成立以来,始 终坚持在确保铁路通信畅通的基础上,大力丌拓公众电信市场。而保证全国铁路 通信畅通的管理和结算的重任就落在了铁道业务部身上。在电信运营经营过程中 有三类重要的资源:以客户信息为主的客户资源、以资费政策为主的管理资源和 以网络基础设施为主的运营资源。这三类资源的有机结合,才能为运营商带来最 大的收益。铁道业务的清算工作将铁道业务中的客户资源和资费政策有机地结合 起来,是铁通公司发展十分重要的一环。 铁道业务部提供的服务种类繁多,自身组织机构较为复杂,一套高效有序的 铁道业务清算系统,对铁道业务部达到信息利用的最大化和资源分配的最合理化 具有十分重要的意义。本系统的主要目的在于提高铁道业务的运营效率,减轻业 务人员工作量,为铁道业务的管理提供一个功能更加丰富、强大的工作平台。该 系统能够全面地支持铁道业务管理,能满足新业务拓展等方面新需求,使铁通公 司铁道业务工作能够适应铁路快速发展的需要。同时,该系统对于实现依托铁路, 突出专业化,把中国铁通打造成为具有自身特色的专业化信息通信运营商的目标 将起到十分重要的作用。 铁道业务清算系统的开发应该达到精简繁冗的具体操作,提高统计、分析能 力,更加合理、高效地对铁道业务的信息进行管理的目的,满足铁道业务不断发 展的需求。 1 2 国内外发展现状 中国铁通集团公司是一个专业特点突出的综合性的运营商,与铁道通信有着 密切不可分割的关系。其中,铁道业务部主要负责为铁道通信提供服务。铁道业 务部是中国特有的业务部门,其铁道业务清算职能是中国铁通所特有的,世界上 其他运营商都不具备。因此铁道业务部的铁道业务清算系统没有国外的经验可以 借鉴。 拙哀窑堑叁堂亟堂焦论塞量l 直 当前公司铁道业务部j 下在使用的铁路通信业务统计分析系统主要用于铁道业 务的清算和统计分析工作,在公司铁路通信市场管理中发挥了很积极的作用。在 过去的几年中,统计分析系统实现铁道业务清算统计的手工处理向电子化处理的 转变,改变了数据管理方式,提高了铁道业务部的工作效率,提高了数据处理的 准确性、安全性,大大缩短了报表周期。 但是,该系统的运行存在以下问题: 1 数据录入角色混乱。由于铁道业务部自身组织机构较为复杂。且设备配备 和员工水平参差不齐,有些通信段没有配备专门的设备,以至于无法完成数据录 入工作。所以,完成基础数据录入工作的部门既有通信段又有铁道通信中心。这 使得数据录入时的角色比较混乱,一旦发生错误,责任追查将会变得比较的复杂。 2 该系统在开发时只能满足当时铁道业务部对铁道业务的相关要求,没有对 铁道业务数据安全、新业务拓展等方面的支持能力。随着铁路事业的迅猛发展, 新需求、新业务不断出现,原有系统已经不能满足铁路快速发展对铁通铁道业务 工作的要求。 3 目前,整个系统的数据库服务与应用程序服务运行于同一台服务器上,不 利于充分发挥服务器的性能。 4 当前的网络安全形势日益严峻,该系统架设于公网之上,没有专门的安全 保障技术。系统容易遭到恶意攻击,存在着巨大的数据安全隐患。系统运行的网 络结构需要进行调整,以此来保证数据传输的安全。 1 3 本论文的主要工作与贡献 本文由中国铁通公司铁道业务清算系统扩容及调度指挥平台的研究项目 提出了研究方向铁道业务清算系统的研究。 本文主要分五个部分进行论述。首先,介绍课题的背景,并分析铁道业务统 计分析系统的相关现状,提出现存系统的不足;其次,研究软件结构层次的差异, 分析开发平台和数据库系统的区别,提出整个系统的解决方案;接着,分析j 2 e e 、 x m l 等相关技术,选取了一种基于s p r i n g 、s t r u t s 、h i b e r n a t e 为主要结构的主流轻 量级j 2 e e 架构作为系统的开发架构:然后,结合对铁道业务部对清算系统的实际 业务需求的分析,对系统进行功能设计和数据库设计:最后,对系统权限管理和 清算数据管理做出相应的实现,同时提出了一种根据日志对错误操作进行自动回 滚的数据保障方法。 j e 豆窑适厶堂亟堂位监塞 i 直 1 4 本章小结 本章主要描述了本研究课题的来源、背景以及研究意义,同时分析了铁路通 信业务清算系统的国内外研究现状,并由此提出了本论文的研究方向和主要工作 内容。 2清算系统解决方案 2 1 软件体系结构分析 随着软件开发技术和网络技术的飞速发展,管理信息系统的复杂程度不断增 加,软件的体系结构的重要性越来越突出。它不但影响系统的设计和开发进度, 还直接影响到系统的后续发展潜力,甚至关系到系统的成败。根据用户界面与后 台数据库之问的层数,可把应用软件分成单层结构,二层结构,三层结构等几种。 2 1 1单层结构 单层应用软件由于包含了所有的应用逻辑,从后台最基本的数据处理到前台 对用户的响应以及处理结果的显示,所以应用软件往往比较庞大。 单层软件的优点在于运行效率高,响应快。由于所有的处理在一个程序中全 部完成了,实现功能时没有经过中问层次,所以程序的运行效率往往比较高,对 用户的响应也比较快。 单层软件的缺点在于设计难,开发难,一处修改可能会影响到整体。由于单 层应用软件比较庞大,所以相应的带来一些不利因素:在设计阶段要求设计人员 必须面面俱到,从复杂的逻辑结构中整理出程序设计文档;在开发阶段,软件开 发人员之间的协作也比较困难;在测试和维护阶段,对软件的局部改动可能会影 响到整体;软件发布之后,为适应新的需求,在开发新版本的软件时,往往要全面 调整程序结构,甚至废弃原来大量的代码。所以单层软件的版本更新往往比较难。 更重要的是,单层软件无法满足网络应用或者分御式应用。所以单层软件结 构早已不能满足目前软件行业发展的需要。在这种情况下,应用程序分成了客户 端部分和服务器端部分两部分,从而形成了两层结构,也称为客户服务器结构。 2 1 2两层结构 在两层结构中,用户界面和业务规则在客户端,数据维护在服务器端实现, 这通常由另一个独立的应用程序操作数据库来完成,例如s q ls e r v e r 或者o r a c l e 等数据库系统。传统意义上的客户一服务器模型就是指这种应用结构 应用程序包括用户界面、业务逻辑和数据维护三个部分。把应用程序分为客 4 户端实现和服务器端实现,在两层结构中,如果把业务逻辑放在客户端,则往往 使得客户端非常笨重;如果把业务逻辑放在服务器层,则往往难以在数据库系统 中实现复杂的应用逻辑。为此,业务逻辑层被单独提取出来构成中间的一层或多 层,形成分布式系统。 2 1 3三层结构 三层结构把信息系统划分为表示层,业务逻辑层、数据访问层。 ( 1 ) 表示层,是整个系统的用户界面,根掘用户操作调用相应的业务逻辑。它 用于检查用户输入的数据,向业务逻辑层进行提交,并接收经过业务逻辑层处理 后返回的客户需要的数据,展示给用户。一般来说,客户层不存放或存放很少量 的业务逻辑。 ( 2 ) 业务逻辑层,是应用系统的关键所在,通常由应用程序或w e b 服务器实现。 它负责根据客户层提交的用户需求从数据库提取相关的数据进行处理,并把处理 的结果返回给客户层以展示给用户。 ( 3 ) 数据访问层,提供数据库支持,即d b m s ,负责管理对数据库数据的读写, 能迅速执行大量的数据更新和检索。现在的主流通常是像s q ls e r v e r , o r a c l e s e r v e r ,d b 2s e r v e r 等这样的关系数据型数据库( r d b m s ) 。 三层结构中的三层,只是逻辑上的概念。具体实现时,物理结构上的差异可 能会很大。三层可以在一台计算机上,也可以在两台,三台,甚至更多的计算机 上,只要它们在体系上遵循三层结构即可。只不过在一台或两台计算机上实现三 层结构,它的优势时很难体现的。 在三层结构中,每一层支持应用程序的一个独立部分。在事务处理过程中, 每个客户机只向应用服务器发出一个请求,这就减少了网络通信和竞争。 三层体系结构的优点: ( 1 ) 减轻了客户端的负担。客户端应用程序和应用服务器之间的连接实际上只 是一些简单的通信协议,而数据库服务器交流所需要的设置或驱动程序,均由业 务逻辑层或者服务器来承担。这就减轻了客户端的负担,也降低了数据库服务器 的连接代价。 ( 2 ) 易于维护。各层相对独立,可并行开发。各层之间以接口方式进行通信, 因而提高了可维护性,也加强了数据的一致性。 ( 3 ) 具有可伸缩性。由于现在计算机硬件系统构成非常灵活,使系统各部分可 以选择与其处理负荷和处理特性相适应的硬件。随着应用的发展,系统可以增加 一台或多台工作站作为应用服务器。 2 2 数据库与开发工具 2 2 1数据库的选择 目前常用的数掘库有a c c e s s ,m y s q l ,s q ls e r v e r 和o r a c l e 等。 a c c e s s 属于桌面性数据库,应用于单机模式,不能跨越计算机的单机界限。 适用于用户单一,数据存储量小,管理简单的情况。 m y s q l 是一个小型关系型数据库管理系统,目前被广泛地应用在i n t e r n e t 上 的中小型网站中。由于其体积小、速度快、总体拥有成本低,尤其是开放源码这 一特点,许多中小型网站为了降低网站总体拥有成本而选择了m y s q l 作为网站数 据库。m y s q l 最大的缺点是其安全系统比较复杂而且非标准,同时没有存储过程 ( s t o r e dp r o c e d u r e ) 语言。 s q ls e r v e r 是一种网络数据库,功能完善,操作简单,其数据存储规模和并 发用户数目都属于中型。因其价格比较低,所以是开发中规模数据库系统的很好 选择。而且s q l s e r v e r 只能运行于w i n d o w s 平台开放性较弱。 o r a c l e 属于大型网络数据库系统。它支持多用户的高性能的事务处理,实施安 全性控制和完整性控制,支持分布式数据库和分布处理,且具有较强的可移植性、 可兼容性和可连接性,适用于开发的系统规模比较大的情形。 2 2 2开发工具的选择 就目前的用户群体来看,j 2 e e 、n e t 和p h p 是目前主流的开发技术。 一、j 2 e e j 2 e e 是一套全然不同于传统应用开发的技术架构,包含许多组件,主要可简 化并且规范应用系统的开发与部署,进而提高可移植性、安全性与重用性”】。 j 2 e e 核心是一组技术规范与指南,其中所包含的各类组件、服务架构及技术 层次均有共通的标准及规格,让各种依循j 2 e e 架构的不同平台之白j 存在良好的兼 容性,打破了过去企业后端使用的信息产品彼此之自j 无法兼容,导致企业内部或 外部难以互通的窘境。j 2 e e 是多层体系结构,层次清晰;基于组件的设计简化了 应用程序的维护;通过更新应用程序中特定的组件,新的功能可以被很容易地增 加,灵活性好。 j 2 e e 支持异构环境。基于j 2 e e 的应用程序不依赖任何特定操作系统、中间 件或硬件。因此,设计合理的基于j 2 e e 的程序只需开发一次就可以部署到各种平 台,可移植性较好。j 2 e e 领域的供应商提供了更为广泛的负载平衡策略,能消除 6 系统中的瓶颈,允许多台服务器集成部署,实现可高度伸缩的系统,满足未来商 业应用的需要。 二、n e t m i c r o s o f t n e t 框架代表了一个集合、一个环境、一个可以作为平台支持下一 代i n t e m c t 的可编程结构。n e t 包括4 个重要特点: l 、软件变服务。n e t 的平台和工具,主要用于在因特网上丌发w e b 服务。 工作在n e t 上的用户、开发人员和i t 工作人员将定制服务,软件会自动安装,所 有的维护和升级也会通过互联网进行。 2 、基于x m l 的共同语占。在,n e t 体系结构中,x m l 作为一种应用自j 无缝 接合的手段,用于多种应用之间的数据采集与合并,用于不同应用之间的互操作 和协同工作。 3 、融合多种设备和平台。n e t 谋求与各种i n t e m e t 接入设备和平台的一体化, 主要关注无线设备和家庭网络设备及相关软件、平台方面。 4 、新一代的人机界面。n e t 包括通过自然语音、视觉、手写等多种模式的 输入和表现方法:基于x m l 的可编辑复合信息架构通用画布:个性化的信息 代理服务;使机器能够更好地进行自动处理的智能标记等技术。 三、p i 口 p h p 是英文超级文本预处理语言( h y p e r t e x tp r e p r o c e s s o r ) 的缩写。p h p 是一 种h t m l 内嵌式的语言,在服务器端执行嵌入h t m l 文档的脚本语言,p h i 独 特的语法混合了c 、j a v a 、p e r l 以及p i - i p 白创新的语法。它可以比c g i 或者p e r l 更快速的执行动态网页。与其他的编程语言相比,用p h p 制作动态页面是将程序 嵌入到h t m l 文档中去执行,执行效率比较高;与同样是嵌入h t m l 文档的脚本 语言j a v a s c r i p t 相比,p h p 在服务器端执行,充分利用了服务器的性能;p h p 执行 引擎还会将用户经常访问的p h p 程序驻留在内存中,其他用户再一次访问这个程 序时就不需要重新编译程序了,只要直接执行内存中的代码就可以了,这也是p h p 高效率的体现之一。p h p 具有非常强大的功能,而且支持几乎所有流行的数据库 以及操作系统。 p h p 的主要缺点在于缺少大量能够提高开发效率和实现复杂功能的类库和组 件、控件等,实现一个复杂的功能往往需要自己编写大量的函数,无形中增加开 发的周期和成本。每次版本的升级,原先开发的程序都要进行相应的改动,不利 于维护。 因此p h p 适用于访问量不大、开发周期短、功能相对简单的个人网站,并不 适用于大型的商用系统 2 3 清算系统解决方案 2 3 1软件解决方案 铁道业务部结构组织较为复杂,包括了总部、1 8 个事业部、3 0 个省公司和5 0 多个铁道通信中一t l , 等多个职能部门。地域分部非常广泛,操作人员众多。为此, 系统采用三层的b s 模式,在客户端只需要有浏览器就可以访问系统,进行相关 操作,克服了a s 模式下必须要安装客户端爿。能够使用系统的弱点。 j 2 e e 是一组技术规范和指南,并不完全限定具体实现。对于j 2 e e 开发而言, 有一系列开源项目为j 2 e e 的各种技术规范提供良好的支持,使得开发的实际技术 具有较高的灵活性和选择余地。加上j 2 e e 的平台无关性好这一优点,选用j 2 e e 架构作为铁道业务清算系统的丌发平台。 铁道业务清算系统的数据量较大,并发用户较多,因此选用o r a c l e 数据库来 存储和管理系统数据。 2 3 2硬件和网络解决方案 企业内部运营信息系统的运行除了要有高效率以外,还应该有高可靠性以保 证数据的安全可靠。铁道业务部现有的铁路通信业务统计分析系统架设于公网之 上,可以通过任意一台接入i n t e r a c t 的客户端进行访问,安全性能较低。 目前,铁通公司的内部网络为通过i n t e m e t 连通的多协议标签交换( m p l s : m u l t i - p r o t o c o ll a b e ls w i t c h i n g ) v p n 网络。m p l sv p n 是一种基于m p l s 技术的 i pv p n ,是在网络路由和交换设备上应用m p l s 技术,简化核,t l , 路由器的路由选 择方式,利用结合传统路由技术的标记交换实现的口虚拟专用网络,可用来构造 宽带的i n t r a n e t 、e x t r a n e t ,满足多种灵活的业务需求。m p l sv p n 具有安全性高、 可提高资源利用率、网络灵活性高和可扩展性、成本较低等优点。清算系统的网 络解决方案考虑采用直接将系统接入公司内部网络的方式。采用此种方式最大的 好处在于保证数据安全的同时,最大限度的利用现有的网络设备,降低成本。 鉴于铁道业务部总部及下级机构遍布于全国各地,在清算系统的网络解决方 案中,所有的客户端都接入本地的铁通局域网中,然后通过基于i n t e r a c t 的v p n 网络访问位于铁道业务部总部的系统服务器。为了最大限度的保证数据的安全性, 同时提高系统性能,在此次的系统硬件搭配中采用应用服务器与数据库服务器物 理分离的方式。系统服务器一共两台,一台作为专用的数据库服务器,主要负责 整个系统的数据存放工作;另一台作为应用服务器,为系统应用程序提供运行平 台,并存放x m l 数据备份文件,以完成数据备份文件和数据库文件的物理隔离。 整个铁道业务清算系统的网络结构如图2 1 所示; 2 4 本章小结 图2 - 1 清算系统的网络结构 f i g 2 1n e t w o r ks t r u c t u r eo f r e c k o ns y s t e m 本章主要从软件体系结构入手,介绍了现有软件体系结构的特点,并通过数 据库和开发工具的对比,最终确定了清算系统的软件解决方案。同时,根据系统 的实际运行环境给出了清算系统的硬件和网络解决方案。 3j 2 e e 技术介绍 本章对整个铁道业务清算系统所用到的核心技术,包括j 2 e e 、s t r u t s 、s p r i n g 、 h i b e r n a t e 、x m l 等进行一个较为详细的介绍。 3 1j 2 e e 3 1 1j 2 e e 基本概念 目前。j a v a2 平台有3 个版本,用于小型设备和智能卡的 j 2 m e ( j a v a2 p l a t f o r m m i c r o e d i t i o n ) 、适用于桌面系统的j 2 s e ( j a v a2p l a t f o r m s t a n d a r de d i t i o n ,j 2 s e ) 和适用于企业级应用的j 2 e e ( j a v a2p l a t f o f i l le n t e r p r i s e e d i t i o n ,j 2 e e ) 。 s u n 推出j 2 e e 的目的是为了克服传统c l i e n t s e r v e r 模式的弊病,迎合 b r o w s e r s e r v e r 架构的潮流,为应用j a v a 技术开发服务器端应用提供一个平台独立 的、可移植的、多用户的、安全的和基于标准的企业级平台,从而简化企业应用 的开发、管理和部署【”。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 应用服务器上。 为了推广并规范化使用j 2 e e 架构企业级应用的体系架构,s a n 同时给出了一 个建议性的j 2 e e 应用设计模型:j 2 e e b l u e p r i n t s 。j 2 e e b l u e p r i n t s 提供了实施j 2 e e 企业级应用的体系架构、设计模式和相关的代码,通过应用j 2 e eb l u e p r i n t s 所描 述的体系模型,能够部分简化架构企业级应用这项复杂的工作。j 2 e eb l u e p r i n t s 是开发人员设计和优化j 2 e e 组件的基本原则,同时为围绕开发工作进行职能分工 给出了指导性策略,以帮助应用开发设计人员合理地分配技术资源。 j 2 e e 技术的基础就是核心j a v a 平台或j a v a2 平台的标准版。j 2 e e 不仅巩固 了标准版中的许多优点,例如“一次编写、随处运行”的特性、方便存取数据库 的j d b c a p i 、c o r b a 技术以及能够在i n t e r n e t 应用中保护数据的安全模式等等, 同时还提供了对e j b ( e n t e q r i s ej a v a b e a n s ) 、j a v as e r v l e ta p i 、j s p ( j a v as e r v e r p a g e s ) 以及x m l 技术的全面支持。其最终目的就是成为一个能够使企业开发者 大幅缩短投放市场时间的体系结构。 i o 3 1 2j 2 e e 的特点 1 ,多层模型 j 2 e e 平台提供了一个多层应用程序模型,这意味着应用程序的不同部分可以 运行在不同的设备上。j 2 e e 结构定义了一个客户机层,个中问层( 由一个或多 个子层组成) ,以及一个e i s 层。 客户机层:支持各种各样的客户机类型,可以在公司的防火墙之内或之外。 中白j 层:在w e b 层中通过w e b 容器支持客户机服务,在e j b 层中通过e n t e r p r i s e j a v a b e a n s 容器向商业组件提供各种服务。 企业信息系统( e l s ) 层:利用标准的a p l 支持对企业信息系统的访问。 2 基于容器的组件管理 j 2 e e 基于组件的开发模型的中枢容器( c o n t a i n e r ) 的概念,容器提供了组件 服务的运行时( r u n t i m e ) 环境,组件可以期望它们的服务在任何j 2 e e 平台上都 有效,例如,所有的j 2 e ew e b 容器都提供运行时支持,以便结果返回给客机,执 行请求时的处理( 例如:调用j s p 或s e r v l e t ) ,并将结果返回给客户机。所有的 e j b 容器提供对e j b 组件的事务和生命周期管理的自动支持,并支持对e j b 的查 找或其他的服务。容器还提供对企业信息系统的标准化访问,例如,通过j d b ca p i 提供对关系数据库管理系统的访问。 另外。容器提供了一个在装配或部署期间设定应用程序行为的机制,通过使 用部署描述符( 一个文本文件,利用x m l 标记指定组件的行为) ,在部署时( 而 不是在组件代码中) ,组件可以补配置到特定的容器环境,部署过程中可以配置的 内容包括安全检查、事务控制,以及其他的管理职责。 3 对客户机组件的支持 j 2 e e 的客户机层提供了多种客户类型的支持,可以是在企业防火墙之内和之 外。客户机可以通过w e b 浏览器提供,浏览器可能是使用无格式的h t m l 页,或 者是使用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 a p p l e t 。 单机( s t a n d a l o n e ) 的j a v a 应用程序也可以作为客户机。j 2 e e 客户可假定主要使 用w e b 标准( 即h r r p ,h t m l 和m 。) 访问中问层。 4 对商业逻辑组件的支持 在j 2 e e 平台中,目嗯组件实现中间层的商业逻辑,e j b 让组件或应用程序的 开发者将精力集中在商业逻辑的开发上,将复杂的服务( 例如:安全、事务) 交 由e j b 服务器处理。 j 2 e e 平台和e j b 结构互为补充,e 1 b 组件模型是j 2 e e 编程模型的中枢,j 2 e e 平台在下面两个方法支持e j b 规范: ( 1 ) 向e j b 开发者提供可以用来实现e j b 的a p i 。 ( 2 ) 定义更强大的、分布式的编程环境,在该环境中,e j b 被当作商业逻辑 组件使用。 3 i 3j 2 e e 的核心a p i 与组件 j 2 e e 平台由一整套服务( s e r v i c e s ) 、应用程序接口( a p i s ) 和协议构成,它 对开发基于w e b 的多层应用提供了功能支持,下面对j 2 e e 中的1 3 种技术规范【2 l 进行简单的描述: 1 e j b ( e n t e r p r i s ej a v a b e a n s ) e j b 定义了一组可重用的组件。开发人员可以利用这些组件,像搭积木一样建 立分布式应用。在装配组件时,所有的e j b 都需要配置到e j b 服务器中。e j b 服 务器作为容器和低层平台的桥梁管理着e j b 容器,并向该容器提供访问系统服务 的能力。所有的e j b 实例都运行在e j b 容器中。e j b 容器提供了系统级的服务, 控制了e j b 的生命周期。e j b 容器为它的开发人员代管了诸如安全性、远程连接、 生命周期管理及事务管理等技术环节,简化了商业逻辑的开发。但这里值得注意 的是,e j - b 并不是实现j 2 e e 的唯一途径。正是由于j 2 e e 的开放性,使得有的厂 商能够以一种和e j b 平行的方式来达到同样的目的。e j b 中定义了三种e j b ,它 们包括s e s s i o nb e a n s 、e n t i t yb e a n s 、m e s s a g e - d r i v e nb e a n s 。 2 j s p ( j a v as e r v e rp a g e ) j s p 是一种实现普通静态m m l 和动态页面输出混合编码的技术。从这一点 来看,非常类似m i c r o s o f ta s p 、p h p 等技术。借助形式上的内容和外观表现的分 离,w e b 页面制作的任务可以比较方便地划分给页面设计人员和程序员,并方便 地通过j s p 来合成。在运行时态,j s p 将会被首先转换成s e r v l e t ,并以s e r v l e t 的 形态编译运行,因此它的效率和功能与s e r v l e t 相比没有差别,一样具有很高的效 率。 3 s o v i e t s o v i e t 是j a v a 平台上的c g i 技术。s o v i e t 在服务器端运行,动态地生成w e b 页面。与传统的c g i 和许多其它类似c g i 的技术相比,j a v as e r v l e t 具有更高的效 率并更容易使用。对于s o v l e t ,重复的请求不会导致同一程序的多次转载,它是 依靠线程的方式来支持并发访问的。 4 j d b c ( 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 ca p i 是一个标准s q l ( s t r u c t u r e dq u e r yl a n g u a g e ,结构化查询语言) 数据 库访问接口,它使数据库开发人员能够用标准j a v a a p i 编写数据库应用程序。j d b c 2 a p i 主要用来连接数据库和直接调用s q l 命令执行各种s q l 语句。利用j d b c a p i 可以执行一般的s q l 语句、动态s q l 语句及带i n 和o u t 参数的存储过程。j a v a 中的j d b c 相当于m i c r o s o f t 平台中的o d b c ( o p e n d a t a b a g e c o n n e c t i v i t y ) 。 5 x m l ( 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 是一种可以用来定义其它标记语言的语言。它被用来在不同的商务过程 中共享数据。x m l 的发展和j a v a 是相互独立的,但是,它和j a v a 具有的相同目 标正是平台独立性。通过将j a v a 和x m l 的组合,您可以得到一个完美的具有平 台独立性的解决方案。 6 j n d i ( 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 2 e e 应用程序组件一般分布在不同的机器上,所以需要一种机制以便于 组件客户使用者查找和引用组件及资源。在j 2 e e 体系中,使用j n d i 定位各种对 象,这些对象包括e j b 、数据库驱动、j d b c 数据源及消息连接等。j n d i a p i 为应 用程序提供了一个统一的接口来完成标准的目录操作,如通过对象属性来查找和 定位该对象。由于j n d i 是独立于目录协议的,应用还可以使用j n d i 访问各种特 定的目录服务,如l d a p 、n d s 和d n s 等。 7 j m s ( j a v am e s s a g es e r v i c e ) j m s 是一组j a v a 应用接口,它提供创建、发送、接收、读取消息的服务。j m s a p i 定义了一组公共的应用程序接口和相应语法,使得j a v a 应用能够和各种消息 中间件进行通信。通过使用j m s a p i ,开发人员无需掌握不同消息产品的使用方法。 也可以使用统一的订sa p i 来操纵各种消息中间件。通过使用j m s ,能够最大限 度地提升消息应用的可移植性。m s 既支持点对点( p o i n t - t o p o i n t ) 的消息通信, 也支持发布订阅式( p u b l i s h s u b s c r i b e ) 的消息通信 8 j 1 = a ( j a v a t r a n s a c t i o n a p i ) j t a 提供了j 2 e e 中处理事务的标准接口,它支持事务的开始、回滚和提交。 同时在一般的j 2 e e 平台上,总是提供一个j t s ( j a v at r a n s a c t i o ns e r v i c e ) 作为标准 的事务处理服务,开发人员可以使用j t a 来使用j t s 。 9 j t s ( j a v at r a n s a c t i o ns e r v i c e ) j t s 是c o r b a o t s 事务监控的基本的实现。j t s 规定了事务管理器的实现方 式。该事务管理器是在高层支持j a v a t r a n s a c t i o n a 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 事务管理器为应用服务器、资源管理 器、独立的应用以及通信资源管理器提供了事务服务。 l0 r m i ( r e m o t em e t h o di n v o k e ) 正如其名字所表示的那样,r m i 协议调用远程对象上方法。它使用了序列化 方式在客户端和服务器端传递数据。r m i 是一种被e j b 使用的更底层的协议 1 l ,i d l ( i n t e r f a c ed e s c r i p t i o nl a n g u a g e ) 在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 可以被用于将你的新的应用和旧的系统相集成。 1 2 j a f ( r j a v a b e a r l s a c t i v a t i o nf r a m e w o r k ) j a v am a i l 利用j a f 来处理m i m e 编码的邮件附件。m i m e 的字节流可以被转 换成j a v a 对象,或者转换自j a v a 对象。大多数应用都可以不需要直接使用j a f 。 1 3 j a v am a i l j a v am a i l 是用于存取邮件服务器的a p i ,它提供了套邮件服务器的抽象类。 不仅支持s m t p 服务器,也支持i m a p 服务器。 以上就是j 2 e e 的1 3 种技术规范的简介。在一个系统的设计与实现中,很少 会使用到这全部1 3 种技术,而对于b s 模式的系统设计与实现来说,多使用e j b 、 j s p 、j d b c 、x m l 、s e r v l e t 等技

温馨提示

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

评论

0/150

提交评论