




已阅读5页,还剩57页未读, 继续免费阅读
(计算机系统结构专业论文)银行软件分发管理平台的设计与研究.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
浙江大学硕士学位论文 摘要 摘要 随着网络技术的不断发展,网络规模的不断扩大,银行金融机构的企业信息 化建设也在不断得到完善和改进,同时银行金融机构对金融自助设备的相关应用 软件的灵活性、拓展性的要求也在不断的提高,于是软件系统方面的管理维护工 作的难度也随之大大增加。由于不同金融自助设备的跨地域性,跨平台性的要求, 于是对设备中不同终端客户机的软件管理作业变得越来越复杂、越来越困难,系 统管理员的负担也逐渐增大。 软件分发管理平台主要包括三大系统模块:z s d t w e b 前台管理系统,命令服 务器和下载服务器。z s d t w e b 前台管理系统采用r a i l s 架构,实现系统管理员对终 端客户机、软件包、任务发布等功能的统一管理,具有高效性和可扩展性;命令 服务器主要是通过数据持久层,实现前台管理系统和远程终端客户机之间的信息 交互,满足数据一致的要求;下载服务器主要是建立存放安装软件包的服务器, 满足分布传输和大数据量的传输的要求。 本文详细阐述了银行软件分发管理平台的设计与实现。本软件分发管理平台 采用的是当前非常流行的r a i l s 架构。本文首先是分析了软件分发管理平台的发 展现状,以及应用背景等基础知识。第二章详细介绍软件管理平台的技术基础, 主要是详细分析了r a i l s 架构。第三章是系统的总体架构设计,详细设计了系统 的整体结构,以及数据持久层的设计。第四章主要是设计了命令服务器模块,设 计了与终端客户机的交互协议。第五章主要是设计了下载服务器模块,主要考虑 了分布传输和大数据量的传输。第六章对z s d t w e b 前台管理系统的各个功能模块 进行了详细的设计与实现。最后是对系统平台的开发作了总结和展望。 关键词软件分发系统,r a i l s 框架,管理平台,w e b 架构 浙江大学硕士学位论文a b s t r a c t a b s t r a c t w i t hn e t w o r kt e c h n o l o g yc o n t i n u e st od e v e l o p ,n e t w o r ks c a l ec o n t i n u e st o 铱p a n d b a n kf i n a n e i a li n s t i t u t i o n se n t e r p r i s ei n f o r m a t i o nc o n s t r u c t i o ni sa l s ob e i n g c o n s t a n t l yr e f i n e da n di m p r u v e d ,m e a n w h i l eb a n k i n gf i n a n e i a li n s t i t u t i o n sf o rf i n a n c i a l s e l f - e q u i p m e n t r e l a t e d a p p l i c a t i o n s o f t w a r e f i e x i b i l i t y , d e v e l o p m e n t o ft h e r e q u i r e m e n t s h a v e b e e n c o n t i n u o u s l yi m p r o v e d a n ds ot h es o f t w a r e s y s t e m m a n a g e m e n ta n dm a i n t e n a n c ew o r kh a r d e ra t t e n d a n ti n c r e a s es i g n i f i c a n t l y a s d i 雎r e n tf i n a n c i a ls e l f - e q u i p m e n ta c r o s st h er e g i o n ,c r o s s p l a t f o r mr e q u i r e m e n t s ,s o e q u i p m e n td i f i e r e n tt e r r a i n a lc l i e n ts o f t w a r em a n a g e m e n to p e r a t i o n sh a v eb e c o m e i n c r e a s i n g l yc o m p l e x , i n c r e a s i n g l yd i f f i c u l t t h es 3 f s t e ma d m i n i s t r a t o r sb u r d e nh a s i n c r e a s e dg r a d u a l l y s o f t w a r ed e l i v e r ym a n a g e m e n tp l a t f o r mi n c l u d e at h t e em a j o rs y s t 鲫m o d u l e s : z s d t w e bm a n a g e m e n ts y s t e m ,c o m m a n ds e r v e ra n dd o w n l o a ds e r v e r z s d t w e b m a n a g e m e n ts y s t e mu s i n gr a i l sf r a m e w o r k , t h es v s t e ma d m i n i s t r a t o rt oa c h i e v e t e r r a i n a lc l i e n t , p a c k a g e , t h et a s ko fp u b l i c a t i o no ft h eu n i f i e dm a n a g e m e n tf u n o t i o n s 谢t bh j g l l e 街c i e n c ya n ds c a l a h i l i t y :c e n t r a l s e l v e fp r i m 枷】y t h r o u g ht h ed a t a p e r s i s t e n c el a y e r r e a l i z ef u t u r em a n a g e m e n ts y s t e m sa n dr f f f f l o t et e r m i n a ic l i e n t i n f o r m a t i o ni n t e r a c t i o nb e t w e e ns a t i s f yt h ed a t ac o n s i s t e n c yr e q u i r e m e n t s ;d o w n l o a d s e r v e rh a sb e e nb u i l ts t o r a g ei n s t a l l a t i o no ft h e i v e l s o f t w a r e ,m e e tt h et r a n s m i s s i o n a n dd i s t r i b u t i o no fl a r g ea m o u n t so fd a t at r a n s m i s s i o nr e q u i r e m e n t s t h i sp a p e rd e s c r i b e sh o wt h eb a n ks o f t w a r ed i s t r i b u t i o nm a n a g e m e n tp l a t f o r mi s d e s i g n e da n di m p l e m e n t e dt h es o f t w a r ed i s t r i b u t i o nm a n a g e m e n tp l a t f o r mi st h em e s t p o p u l a ro ft h er a i l sf r a m e w o r kt h ef i r s te h a p t e ri st oa n a l y z et h em a n a g e m e n to f d i s t r i b u t e ds o f t w a r ed e v e l o p m e n tp l a t f o r mf o r l es t a t u sq u o a n dt h ea p p l i c a t i o no f b a c k g r o u n dk n o w l e d g e c h a p t e rt w od e t a i l e ds o f t w a r em a n a g e m e n tp l a t f o r m t e c h n o l o g yi sb a s e dp r i m a r i l yo nad e t a i l e da n a l y s i so ft h er a i l sf r a m e w o d 【c h a p t e r t h t e ei st h eo v e r a l ls v s t e ma r c h i t e c t u r ed e s i g n t h ed e t a i l e dd e s i g no f t h eo v e r a l ls y s t e m s t r u c n j r ea n dd a t ap e r s i s t e n c ed e s i g n c h a p t e rf o u ri sac e n t r a ls e r v e rd e s i g nm o d u l e d e s i g n e d w i t i lt h ee n d c l i e n tc o m m u n i c a t i o n p r o t o c 0 1 c h a p t e rf i v e i sd e s i g n e d d o w n l o a ds e r v e rm o d u l e , t h em a i nc o n s i d e r a t i o nt h e 仃a n s m i s s i o na n dd i s t r i b u t i o no f l a r g ea m o l j n t so fd a mt r a n s m i s s i o n c h a p t e rs i xd e t a i l e dd e s i g n e da n di m p l e m e n t e d z s d t w 曲m a n a g e m e r i ts y r s t e m t h el a s tc h a p t e rr e v i e w st h ed e v e l o p i n gp r o c e s sf r o m a r c h i t e c t u r e sa s p e c ta n dm a k e ss o m ep r o s p e c t k e y w o r d s s o f t w a r ed i s t r i b u t i o ns y s t e m , r a i l sf r a m e w o r k , m a n a g e m e n tp l a t f o r m , w e bf r a m e w o r k 浙江大学硕士学位论文 图目录 图目录 图1 1 软件分发管理系统的定义3 图2 - 1 m o d e l l 模式结构图7 图2 2m o d e l 2 模式结构图8 图2 3 j 2 e e 体系结构9 图2 - 4 r a i l s 架构图1 1 图2 - 5 r a i l s 的堆栈结构1 2 图2 - 6 r a i l s 前端控制器的u r l 映射1 3 图2 7 r a i l s 前端控制器继承一1 4 图2 8 r a i l s 的持久性框架:1 4 图3 1 软件分发管理平台架构一1 7 图3 2 管理平台的用例图1 8 图3 3 终端客户机分组与终端客户机的关系一2 2 图3 4 软件包在软件下载服务器上的存放一2 3 图3 5 任务的发布关系2 4 图4 1 命令服务器功能设计2 6 图4 - 2 命令服务器与终端客户机的交互2 9 图6 - 1 z s d t w e b 管理系统的功能划分3 6 图6 - 2 z s d t w e b 管理系统的四层架构3 8 图6 3 任务发布流程图4 0 图6 - 4 任务发布状态显示一4 2 图6 5 新建终端客户机流程图一4 3 图6 - 6 终端客户机安装流程图4 4 图6 - 7 终端客户机文件上传一4 6 图6 8 软件包发布流程一4 7 图6 - 9 配置终端客户机流程4 8 图6 - 1 0 用户模块登陆流程4 9 图6 - 1 1 增加系统管理员流程图5 0 图6 1 2 系统报表生成5 l 图6 1 3 生成报表文件流程图5 2 图6 1 4 报表界面示例图5 2 图6 - 1 5 系统日志生成模块5 3 i r 浙江大学硕士学位论文 表目录 表目录 表4 1 发布安装任务消息格式2 6 表4 - 2 接受安装状态消息格式2 8 表4 3 命令服务器与终端客户机的交互协议2 9 表4 - 4 安装反馈消息格式3 0 表4 5a t m 系统信息格式3 0 表5 1 下载服务器与终端客户机的交互协议3 4 i v 浙江大学硕士学位论文 第l 章绪论 第1 章绪论 1 1 研究背景 近二十年来,计算机软硬件技术与通信技术都得到了迅猛地发展,应用领域 也日趋广泛化和复杂化。特别是伴随着网络技术的快速发展、i n t e r n e t 在国民生 活中的广泛应用,人们现在可以通过网络访问到越来越多的资源和服务。随着国 民经济的迅速发展,以及国有,民营企业的规模和实力进一步壮大,在中国加入 世界贸易组织的浪潮冲击下,各企业开始面临着日趋严峻的全球化竞争。 随着网络的快速发展,整个金融系统在逐渐的进行着自我完善和改进。尤其 是银行机构对金融自助设备应用软件的灵活性、拓展性的要求也在不断的提高。 随着金融系统的不断扩大发展,金融自助设备逐渐遍布全国各个角落,而金融自 助设备上的软件管理维护工作的难度也随之大大地增加。同时随着系统规模的扩 大和系统复杂程度的增加,对自助设备系统中的各个服务器、客户端的软件管理 作业变得越来越复杂、越来越困难,管理员的负担也随之逐渐增大。由于金融自 助设备往往分布比较广泛,使得要进行一次全面的软件维护,例如,金融自助设 备中的各个系统软件的安装、升级、打补丁等,工作量变得非常巨大、时间较长、 成本也较高,这样一来就严重影响了银行系统的工作效率,给银行带来诸多不便, 也给网络的管理者带来了很严峻的问题和挑战。于是银行软件分发管理平台的建 立己日益成为阻碍银行信息化战略建设的一个关键。 本文主要是针对现有的技术条件下,对银行金融企业软件分发管理系统的系 统架构及其关键实现技术方法进行研究与设计,以满足企业级应用系统要求的具 有较强灵活性、适应性、可重用性和稳定性的需求,进而达到优化配置企业资源、 提高企业核心竞争力的目的。 1 2 软件分发管理系统概述 1 2 1 软件分发管理系统定义 随着计算机网络的迅速发展,各个企业都建立了企业内部网络系统来方便企 业内部的管理。而随着系统规模的不断扩大和系统复杂程度的不断增加,对系统 中分布于各个节点的计算机终端的软件系统管理变得越来越复杂。因为银行金融 机构的特殊性,它们的金融自助设备往往存在着跨地域性和跨平台性,如果单纯 浙江大学硕士学位论文第l 章绪论 通过系统管理员的手动管理,来对企业内部网络的所有客户端机器进行软件的安 装、升级、打补丁等操作,就大大的降低了企业的运作效率,自动化程度不高, 也会造成系统软件管理上的混乱。而随着时间的推移,连接在网络上的计算机之 间共享的软件资源的容量也变得巨大无比,于是,如何实现简单可靠的软件分发 管理也就成为成功搭建业务系统的关键。 软件分发管理系统必须满足以下几个要求: 管理员可以远程地监控整个网络的所有客户端计算机的软件安装、升级 情况。 实现终端客户机的分组管理,系统管理员可以实现远程主机的批量软件 安装、升级等操作。 多线程【l j 的自动断点续传功能可以提高软件分发管理的效率。 软件分发系统应该充分考虑到客户对软件分发的需求,彻底解决软件分发、 安装、升级等问题;在不同的服务器端就可以对各个终端的机器统一进行软件分 发、安装、升级等操作,从本质上减轻系统管理人员的负担,极大地提高银行金 融软件系统管理的效率,节省软件管理的成本,以及促进金融自助设备应用软件 的发展。同时自动化软件分发管理还可以避免因人工操作而带来的风险,大大地 提高银行网络管理的自动化程度,确保系统的安全和用户支持的自动化,提高管 理效率,使银行资产得到更好的保护,形成有效的内部控制。 2 浙江大学硕士学位论文 第l 章绪论 m a n a g e r 。陵 1 w n 亿a n ,默 哆刚可:惑匕,、 。回7同 幽妣 、 、 心书、 囤 a g e n t 图1 - 1 软件分发管理系统的定义 1 2 2 软件分发管理系统的特点 灵活的软件分发系统在分发软件时能够在不影响企业日常运作的情况下分 发标准化的软件。该系统可以非常方便的部署在中、小型和大型企业中,通过它 就能够方便地利用远程w e b 管理来分发应用程序和补丁等。自动的软件分发功能 能够使系统管理员不必亲自到客户端进行操作管理,快速简便的降低费用,并为 节约企业开支做出重要贡献。 因此一个好的软件分发系统,必须具有以下几个功能特点: 1 1 实现自动化安装 浙江大学硕士学位论文 第1 章绪论 在依照标准的策略实施完成后,软件分发模块能够标准化企业操作系统、应 用程序、大量减少存在的安全问题和面临的病毒威胁,也就减少了企业中需要的 技术支持次数。例如,发现冲突( 在安装过程中没有正确注册相应更改) 后,相 应文件会被自动修复到成功安装时的初始状态。此外,软件接口提供了一种安全 的“独占写入”的操作方式。用户只要能够下载就能够简单地推送任意软件而不 需要通过现场帮助。 2 1 减少远程帮助的响应时间 随着r r 系统的日趋复杂,我们需要一个能减少企业的远程帮助响应时间的解 决方案。软件分发系统的资源管理器需要提供一对一的软件分发辅助工具,能够 详细收集系统实时运行状态。此外,管理员能够通过周期性的基线比较发现与企 业标准相冲突的错误。 3 1 便捷的远程管理 软件分发系统需要支持多种接入方式,包括宽带网络( l a n ,w a l 4 2 b ,甚至于 拨号连接。同时对远程、移动用户接入提供动态带宽节省和断点续传功能。这些 功能能够使系统管理员通过较少的学习和简单的操作便捷的管理企业中所有客 户端,并有效地减少成本。可以非常直观、方便的定义和配置有关分发任务,这 种配置工作都是在友好的图形界面下完成的,尽可能地减少了人为失误。在管理 系统( m a n a g e r ) 上,可以统一管理分发到网络中各个系统中的软件资源的分发 状况,应用状况等。而且,还可以针对每个客户端,对软件资源的安装成功与否、 安装的状态( 转发完成、正在进行定时处理、正在应用、应用完成) 等进行管理。 在分发软件资源的时候、可以对下列处理分别设置时间表,定时运行。 从管理系统向代理系统进行文件传送时 从代理系统向客户段系统进行文件传送时 在客户端系统进行文件应用时 从而,客户可以定制灵活的时间表,在不影响其他业务的前提下进行有效的 文件分发处理。可以对分发目标系统和文件进行分组管理。在此之上,在创建组 的时候,组中也可以包括已经创建的其他多个组( 对组进行阶层化管理) 。 4 ) 多层分发 为了与真实银行金融企业管理结构相对应,可设置多层分发结构,其优点是 在跨网络的软件分发时,可以避免相同的软件包因为要发送到多个分发代理而在 广域网上多次传输,避免了诸多不安全因素。 服务器端可以对分发的过程进行多种控制:定制分发时间、选择软件包传输 4 浙江大学硕士学位论文 第1 章绪论 方式、定制分发策略。在服务器端可以对每个分发作业实现实时的状态监控和历 史作业查询。 5 ) 客户端控制 在一般情况下,安装分发代理的客户端只要连接在网络上,并保持开启状态, 就可以完成软件自动安装,不需要人工干预。在这个基础上,软件分发提供了更 大的灵活性,它允许客户端主动查询服务器上的软件包,来选择安装哪一个。可 以在无需人工干预的情况下将软件资源分发到各个客户端计算机上,并可以大幅 度削减维护作业的工作量。 6 ) 统一信息查询 可以查询所分发的文件目前位于哪个系统( m a n a g e r 、a g e n t 、c l i e n t ) 、处于 何种状态。所谓的文件状态包括:定时等待、正在进行应用前后处理、应用处理 完成( 正常异常) 等。查询的结果也可以输出到文件中。此外,也可以从控制台启 动信息查询程序。 1 3 本文的研究内容 木文的主要研究内容是针对银行金融系统软件分发平台的系统需求,在选用 r a i l s t 3 1 1 4 1 架构的基础上,对软件分发管理系统进行了体系结构设计和系统建模, 并对系统进行了详细的实现。结合银行金融系统的实际情况和现有的技术条件, 使软件分发管理平台具有一定的可重构性、可裁剪性、可扩展性,并且易于管理 员维护。本文的主要研究内容如下: 建立一个具有良好适应性的银行软件分发管理平台,该平台能适应银行 对系统的硬件环境、软件环境、软件分发管理内容和界面的要求,并可 根据客户需求使系统具有可扩展性。 研究应用r a i l s 技术来简化企业解决方案的开发、部署,提高软件的开发 效率和软件的可重用性,尽可能的缩短软件系统投放于市场的开发时间。 出于银行金融系统对安全性的严格要求,软件分发管理平台必须具有较 好的安全性,系统能够提供完善的安全管理与控制机制,实现系统运行 期间数据的可控访问。 软件分发管理平台需要具有良好的可维护性,系统应易于维护、安装, 并要提供一定的机制方便技术支持人员的快速响应。 1 4 本文的组织结构 第一章绪论,该部分提出了系统的研究背景和意义,并对国内外现有的软件 塑坚查兰塑主兰垡笙苎 苎三兰! ! ! l 分发系统进行了分析讨论。最后给出了本文的研究内容和组织结构。 第二章主要介绍了银行软件分发管理系统用到的关键技术,主要是分析讨论 了r a i l s 体系架构,以及该架构的应用现状。 第三章是系统的总体设计,该部分从系统需求出发,主要划分了系统的相应 功能模块,给出了系统的整体架构设计、系统的网络拓扑结构,以及数据持久层 的设计。 第四章是命令服务器的设计,该部分主要从功能需求出发,详细设计了命令 服务器,以及它与终端客户机的交互协议。 第五章设计了下载服务器,主要是考虑了软件下载的分布传输和大数据量传 输的特点。 第六章是软件分发管理系统的详细设计与实现,对各个功能模块作了详细的 分析与设计。 第七章总结与展望,对基于r a i l s 架构实现的银行软件分发管理平台的工作 进行了总结,并对今后的工作进行了进一步的展望。 6 浙江大学硕士学位论文 第2 章管理平台的技术基础 第2 章管理平台的技术基础 2 1w e b 架构综述 随着w e b 【5 技术的发展,w e b 的表现层架构现在主要有以下几种: s t r u t s l 6 1 ,川架构 j s f i t 1 8 1 1 9 1 技术 w e b w o r k 2 1 1 0 1 t a p e s t r y 儿1 传统的w e b 架构是基于m o d e l l t l 2 1 模式,它的结构如下图所示; 图2 1 m o d e l i 模式结构图 m o d e l l 的处理方式可以分为纯粹使用j s p 开发系统和使用j s p + j a v a b e a n 6 1 ,1 7 1 开发系统。就m o d e l l 而言,进行快速及小型的网络应用项目开发具有明显的优 势,缺点就是不易维护,扩展性也不好。 而m o d e l 2 则是采用m v c l l 2 】【1 3 1 ( m o d e l 。v i e w - c o n t r o l l e r ) 架构的开发模式。 其中m o d e l 指网络应用程序的逻辑层( 可以通过j a v a b e a n 、e j b 等组件实现) , v i e w 指网络应用程序的视图显示层( 通过r a i l s 里的k h t m l l 3 】1 1 4 1 1 1 5 1 来实现) , c o n t r o l l e r 是网络应用程序的控制层( 通常是s e r v l e t l l 4 】) ,这样就弥补了m o d e l l 模式所没有的重用性。 7 浙江大学硕士学位论文 第2 章管理平台的技术基础 q 童至童至童至至至互重童至誊至量至童至至至岁 图2 - 2m o d e l 2 模式结构图 2 2 企业系统解决方案 目前主要的企业级应用系统解决方案有微软的n e t 平台和s u n 公司的 j 2 e e 16 】【1 7 1 平台,这两种解决方案各有优点。其中,就平台独立性方面来说,由于 j a v a 在跨平台方面的优势,并且现在大部分的银行老系统都是运行在类u n i x 系 统上的,j 2 e e 就比n e t 平台显得有优势。并且从开发成本上来说,j a v a 是开源 的,很多j a v a 开源项目都是免费的,而n e t 的集成开发环境v i s u a ls t u d i o 价格 非常昂贵,这也是j 2 e e 架构的一个优势。下面就主要分析一下j 2 e e 的架构组成。 2 2 1j 2 e e 体系架构 j 2 e e 应用程序通常是依据功能来划分,而形成一个分布式的体系结构。它主 要包括以下四个部分: 运行在客户机上的客户端程序 运行在j 2 e e 服务器上的w e b 应用程序【埔l 运行在j 2 e e 服务器上的业务逻辑组件 运行在企业信息系统服务器上的企业信息系统软件 8 浙江大学硕士学位论文第2 章管理平台的技术基础 后 j 2 e e 应用程序j 2 e e 应用程序 擎户端层 应用程序客户端动态h t m l 页面 【 + ,、 ( j s p ) 2 e e 服务器 1 e j be j b 、【 图2 - 3 j 2 e e 体系结构 作为一个企业系统解决方案的j 2 e e 架构,它的核心组件主要包括: j d b c l l 9 1 2 0 1 ( j a v ad a t a b a s ec o n n e c t i v i t y ) 是用于执行s q l 语句的j a v a a p i 。它由一组用j a v a 编程语言编写的类和接口组成它是一个标准的 a p i ,为访问不同的数据库提供了一个统一的接口。 e j b 1 9 1 1 2 0 ( e n t e r p r i s ej a v ab e a n s ) 是j 2 e e 的核心技术,它是一种技术规 范,定义了构建应用组件要解决的可扩展、分布式、事务处理、数据存 储、安全性等要求,它简化了用j a v a 开发企业级的分布式组件应用程序 的过程。通过e j b ,我们能写出可扩展的、健壮的和安全的应用程序, 从而简化了具有可伸缩性和高度复杂的企业级应用的开发。 j s p t l9 l 【2 0 l ( j a v as e r v e r p a g e s ) :j s p 页面由h t m l 代码和嵌入其中的j a v a 代 码所组成。j s p 技术提供了一个简单、快速的方法来建立动态的网站, 它使开发基于服务器和平台独立的w e b 应用程序显得相当快捷。 j t a 1 9 】幽1 ( 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 定义标准的a p i ,为组件 提供了可靠的事务处理支持。 j a v as e r v l e t :是一些用来扩展w e b 服务器功能的小型j a v a 程序,它基于 请求响应( r e q u e s t r e s p o n s e ) 机制的,它从客户端来获取请求,将响应处 理后的h t m l 页面返回给客户端。 9 浙江大学硕士学位论文 第2 章管理平台的技术基础 2 3r a i l s 体系架构 2 3 1r a i l s 概述 r a i l s 3 1 是一个以m v c 架构为基础的w e b 开发体系框架,它可以使得w e b 应 用的开发、部署和维护更加的快速和高效。r a i l s 支持快速建立w e b 开发原型, 它是一个复杂、快捷和计划周密构建基于数据库驱动的网络应用程序的软件开发 平台。r a i l s 架构支持把数据库中的变化立即在视图显示层中反映出来,而不需要 写代码。这是通过a c t i v e r e o 【) r d l 3 1 1 2 1 】的概念实现的框架代码自动将业务对象 和数据库连接起来。这种方法通过整合到一个m v c 架构中得到了进一步发展一 一模型组件是a c t i v e r e c o r d ,并且它被视图显示层和控制器层使用。 1 0 浙江大学硕士学位论文 第2 章管理平台的技术基础 2 3 2r a i l s 架构分析 国图 图2 - 4 r a i l s 架构图 r a i l s 是一个用r u b v 【2 2 培言编写的全栈的、开源的w e b 架构,组件主要包括: w 曲服务器 r a i l s 架构有很多不同的w e b 服务器可以选择,比如a p a c h e ,w e b r i c k , l i g h t t p d 等。其中w e b d c k 是用r u b y 语言写的w e b 服务器,它是r a i l s 架 构默认选择的w e b 服务器。w e b r i e k 采用了s e r v l e t 的做法:用一个进程处 理所有并发请求,并为每个请求分配一条线程。 浙江大学硕士学位论文第2 章管理平台的技术基础 处理h t r p 请求和响应的框架 把数据持久存储到关系数据库 r a i l s 通过消除复杂的x m l 配置文件,使用r u b y 语言的动态性质,使得 开发的应用程序显得非常精简。 r a i l s w e b 融c k d i s p a l c h s e 1 e i 钞 i 删。n c 。咖l l e r 伟r h t m l 钞 la c t i v er e c 。r d m y s q l c o n t a i n e r m v c p e r s i s t e n c e d a t a b a s e 图2 - 5 r a i l s 的堆栈结构 从r a i l s 架构图,我们可以了解r a i l s 应用程序的组成。r a j l s 应用程序的组 成与m v c 2 设计模式的各个组成部分是相对应的,也主要分为模型、视图和控制 器三部分。 前端控制器a e t i o n c o n t r o l l e r 在r a i l s 架构中,动作请求主要是来自a c t i o n c o n t r o l l e r 类。r a i l s 没有依赖 特定的配置文件把请求映射到某一个动作,而是根据请求的u r l 来发现需要的 适当动作。从下图可以看到,u r lh t t p :1 0 c a l h o s t t a s k a d d 4 告诉r a i l s 调用 t a s k c o n t r o l l e r 实例上的a d d 方法,并将4 作为可用的实例变量。r a i l s 架构能 够知道t a s k 将映射到文件t a s kc o n t r o l l e r r b 中定义的一个控制器类。如果在前 端控制器中定义了f i n d 方法,那么只要用f i n d 替代u r l 中的a d d ,就可以调 浙江大学硕士学位论文 第2 章管理平台的技术基础 用这个方法。 h t t p :l o c a l h o s v t a s k a d d 4 图2 6 r a i h 前端控制器的u i l l 映射 在r a i l s 架构中,前端控制器主要负责接受请求,并把请求传递给特定的某 个动作。r a i l s 对u r l 请求中包含的信息进行了编码,然后用一个路由 ( r o u t i n g t 3 1 1 2 3 1 1 2 4 1 ) 子系统来判断应该如何处理这些请求。实际的路由过程非常灵 活,不过简而言之,r a i l s 会从中找到当前请求应该用哪个控制器来处理,并抽取 出别的请求参数通常其中的一个参数会指定要调用控制器上的哪个a c t i o n 方 法。同时还必须扩展a e t i o n c o n t r o l l e r :b a s e 类,为每个不同的请求创建新的实例 对象。会话、请求、标题和参数都可以作为a c t i o n c o n t r o l l e r 的实例成员来进行 访问。 浙江大学硕士学位论文第2 章管理平台的技术基础 图2 7 r a j l s 前端控制器继承 持久性框架a c t i v e r e c o r d a c t i v e r e c o r d 是r a i l s 所采用的o r m 3 1 2 5 眩。它完全遵循标准的o r m 模型: 表映射到类,记录映射到对象,字段映射到对象属性。与其他大部分o r m 库的 不同之处在于它的配置方式:它根据人们常用的命名惯例提供了很有意义的缺省 配置。a c t i v er e c o r d 可以天衣无缝的与r a i l s 架构的其它部分融为一体。如果一 个w e b 表单包含与业务对象相关的数据,a c t i v er e c o r d 就可以将其抽取出来、填 入模型对象。a c t i v er e c o r d 还支持复杂的模型数据验证,如果表单数据不能通过 验证,只需编写一行代码,就可以在r a i l s 视图中获取并格式化显示错误信息。 a c t i v er e c o r d 是用来在应用程序层和数据持久层之间交换数据。r a i l s 的持 久性框架可以归类为对象关系映射( o r m ) 工具,这意味着它们接受数据的对 象视图,并将该视图映射到关系数据库内的表中。 图2 - 8 r a i l s 的持久性框架 a c t i v e r e c o r d 是r a i l s 采用的对象关系映射( o r m ) 层。m a r t i nf o w l e r 将a c t i v e r e c o r d 描述为“包装数据库表或视图中数据行的对象,封装数据库访问,在数据 上添加域逻辑”【2 l l 。a c t i v e r e c o r d 采用了标准的o r m 模型:表映射到类,记录 映射到对象,字段映射到对象的属性。与别的大多数o r m 库相比,它最大的特 点在于配置的方式:a c t i v e r e c o r d 有一组相当好用的缺省设置,因此需要开发者 浙江大学硕士学位论文第2 章管理平台的技术基础 做的配置工作非常少。可以看到a c t i v er e c o r d ( p a i l s 的持久引擎) 和模型视图 控制器( m v c ) 框架之间进行了很好的集成。例如,我们可以编写三行代码, 创建一个表,然后就可以立即为该模型生成用户界面。 在r a i l s 中,每个域对象都将扩展提供c r u d 操作的a c t i v e r e c o r d :b a s e 。 当我们创建a c t i v e r e c o r d :b a s e 的一个子类时,就表示要对某个数据库表进行 封装。 缺省情况下,a c t i v e r e c o r d 会认为表名应该是类名的复数形式;如果类名包 含多个大写字母,表名中就应该用下画线分隔多个单词。此外,一些特殊的复数 形式也会被自动处理。这些原则折射出d h h 的理念:类名应该是单数形式,表 名则应该是复数形式如果不喜欢这样的行为,也可以在配置文件( c o n f i g 目录 下的e n v i r o n m e n t r b ) 中设置一个全局标记来禁用它: a c t i v e r e c o r d :b a s e p l u r a l i z e _ t a b l e _ n a m e s = f a l s e 视图展示层a c t i o n v i e w a c t i o n v i c w 模块主要是渲染模板、生成h t m l 或者x m l 给用户。它是m v c 中的视图( v i e w ) 部分。r a i l s 缺省支持两种模板,它们是: r x m l 2 6 模板,使用b u i l d e r 库构造x m l 格式的应答。 r h t m l 模版,实际上是r u b y 内建的、用于生成h t m l 的夹具,通常 用于生成h t m l 页面。 其中r h t m l 是非常好的模板语言,它将纯粹的h t m l 与嵌入的r u b y 代码组 合起来。r a i l s 应用程序界面的最表层外观通常是由c s s 样式表单控制的。v i e w 层模板可以由三种方式写成。有r h t m l 扩展名的模板文件混合使用e r b 和 h t m l ,r h t m l 格式是一种增强的h t m l 。实际上,一个简单的h t m l 文件本身 也是一个合法的r h t m l 模板,不过,不应该忽略r h t m l 为我们提供的脚本控 制。r a i l s 使用了个名为e r b 的模板解析引擎作为v i e w 的底层技术。可以 用r h t m l 文件来创建模板,它将使用标准的w e b 模板符号来生成基于静态h t m l 的服务端代码。在r h t m l 页面视图中,使用r u b y 代码段的常用方法是使用 和 来构造数据。两者的区别是r u b y 代码段的结果是否做为一个内嵌的 文本显示给用户。 r h t m l 是真正的模板格式不仅是在h t m l 中嵌入代码的方式这是 一种更为有效的方法。嵌入的脚本只是将代码与未被解释的h t m l 混合在一起; 模板引擎向h t m l 添加了一组定制的标签,这样我们就能够将条件、循环以及其 他逻辑作为增强的h t m l 标记的一部分来表示。 1 5 浙江大学硕士学位论文 第3 章管理平台的总体架构 第3 章管理平台的总体架构 3 1 设计目标 软件分发管理系统,研究和开发的目的在于管理银行在各终端客户机设备, 包括设备本身系统的维护、软件包的安装与卸载。z s d t 软件分发管理系统,主要 括z s d t w e b ,z s d t t r n s v r ,z s d t a t m s v r ,z s d t c m d s v r 这个几个部分。z s d t w e b 提 供了网页的访问方式,让用户可以发布软件至多个a t m 终端上,z s d t a t m s v r 为 驻留在a t m 机上的服务程序,响应相应的请求,进行软件的安装卸载等操作。 z s d t c m d s w 负责z s d t w e b 与z s d t a t m s v r 的通讯,z s d t w c b 的所有操作都会反映 到数据库的变化,z s d t c m d s v r 就根据数据库的情况,发送命令至z s d t a t m s v r , 并监听端口把相应的数据写入数据库,当z s d t w e b 打开相应页面的时候,就会把 更新的数据反应到页面上。z s d t t m s v r 是一个按块下载的服务器。软件发布的很 重要的一个部分,就是把需要发布的软件传输到多个a t m 机上。z s d t t r n s v r 就提
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论