(计算机软件与理论专业论文)基于web技术的业务系统生成环境的设计与实现.pdf_第1页
(计算机软件与理论专业论文)基于web技术的业务系统生成环境的设计与实现.pdf_第2页
(计算机软件与理论专业论文)基于web技术的业务系统生成环境的设计与实现.pdf_第3页
(计算机软件与理论专业论文)基于web技术的业务系统生成环境的设计与实现.pdf_第4页
(计算机软件与理论专业论文)基于web技术的业务系统生成环境的设计与实现.pdf_第5页
已阅读5页,还剩53页未读 继续免费阅读

(计算机软件与理论专业论文)基于web技术的业务系统生成环境的设计与实现.pdf.pdf 免费下载

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

文档简介

摘要 本文探讨了软件体系结构的基本内容和目前流行的两种体系结构,并对w e b 应用框架技术进行了详细的描述。本文的主要研究工作是设计并实现了一个新的 基于w e b 技术的业务系统生成环境,并利用该生成环境实现了客户的治安管理信 息系统。 论文的重点是针对基于w e b 技术业务系统生成环境的研发过程,对基于w e b 业务系统的功能需求、运行情况、维护与二次开发等进行充分的调研,在分析用 户需求、功能需求以及体系结构需求的基础上,从数据接口、权限控制、基本业 务模块、扩展业务模块、代码生成器以及安全性和系统优化等方面进行了详细的 设计,然后简要描述了部分设计的实现方法。最后介绍了该生成环境在w e b 业务 系统开发中的应用。 关键词:软件体系结构w 印应用框架w e b 业务系统生成环境 a b s t r a c t t h i sp a p e rd i s c u s s e sf u n d a m e n t a l sc o n t e n t so fs o f t w a r ea r c h i t e c t u r ea n dt w o k i n d so fp o p u l a ra r c h i t e c t u r e sa tp r e s e n t ,a n dc m - r i e so u td e t a i l e dd e s c r i p t i o no nt h e t e c h n o l o g yo fw e ba p p l i c a t i o nf r a m e w o r k t h em o s t l yp r o d u c t i o no ft h i sp a p e ri st h a t an e wb u s i n e s sg e n e r a t i o ne n v i r o n m e n tu s i n gw e bt e c h n i q u eh a sb e e nd e s i g n e da n d i m p l e m e n t e d ,a n dt h ep u b l i cs e c u r i t yi n f o r m a t i o nm a n a g e m e n ts y s t e mh a sb e e n s u c c e s s f u l l yi m p l e m e n t e dw i t ht h eb u s i n e s sg e n e r a t i o ne n v i r o n m e n t i nt h ec o u r s eo fd e v e l o p i n gt h eb u s i n e s sg e n e r a t i o ne n v k o n m e n tu s i n gw e b t e c h n i q u e ,i th a sb e e ni n v e s t i g a t e ds u f f i c i e n t l yo ff u n c t i o nr e q u i r e m e n t ,o p e r a t i o na n d s e c o n d d e v e l o p m e n ta d e q u a t e l y o nt h eb a s i sa n a l y z i n gt h eu s e rn e e d ,f u n c t i o nn e e d a n ds y s t e ms t r u c t u r en e e d ,t h e r ea r ed e s i g n e dd e t a i l e do fd a t ai n t e r f a c e ,a c c e s sc o n t r o l , f u n d a m e n t a lb u s i n e s s m o d u l e ,e x p a n d i n gb u s i n e s sm o d u l e ,c o d eg e n e r a t i n g i m p l e m e n ta n ds e c u r i t ya n ds y s t e mo p t i m i z a t i o n a n di ti sb r i e fd e s c r i b e dt h a tt h e i m p l e m e n t a t i o nm e t h o do fp a r t i a ld e s i g n s a l lo ft h e s ea r et h ee m p h a s e so ft h i sp a p e r f i n a l l y , t h ea p p l i c a t i o no ft h i sg e n e r a t i o ne n v i r o n m e n ti nw e bb u s i n e s sd e v e l o p m e n t i si n t r o d u c e d k e y w o r d s :s o f t w a r e a r c h i t e c t u r e ;w e b a p p l i c a t i o nf r a m e w o r k ; w e bb u s i n e s s ;g e n e r a t i o ne n v i r o n m e n t ; 创新性声明 本人声明所呈交的论文是我个人在导师指导下进行的研究工作及取得的研究 成果。尽我所知,除了文中特别加以标注和致谢中所罗列的内容以外,论文中不 包含其他人已经发表或撰写过的研究成果;也不包含为获得西安电子科技大学或 其它教育机构的学位或证书而使用过的材料。与我一同工作的同志对本研究所做 的任何贡献均已在论文中做了明确的说明并表示了谢意。 申请学位论文与资料若有不实之处,本人承担一切相关责任。 本人签名:益蝗熔 关于论文使用授权的说明 日期 研多矿日期:f 纠皇! 本人完全了解西安电子科技大学有关保留和使用学位论文的规定,即:研究 生在校攻读学位期间论文工作的知识产权单位属西安电子科技大学。本人保证毕 业离校后,发表论文或使用论文工作成果时署名单位仍然为西安电子科技大学。 学校有权保留送交论文的复印件,允许查阅和借阅论文;学校可以公布论文的全 部或部分内容,可以允许采用影印、缩印或其它复制手段保存论文。( 保密的论文 在解密后遵守此规定) 本学位论文属于保密,在一年解密后适用本授权书。 本人签名: 导师签名: 日期:塑! z 兰:盂 日期:丝! ! :! :! 第一章绪论 第一章绪论 1 1 课题背景 近几年随着互联网的飞速发展,企业大力加强信息化建设,大部分企业把自 己的管理平台都基于互联网来实现,许多企业都要求建立自己的w e b 业务系统或 将现有的业务系统改造成w e b 形式。以w e b 业务系统为核心的企业内部网或外部 网正吸引着越来越多的企业。低成本、简单易用的客户浏览器能随时随地连接到 企业的w e b 站点上查阅自己所需的数据。客户端操作界面的一致性以及服务器端 系统维护的简便性和基于标准的连接方案,大大加强了企业与外部的联系。同时, 动态的、交互式的信息发布改进了企业对客户的服务质量,增加企业的商业机会。 虽然这些w e b 业务系统因具体业务不同,在页面表现和后台处理会有所不同, 但从软件开发的角度看,这些系统的开发过程大致是相同的。当前,在开发这些 w e b 业务系统时,软件开发人员不断重复着一些不必要且浪费很多时间的技术性 劳动,很多软件企业都没有考虑到抽象出开发过程中的一些共性来改变这种现状。 系统研发中,开发一个功能,5 0 以上的精力都放在前台页面设计上,而且客户 对前端需求变化最快,按传统的方式来开发,效率低,成本高。尤其是针对激烈 竞争的市场,用户对系统需求的快速变化是应用软件前期研发和后期维护中最大 难题。种种问题都表明,软件开发商对开发效率提出了更高的要求,需要一种新 的在线设计的开发模式来支持应用软件的快速开发与快速修改。 开发这些相似的应用系统时,如何减少其中的重复劳动,提高生产率对软件 企业来说是至关重要的,其中一个有效的解决方法就是开发一个通用的w e b 业务 系统生成环境,屏蔽技术上的实现细节,形成一个标准的软件开发过程。该业务 系统生成环境要求具备企业级的w e b 应用开发框架,设计它的目的是从整体上减 轻构造企业w e b 应用的负担。 1 2 国内外研究现状 目前,在全社会信息化建设的大趋势下,企业和政府部门的管理系统、业务 系统等信息化自动化建设也如火如荼的进行。软件的研发部门也紧紧围绕这一市 场需求展开了一系列的研发工作,推出了很多结构合理、性能高的业务系统,同 时对业务系统的开发又有了更深层次的理解和认识,尝试重新设计业务系统的体 系结构,整合系统中重复的操作,并开发出具有一定优势的业务系统生成环境。 目前用户市场对业务系统的需求“1 如图1 所示: 2 基于w e b 技术的业务系统生成环境的设计与实现 图1 1 企业对信息系统建设的需求 具有以下几个方面的表现: ( 1 ) 用户对前台页面要求高,而且前台页面需求的变化快,迫使研发中有近 5 0 9 6 以上的精力都投入在前台页面设计与实现上。与之对应的矛盾是应用软件开发 7 0 左右的工作量都是在做一些基础的,重复性的工作,而真正与业务相关的工作 不到3 0 0 6 ,正是这些重复烦琐的工作使得开发效率很低,难以应对市场需求。 ( 2 ) 用户的功能需求变化快,迫使业务系统研发中额外增加工作量或者是前 期部分工作没有继续的意义。造成研发的不连续,应用系统很难适应需求的快速 变化。 ( 3 ) 业务系统的结构越来越复杂,构件层次更复杂,数据间的交流更频繁。 如果业务系统的总体构架和业务流程以及数据接口设计不足,可能会严重影响整 个业务系统的研发进程。 针对市场对w e b 业务系统的新需求,目前国内外基于w e b 业务系统生成环境 的研究很多,而且成熟的产品也比较多“”,应用也很广泛,共同特点归纳有以 下几个方面: ( 1 ) 简单易用:生成环境提供了可视化的表格定义,国内产品基本上全采用 全中文菜单,鼠标拖放式操作,并将复杂的w e b 程序设计屏蔽掉,用户只要通过 鼠标点按和对话框填写就可以方便地制作出业务表单。 ( 2 ) 大多采用模块化,提供了丰富的页面模块和业务模块,并可在线进行完 全可视化j s p 页面设计,实现真正的所见即所得。可以直接在线定义与运行,也 可以生成完整的j a v a 代码与j s p 代码,简单快速高效。 ( 3 ) 独立运行。通过运用生成环境得到的业务系统,已经具备了w e b 业务系 统的基本功能,由b s 运行器解释运行,各项配置文件一旦设计完成就不再依赖 于生成环境,可交付用户,由运行器独立执行。从而得到用户希望的w e b 业务应 用系统。 随着客户需求的不断变化和计算机技术的发展,这些业务系统的不足也日益 明显,主要有: 第一章绪论 3 ( 1 ) 核心功能简单。大多数业务生成环境的功能只是完成了对数据库的基本 操作,如数据录入、删除、查询等操作代码的集成,而且还是针对单一表结构, 不能适应市场的需求。 ( 2 ) 数据库设计不够完善,目前的业务系统生成环境,基本上采用了软件开 发人员指定的数据库,以此为基础展开生成环境的研发,这就限制了用户的需求。 ( 3 ) 流程控制不健全。w e b 业务系统中操作的核心是数据,而业务数据的流 程即工作流在现实的办公系统中尤为重要,但多数生成环境都没有工作流控制的 功能模块。 ( 3 ) 最终产品单一。现行的业务生成环境,最终生成的代码,都是j a v a 代 码,或者j a v a + j s p ,有少部分是a s p n e t 代码,但都是只能生成一种编程语言的 代码,市场需求面比较窄,如果用户需求为其它编程语言代码时,要不选用别的 生成环境,要么再设计开发一套新的业务生成环境。 1 3 论文研究内容 基于w e b 的业务系统目前发展很迅速,市场需求前景广阔,但不同客户需求 的不同,就要求技术人员对业务系统重新进行设计与实现。 如何能够快速组织大规模的应用开发,使数量众多的软件开发人员在开发过 程中有效地合作? 并且能够缩短项目周期、降低项目的投入,并按时、保质、不 超预算的将项目交付给客户? 同时能够让开发出来的系统能够同时拥有软件的可 移植性、可扩展性、灵活性和安全性? 有效解决办法就是设计并实现一个基于w e b 技术的业务系统生成环境,具有良好的软件体系结构、更多的技术积累和经验积 累、强大的项目处理。研发人员能从总体上把握基于w e b 技术业务系统的开发规 律与特点,并根据此生成环境,方便、快速、高效地开发基于w e b 的业务系统。 作者参与了基于w e b 的业务系统生成环境的设计与实现,在设计中提出了业 务系统生成环境的主体框架与功能模块,并利用该生成环境实现了客户所要求的 业务系统的开发工作。 作者首先对软件体系结构、框架、设计模式、面向对象技术等理论进行 了初步探讨,并对w e b 应用系统的共同行为进行了分析。 在业务系统生成环境的需求分析与设计中,作者先对基于w e b 技术的业 务系统生成环境的用户需求、功能需求等进行了分析,然后,对该生成 环境的各个功能模块,从n e t 技术支持到功能模块设计的每个细节,分 别进行了详细地阐述。 在业务系统生成环境的实现中,作者选取了几个关键的功能模块,对其 实现方法进行了描述。 4 基于w e b 技术的业务系统生成环境的设计与实现 最后,作者利用该基于w e b 技术的业务系统生成环境,实现了客户要求 的业务系统。 在“基于w e b 技术的业务系统生成环境”和“客户业务系统”的开发中,作 者参与了系统的分析、设计、实现、测试、发布的全过程。现在,由基于w e b 技 术的业务系统生成环境所生成具体的业务系统己通过国家有关部门的评审,投入 行业的应用中。 1 4 论文的章节安排 第一章介绍了课题背景和内容;第二章分析了软件体系结构的发展和w e b 应 用框架,重点介绍了w e b 应用框架的体系结构;第三章对基于w e b 技术的业务系 统生成环境的需求进行了分析,并给出详细的功能设计;第四章是基于w e b 技术 的业务系统生成环境的实现,描述了几个关键功能模块的实现方法;第五章是该 生成环境在实际项目中的应用介绍;第六章对本文作了一个总结,分析了本课题 研究的生成环境的优点和不足以及如何改进。 第二章软件体系结构与w e b 应用框架 5 第二章软件体系结构与w e b 应用框架 随着软件系统规模的增大和复杂度的提高,整个软件系统的体系结构和规格 说明显得越来越重要。对软件体系结构系统深入的研究将会成为提高软件生产率 和解决软件维护问题的新途径。 面向对象的软件复用技术是软件复用的一种重要方式,框架( f r a m e w o r k ) 是基于面向对象软件复用技术的、能够解决特定领域一系列相关问题的、抽象设 计的类的集合。框架的一个重要特征就是能够为特定领域的软件系统提供一个通 用的、优良的软件体系结构,同时,框架也是软件体系结构一个重要的研究领域。 基于框架的软件开发技术对特定领域复杂系统的高可靠专用软件的开发具有很高 的实用价值,为特定领域的软件开发提供了一种强有力的技术支持【3 l 【4 】。 w e b 应用框架技术就是利用面向对象的软件复用技术解决w e b 应用领域的 相关问题的一种框架技术。w e b 应用框架位于业务系统生成环境之上,为w e b 应用系统提供通用的体系结构和具有共性的操作。w e b 应用框架不仅可以提高 w e b 应用系统开发的效率,还可以节省项目的开发成本、缩短项目的开发周期、 降低项目管理的难度和风险、提升项目和产品的交付质量,使得w e b 应用开发 项目更容易获得成功。 因此,w e b 应用框架与软件体系结构、框架有着千丝万缕的联系,本章就对 w e b 应用框架与软件体系结构、框架以及有关的软件复用技术、设计模式等进行 初步的探讨。 2 1 软件体系结构 2 1 。1 软件体系结构的定义 众多的研究者和组织从不同的角度给出了有关软件体系结构的定义。到目前 为止,还没有个统一的、公认的定义,其中使用最多的是b a s s 、e l e m e n t s 、k a z m a n 在1 9 9 7 年给出的定义:“一个程序或计算系统的软件体系结构就是:这个系统的 个或多个结构,包含软件组件、这些组件的外部可视属性、以及组件之间的关 系”【5 j 。可从四个方面理解该定义:首先,软件体系结构定义了组件以及组件之 间如何交互的信息;其次,系统可由多个结构组成。该定义没有规定组件和关系 的具体含义,所以组件可以是一个过程、数据库、一个商用产品等;第三,每个 软件系统都有一个体系结构;第四,每个组件的行为都是体系结构的一部分,是 6 基于w e b 技术的业务系统生成环境的设计与实现 组件之间交互的基础。 软件体系结构研究的主要目的是:提高相关产品族中不同产品之间潜在的共 性,降低应用系统开发成本1 6 1 。 2 1 - 2 软件体系结构主要研究领域 软件体系结构的研究目前主要的有两类:一类是由基础研究团体引导的偏 重于理论性的尝试,如体系结构风格( a r c h i t e c t u r es t y l e ) 和体系结构描述语言 a d l ( a r c h i t e c t u r ed e s c r i p t i o nl a n g u a g e ) 3 3 】。另一类是在软件开发实践中提出的 如设计模式( d e s i g np a t t e r n ) 、框架( f r a m e w o r k ) 、特定领域软件体系结构d s s a ( d o m a i ns p e c i f i cs o f t w a r e a r c h i t e c t u r e ) 3 4 1 和标准体系结构掣7 】。 ( 1 ) 体系结构风格和体系结构描述语言 两者都试图解决软件系统的基本结构问题,并尽量为软件体系结构提供一个 数学基础。体系结构风格试图找出需要哪类组件和连接子并将他们的特性形式化。 a d l 以组件和连接子的形式为软件体系结构提供一种描述技术【3 】。 ( 2 ) 设计模式 设计模式描述基本的设计思想;在特定上下文里描述特定的设计问题和对应 的正确解决方案。与d s s a 和框架不同,设计模式并不局限于某一个具体的应用 族。它描述的是解决方案的模式而不是具体的解决方案,在应用这些模式时需要 进行实例化。 ( 3 ) 框架 框架提供通用的软件设计和实现,可以不必改变它的体系结构就使它能调整 到适应特定的应用需求。框架是与实现相关的,它实际上是一个实现了公共功能 和具备成熟控制流的预制的软件系统,还需要编写部分代码来满足特定的功能需 求并将之集成到特定的位置。框架可以复用代码和设计。广义的框架包括从仅有 几个类组成的小组件到可运行的软件系统。 ( 4 ) 特定领域软件体系结构 d s s a 目的在于复用一个特定应用领域的整个软件工程过程的结果。d s s a 是特定应用领域中已被证明的设计方案和设计标准,虽然d s s a 和框架都是针对 特定应用领域,但它们的抽象层次是不一样的。d s s a 关心软件系统的基本结构 问题但不关心实现问题,而框架的抽象层次已相当接近于实现。 ( 5 ) 标准体系结构 标准体系结构的研究集中于每个应用都要使用的技术和服务,主要是公共服 务,例如:通讯服务、数据访问和用户接口的设计等。它在公共服务、操作系统 的基础上建立一组高层接口来将不同的产品和技术集成起来。 第二章软件体系结构与w e b 应用框架 7 本论文所阐述的w e b 应用框架正是对w e b 应用领域框架的研究与开发。 2 1 3 软件体系结构与软件复用的联系 软件体系结构从系统的全局支持软件复用。软件体系结构的描述注重于对特 性和关系的识别,所以根据体系结构关于组件和组件之间关系的详细描述,可以 方便地找到可复用的组件,同时也了解了组件的使用环境,从而提高了复用的准 确性。此外,软件体系结构支持多级复用,既支持较大组件的复用,如子系统的 复用,也支持组件集成框架( f r a m e w o r k ) 的复用| 9 】。 软件体系结构的研究改变了软件的开发模式,基于软件体系结构的软件开发 侧重于“拆卸”和“组装”各种相互独立的软件组件,这一点与目前基于组件的 软件复用方式是一致的。这种开发模式的一个突出特点是可替换性,即具有把外 部独立开发的组件“嵌入”到本系统的能力。随着组件技术的不断完善和组件数 量的逐渐增加、组件库的统一管理、组件复用度、匹配度等方面的进一步研究, 软件体系结构技术与组件复用技术的结合必将在一定程度上改变软件产业结构。 从以上分析可以得出,软件体系结构不仅提高了软件复用的抽象层次,而且 提高了复用的粒度。因此,软件体系结构的研究对软件工程的发展及软件复用技 术的进步起着不可忽视的作用。 2 2 两种体系结构 2 2 1 三层和多层分布式体系结构 由于客户机服务器计算模式中两层模型自身不可克服的缺陷,使得它们难以 满足应用中复杂业务逻辑的划分和设计。为了解决两层中的问题,软件业界开发 了3 层体系结构。应用程序被分解成三个不同的逻辑层,各层都有一组定义好的 接口。每一层对应于一个特定的应用程序功能,他们之间使用定义明确的、可判 定的方式进行通信。三层体系结构如图2 1 所示。 表示层l 1 厂一 l 中间层1 厂一 f 数据层l 图2 1 三层体系结构示意图 8 基于w e b 技术的业务系统生成环境的设计与实现 三层体系结构中,将整个应用系统分为了表示层( p r e s e n t a t i o nl a y e r ) 、中间 层( b u s i n e s sl a y e r ) 和数据层( d a t al a y e r ) 。 表示层是应用系统的用户界面,是用户与系统进行交互的接口。一般由一 个图形用户界面或者类似的事物组成。 中间层也称业务层,由应用程序或者业务逻辑构成,是业务系统的核心部 分,它控制着整个业务系统的处理流程,对来自表示层的不同请求进行响 应并进行相应的处理,处理以后将相应的结果格式化为用户可以阅读的方 式返回表示层。 数据层包含的是应用程序需要的数据。这些数据可以包含任何信息源,其 中包括像o r a c l e 或者s y b a s e 这样的关系数据库,也可以是一组x m l 文 档甚至是像l d a p 服务器这样的目录。 将应用程序逻辑按照功能进一步划分,可以形成4 层甚至多层次体系结构。 如对三层中的中间层划分为表示逻辑和业务逻辑两个子层,表示逻辑子层处理与 表示层( 用户界面) 的通信,定义用户界面显示的内容以及对用户的请求如何进 行处理,而业务逻辑子层确定了应用程序的业务规则,程序经常通过业务逻辑层 访问企业数据。 相对于传统的两层软件体系,多层分布式体系有以下特点: 安全性:中间层隔离了客户直接对数据服务器的访问,保护了数据库的安 全。 稳定性:对于要求2 4 x 7 工作的业务系统,多层分布式体系提供了更可靠 的稳定性:一是中间层缓冲c l i e n t 与数据库的实际连接,使数据库的实际 连接数量远小于c l i e n t 应用数量。当然,连接数越少,我们的数据库系统 就越稳定。二是f a i l r e c o v e r 机制能够在一台服务器崩溃的情况下,透明 地把客户端工作转移到其他具有同样业务功能的服务上。 易维护:由于业务逻辑在中间服务器,当业务规则变化后,客户端程序基 本不做改动。 快速响应:通过负载均衡以及中间层缓存数据能力,可以提高对客户端的 响应速度。 系统扩展灵活:基于多层分布体系,当业务增大时,可以在中间层部署更 多的应用服务器,提高对客户端的响应,而所有变化对客户端透明。 自从上个世纪8 0 年代后期以来,基于客户机服务器的软件体系结构己经被 广泛应用。特别是近年来,这种多层的软件体系结构的应用日益广泛,但是并不 是说每个应用都必须采用多层模型。对于具体的应用来说,应该选择最适合的软 件架构模型,选择的标准包括业务规模、用户数量、价格、当前和未来的计算环 境、数据平台的异构程度等因素。以便在软件体系结构的复杂性和可用性之间做 第二章软件体系结构与w e b 应用框架 9 一个权衡,以最少的代价带来最大的收益才是提供一个好的解决方案的务实而可 行的做法。 2 2 2b s 软件体系结构 b s 软件体系结构,即b r o w s e r s e r v e r ( 浏览器服务器) 结构,随着i n t e r n e t 和w e b 技术而兴起,是基于c s 的体系结构的一种变化或者改进的结构。在b s 体系结构下,客户端完全通过w e b 浏览器实现,一部分事务逻辑在前端实现,但 是主要事务逻辑在服务器端实现。 w e b 浏览器是一个用于文档检索和显示的客户应用程序,并通过超文本传输 协议h 兀甲协议与w e b 服务器相连。低成本、简单易用的客户浏览器能随时随地 访问企业的w e b 站点上,查阅自己所需的数据。客户端操作界面的一致性克服了 两层结构c s 模式中客户端多种程序所带来的企业资料的不一致性,而服务器端 功能维护的简便性和基于标准的连接方案,大大加强了企业与外部的联系,同时, 动态的、交互式的信息发布改进了企业对客户的服务质量,增加企业的商业机会。 b s 体系结构主要是利用不断成熟的w e b 浏览器技术,结合浏览器的多种脚 本语言,用通用浏览器就实现了原来需要复杂的专用软件才能实现的强大功能, 并节约了开发成本。基于b s 体系结构的软件,系统安装、修改和维护全在服务 器端解决。用户在使用系统时,仅仅需要一个浏览器就可运行全部的模块,真正 达到了“零客户端”的功能,很容易在运行时自动升级。b s 体系结构还提供了 异种机、异种网、异种应用服务的联机、联网、统一服务的最现实的开放性基础。 基于b s 体系结构的w e b 应用程序也是基于多层的。在三层结构的w e b 技 术中,数据库不是直接服务每个客户机,而是与w e b 服务器相沟通,实现了对客 户信息服务的动态性、实时性和交互性。这种功能是通过诸如c g i , i s a p i , n s a p i 以及j a v a 创建的服务器应用程序实现的。w e b 服务器既充当客户的“代理”,又 是数据库的客户机。它将不同来源、不同格式的信息汇集成统一界面,提供给客 户端浏览器。 如果在应用系统中涉及到复杂的业务处理时,也需要在数据库和w e b 服务器 之间增加专门的应用服务器处理业务逻辑,从而形成了多层次的w e b 业务系统。 2 3w e b 应用框架 2 3 1 w e b 应用框架的概念及特征 w e b 应用框架技术就是利用面向对象的软件复用技术解决w e b 应用领域的 1 0 基于w e b 技术的业务系统生成环境的设计与实现 相关问题的一种框架技术。w e b 应用框架位于业务系统生成环境之上,为w e b 应用系统提供一个通用的体系结构和一些共同的操作,例如请求分派、调用商业 逻辑和选择组装视图【1 0 l 。 由于w e b 应用框架是框架的一个具体实例,所以它具有框架的所有特点, 即模块化、可复用性、可扩展性、反向控制等特点。同时,w e b 应用框架又有其 自身的特点: 与w e b 开发平台相关。目前,w e b 应用系统开发中出现了两大阵营, 即s u n 公司的j 2 e e 平台与m i c r o s o f t 公司的n e t 平台,随着w e b 开发 的平台、以及平台所提供的服务的不同,基于各平台的w e b 应用框架之 间的差异很大。本文只论述基于n e t 平台的w e b 应用框架。 与w e b 应用的分布式特点有关。w e b 应用是一个复杂的b s 结构的分 布式的应用,其分布式和b s 结构的特点导致w e b 应用框架必须考虑分 布式应用的特点,即多种客户终端、一个或多个应用服务器、传输协议、 网络性能等等。 与w e b 应用的处理模式有关。由于w e b 应用系统的处理模式贞酽请求一 响应”,因此,w e b 应用框架的内在请求处理流程必须是“请求一响应” 模式。 与w e b 应用的体系结构有关。由于m v c 模式在w e b 应用系统体系结 构中优良的表现,使得w e b 应用框架必须考虑m v c 模式。 与w e b 应用的开发方式有关。w e b 应用系统是一个复杂的b s 结构的 分布式的应用,因此w e b 应用的开发一般涉及到多个开发角色,如客户 端视图显示开发角色、w e b 层控制流程开发角色。为了提高w e b 应用 系统的开发效率,w e b 应用框架必须考虑使不同开发角色并行开发。 与w e b 应用的发展趋势有关。w e b 应用系统的发展必将涉及到国际化 的需要、多种类型乃至未来未知类型的客户终端的需要,因此,w e b 应 用框架的设计也必须考虑到这些因素。 2 3 2 w e b 应用框架的体系结构 模型一视图一控制器( m v c ) 是八十年代为编程语言s m a l l t a l k 一8 0 发明的一种 软件设计模式“。基于w e b 的应用系统,多数都利用m v c 模式来实现其体系结构。 f ,c 架构把数据处理、程序输入输出控制及数据显示分离开来,并且描述了 不同部件的对象间的通信方式。使得软件可维护性、可扩展性、灵活性以及封装 性大大提高。m v c ( g o d e l v i e w c o n t r o l l e r ) 把系统的组成分解为m ( 模型) 、v ( 视 图) 、c ( 控制器) 三种部件。模型包含业务功能和数据;视图表示数据在屏幕上 第二章软件体系结构与w e b 应用框架 1 1 的显示;控制器提供处理过程控制,它在模型和视图之间起连接作用。控制器本 身不输出任何信息,也不做任何处理,它只负责把用户的请求转成针对m o d e l 的 操作,和调用相应的视图来显示m o d e l 处理后的数据。三者之间关系如图2 2 所 示: 图2 2i v i v c 模式结构图 m v c 设计模式提供了很多设计上的优势。m v c 设计模式分离了设计中的焦点 ( 数据的持久和行为,数据的显示,数据的控制) ,减少了代码的重复,集中了控 制,并使得应用更加容易维护。m v c 设计模式可以帮助精通不同技术的开发者能 够集中于他们的核心技术,并可以通过预先定义的接口进行合作。 a s p n e t 提供了很好实现这种模式的类似环境。“。通过在a s p x 页面中开发用 户部件或继承母板页m a s t e rp a g e 来实现视图;控制器的功能一般可以放在对应 的逻辑功能代码( c s ) 中实现;模型通常对应应用系统的业务部分。模型一般包含 业务逻辑、业务规则和数据访问层。m v c 可和经典的n 层结构配合使用。将用户 显示( 视图) 从动作( 控制器) 中分离出来,提高了代码的重用性。将数据( 模型) 从对其操作的动作( 控制器) 分离出来可以设计一个与后台存储数据无关的系统。 就m v c 结构的本质而言,它是一种解决耦合系统问题的方法。实现基于m v c 的应 用需要完成以下步骤,如图2 3 所示: 基于w e b 技术的业务系统生成环境的设计与实现 图2 3 删c 在a s p n e t 中的实现流程 1 、分析当前应用,分解系统功能: 分析当前应用问题,分离出系统的内核功能( m o d e l ) 、系统的输入输出 ( v i e w ) 、系统的流程控制、行为控制等控制功能( c o n t r o l l e r ) 三大部分。 2 、设计和实现模型: 设计模型部件使其封装应用功能、属性。提供访问显示数据的操作,提供控 制内部行为的操作以及其他必要的操作接口。这部分的构成与具体的应用问题紧 密相关。 3 、设计和实现视图: 设计每个视图的显示形式,视图从模型中获取数据,并将数据显示在屏幕上。 提供发送用户请求给控制器;提供允许控制器选择视图。 4 、设计和实现控制器: 对于每个视图,实现对用户的请求映射到模型。并根据模型处理结果,选择 合适的视图显示。在模型状态的影响下,控制器使用特定的方法接受和解释这些 事件。控制器的初始化建立起与模型和视图的联系( 这里一般会用观察者模式) , 并且启动事件处理机制。事件处理机制的具体实现方法依赖于界面的工作平台。 2 3 3 利用w e b 应用框架开发w e b 应用系统的优势 w e b 应用框架可以提高w e b 应用系统开发的效率,使得w e b 应用系统开发者 可以集中精力开发系统所需的商业逻辑,而不必耗费精力在一些w e b 应用系统共 同的操作上。具体的说,一个w e b 应用框架可以为w e b 应用系统的开发提供以下 优势: 为w e b 应用系统提供优良的软件架构。w e b 应用框架根据面向对象框架的 软件复用理论和w e b 应用系统共同的特征,利用一定的、经过实践检验 的架构模式将w e b 应用的体系结构进行固化,从而为w e b 应用系统提供 第二章软件体系结构与w e b 应用框架 优良的软件架构。 更大的分离显示与逻辑。框架将显示和逻辑分离为不同的模块,分别处 理应用的显示和逻辑,应用开发者只需对不同的模块进行填充即可,从 而更大的分离显示与逻辑。 分离开发者的角色。通常,应用框架为不同的开发者提供不同的接口。 显示模块的开发者只需集中精力在a s p n e t 等显示页面的开发,同时, 逻辑开发者只需关注请求的处理和商业逻辑的开发。这种分离使得应用 开发者可以并行的、互不依赖的开发应用系统。 能够提高w e b 应用系统开发的效率。框架可以为开发者提供一组高效的、 通用的视图处理和逻辑处理方面的组件,同时,还可以利用配置文件将 系统的控制功能进行配置,从而减少开发者的代码,提供系统的开发效 率。 方便模块测试和维护。由于框架为各模块的交互提供的接口是统一的, 降低了各模块的耦合性,从而方便系统按模块进行测试和维护,也方便 系统进行自动化测试。 框架可以提供丰富的应用系统公用的功能模块。例如,框架可以提供视 图模板、界面功能、出错处理、日志、安全、事务、消息、邮件等支撑 功能。 不仅如此,除了技术上的优势之外,w e b 应用框架也给开发的项目管理工作 带来了深刻的变化,主要表现在下述几方面: 降低项目的开发成本。由于更明晰的划分了开发团队中的角色,每个角 色所承担的工作都很专一,从而降低了开发人员的知识积累和技能方面 要求。软件企业可以迅速的从人力资源市场上获取所需的人力,快速的 组建开发团队,同时也降低了人力成本。 缩短项目的开发周期。在w e b 应用开发中使用w e b 应用框架,避免了重 复开发,重复投资,由此减少了应用开发的代码量,加快了开发速度, 缩短了开发时间。 降低项目的风险。w e b 应用框架下的开发角色分工专,使每一项任务更 加明确,由此提高了工作量估算的准确度,同时也使计划实施过程中的 跟踪和控制工作变得容易,降低了w e b 应用开发项目计划实施的风险, 使开发计划的完成更有保证。 当然,利用框架提供的上述优势也是需要付出代价的。例如,利用框架开发 w e b 应用系统的同时也增加了学习框架的开销,另外,框架的使用也带来了调试 应用系统的难度,一些错误的产生使框架的使用者难以判断错误的根源。然而实 践表明,w e b 应用框架的产生为w e b 应用系统的开发提供了一个新的机遇。 1 4 基于w e b 技术的业务系统生成环境的设计与实现 2 4 本章小结 本章首先论述了软件体系结构的基本概念、与软件复用的联系和主要研究领 域,并说明框架是软件体系结构的一个重要的研究领域,然后给出了两种目前流 行的体系结构,并分析其优点与不足。最后,重点论述了w e b 应用框架的概念、 特征、体系结构、优势。 第三章基于w e b 技术业务系统生成环境的分析与设计 第三章基于w e b 技术业务系统生成环境的分析与设计 3 1 需求分析 3 1 1 用户分析 基于w e b 技术业务系统生成环境的最终用户是w e b 应用系统的使用单位。实 际用户是软件设计与开发人员。两者对业务系统生成环境的基本要求是提供一个 w e b 应用开发框架( 包括数据库设计) ,从整体上减轻构造企业w e b 应用系统的 负担。客户和软件开发人员的工作区分和联系如图3 1 所示,其中带阴影的工作 是整个业务系统开发中相对重要的工作环节。 软件开发人员 i客户 : 甲卡圆 ; | 匪困l 嘲图| 。: 。 图3 1 客户与研发人员工作区分与业务流程 1 6 基于w e b 技术的业务系统生成环境的设计与实现 客户与软件的研发人员进行交流并提出系统功能后,不再关心系统实现的具 体过程。他关心的是业务功能的实现、系统的正常运行、操作的简单性、系统运 行的高效性以及后期维护和二次开发的简便性。软件的设计和开发人员需要从用 户的需求入手,通过需求分析,详细设计系统的主体框架、功能模块、页面布局, 以及数据库等问题,并以详细设计为蓝本进行系统的开发、测试等工作,最终将 产品提交给客户,注重的是业务功能实现的技术环节。 客户业务系统的需求,是从自身行业发展的角度提出的,需要软件研发人员 从技术层面上进行指导和总结,使其更加合理化、科学化、系统化。以便带来更 高的效益,而软件研发人员通过业务系统,可以将自己的新技术快速转换为产品, 投入应用,从而促进自身的快速发展。但是不同行业的客户,有不同的需求,同 一类型的客户,对业务系统的需求也不尽相同。如果每个客户的业务系统都按上 面所述的流程进行,客户与软件研发人员的技术交流势必减少,对两者发展都是 不利的。软件的研发人员应该从不同的客户需求中科学归纳出业务系统的基本特 点、功能模块等,并建立业务系统的基础数据和生成环境,在快速开发业务系统 基本功能的基础上,根据客户的特殊行业需求再进行针对性的开发。一方面大大 提高了业务系统开发的进度,使客户更早的从业务系统受益;另一方面,软件研 发人员交给客户的是通过生成环境生成的代码,可以很好地解决版权和核心技术 的保密问题。 3 1 2 功能分析 w e b 业务系统生成环境是针对基于w e b 的业务系统开发而设计的,从根本上 屏蔽了开发过程中大量重复性的劳动,通过科学合理的提炼、归纳,建立一个业 务系统生成环境,其设计的出发点和最终目的是:从最基本的连接数据库,到最 后对具体业务表单各种操作的代码,都采用通用的生成环境生成,使得业务系统 研发的进度大大加快,代码的重用性也有很大的提高。 基于w e b 技术的业务系统生成环境主要是应用于w e b 业务系统通用功能 的开发,不应涉及某个行业( 或企业) 的具体业务流程,以保证生成环 境在功能上的通用性。 生成环境的功能不仅仅是与数据库交互访问的基本操作,还应具有流程 控制、数据交换、汇总统计、页面调转、打印输出等目前客户对w e b 业 务系统的基本需求。 功能模块应具有统一的接口和良好的维护性,同时针对不断变化需求的 市场,能快速高效集成新的功能模块,并达到前台操作与后台处理的整 体统一。具体功能描述如表3 1 所示。 第三章基于w e b 技术业务系统生成环境的分析与设计 1 7 表3 1w e b 业务系统生成环境的功能说明 序功能模块 功能描述 号 能够与a c 、s q ls e r v e r 、o r a c l e 等数据库正确连接,在连 1 数据接口 接访问时不需要再额外编写代码 采用基于角色的权限管理。用户通过被赋予不同的角色,拥有 2安全访问权限 不同的访问权限。业务系统的每个页面都必须验证访问者的身 份。 业务系统框架生能够根据不同的角色动态生成不同的功能菜单,保证系统的安 3 成模块 全性,系统管理员可以根据需要自己修改功能菜单的属性。 所有的操作配置信息以3 c m l 文档形式存放,为多种语言代码 4 操作配置信息 生成提供方便。 公共信息管理代 提供一套完整的公共信息管理代码,包括信息种类、信息内容、 5 码生成模块附件的录入、修改、删除等管理。 业务基本操作代 实现业务数据表数据的录入、修改、删除、查询四种操作代码 6 码生成模块 的生成,支持组合条件查询、模糊查询,多表组合数据查询等。 信息汇总统计代根据不同的业务表,指定统计的条件和统计的内容以及统计方 7 码生成模块 法,并以图、表等多种形式显示统计结果。 数据交换代码生 同一业务系统不同级别间、不同业务系统间在获得相应访问权 8 成模块 限后能够实现数据的交换。包括数据的上传、下载、更新 能够根据客户的需求,业务系统所有代码可以采用客户指定编 9 代码输出模块 程语言生成,并能够在相应编程语言的开发环境中进行再编辑 和编译。 采用工作流机制,控制业务数据的流程和相应的操作顺序,实 1 0 流程控制模块 现协同办公的业务功能。 打印输出生成模 业务系统的各种数据、图表等都能打印输出,并能转换成客户 1 1 块需要的文档格式。 3 。1 3 其他要求 基于w e b 技术的业务系统生成环境,在满足用户需求和具备基本的功能模块 基础上,还应该符合当前软件体系结构的发展趋势、具备清晰的业务逻辑划分等 要求,具体表现在以下三个方面: 符合当前流行的软件体系结构。业务系统采用基于w e b 的分布式软件体 系结构,使得业务系统能在不同的网络及操作系统中运行,并有利于增强 信息的互联互通和各业务系统间的协作关系,增强系统的可伸缩性和容错 性1 1 甜。 具备清晰的业务逻辑的划分。业务系统中,把数据的表现事务和应用事务 部署于应用服务器,数据处理事务和数据本身部署在数据服务器上。这样 基于w e b 技术的业务系统生成环境的设计与实现 可以使得客户端瘦小、简化,而且以服务器为中心,在运行时方便维护。 具有清晰的软件开发过程,软件开发的任务分配合理。清晰的业务逻辑, 使得软件开发的过程和任务区分更加明确,人机交互的设计人员、事务处 理的开发人员以及数据库的管理人员都有很明确的工作,

温馨提示

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

评论

0/150

提交评论