




已阅读5页,还剩53页未读, 继续免费阅读
(计算机应用技术专业论文)基于xml的教学网站的研究与开发.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
独创性申明 秉承祖国优良道德传统和学校的严谨学风郑重申明:本人所里交的学 位论文是我个人在导师指导下进行的研究工作及取得的成果,尽我所知, 除特别加以标注和致谢的地方外,论文中不包含其他人的研究成果。与我 一同工作的同志对本文所论述的工作的任何贡献均已在论文中作了明确 的说明并已致谢。 本论文及相关资料若有不实之处,由本人承担一切相关责任。 论文作者签名:受至兰擞岁月2 夕日 保护知识产权申明 本人完全了解西安理工大学有关保护知识产权的规定,即:研究生在 校攻读学位期间所取得的所有研究成果的知识产权属西安理工大学所有。 本人保证:发表或使用与本论文相关的成果时署名单位仍然为西安理工大 学,无论何时何地,未经学校许可,决不转移或扩散与之相关的任何技术 或成果。学校有权保留本人所提交论文的原件或复印件,允许论文被查阅 或借阅;学校可以公布本论文的全部或部分内容,可以采用影印、缩印或 其他手段复制保存本论文。 ( 加密学位论文解密之前后,以上申明同样适用) 论文作者签名:要垂丝 导师签名: 魁翔拜夕月三;日 摘要 基于xml 的教学网站的研究与开发 学科: 研究生: 导师: 答辩日期: 计算机应用 罗亚红 姚全珠教授 摘要 签名 签名 随着互联网的发展,信息化、自动化、网络化已成为大趋势,高校作为社会发 展动力源泉之一,都致力于校园网络化的建设。教学网站作为校园网络化的个部 分在教学、科研、管理和信息发布中起着很大的作用。 本课题中,作者探讨禾研究了j a v a 及其相关技术、x m l 技术、当前应j _ l ;| 系统 的架构以及系统开发模式。在此基础上,作者以计算机学院教学网站为依托,采用 j a v a 与x m l 技术相结台,以三层架构为系统的总体架构,以m v c 模式为系统开发 模式,实现了一个具有良好的跨平台性、可维护性和可扩展性的教学网站。此外, 作者还对软件复用中的参数化样式匹配问题进行了研究,并给出了用s t r i n g b t r e e 来解决此问题的方法。 本文详细阐述了整个教学网站的分析,设计及其实现过程。 、关键字:x m l ,j s p ,s e r v l e t ,m v c 模式 a b s t r a c t r e s e a r c hin ga n d t e a c hin gn e t m a j o r :c o m p u t e ra p p l i c a t i o n a u t h o r:l u oy a h o n g s u p e r v is o t :p r o f y a oq u a n z h u d e v eio pin go f b a s e dx m l s i g 。a t u 。f 艘选l 型 s i g n a t u r e 妞如趁 a b s t 刚屺t w i t ht h ef n t e r n e td e v e l o p i n g 。i n f o r m a t i o n i z a t i o n a u t o m a t i o na n d n e t w o r k i n gb e c o m et h em a i nt r e n d s t h ec 0 1 1 e g e ,a st h eo n eo f t h em o s t i m p o r t a n ti m p u ls eo fs o c i a ld e v e l o p m e n t ,d e v o t e st ot h ef o u n d a t i o no fc a m p u s n e t w o r k i n g t e a e h in gn e t ,a so n eo fc o n t e n t so ft h ef o u n d a t i o no fc a m p u s n e t w o r k in g ,a c t si m p o r t a n tr o l ei ni n s t r u c t i o n ,r e s e a r c h ,m a n a g e m e n ta n d i n f o r m a t i o i lr e l e a s e i nt h ist h e s is ,t h ea u t h o rs t u d i e sj a v aa n dt h er e l a t e dt e c h n o l o g y ,x m l , t h ep o p u l a rs y s te ma r c h i t e c t u r ea n d t h es y s t e md e v e l o p i n gm o d e t h r o u g h a d o p t i n gj a v aa n dx m l ,t h r e e t i e ss y s t e ma r c h i t e c t u r ea n dm v cd e v e l o p i n g m o d e ,t h es y s t e mw a si m p i e m e n t e dw i t hg o o dc r o s s p l a t f o r m ,m a i n t a i n a b i l i t y a n de x p a n s i b i l i t y m o r e o v e r ,t h ea u t h o rs t u d i e st h ep a r a m e t e r i z e dp a t t e r n m a t c hp r o b l e mo ft h es o f t w a r ed u p l i c a t i o na n dg i v e sam e t h o dt ot h isp r o b l e m u s i n gs t r i n gb t r e e t h isp a p e re x p o s e st h ep r o c e d u r eo fa n a l y s i s ,d e s i g na n d p r o g r a m m i n g o f t h et e a c h i n gn e tf o u n d a t i o n k e yw o r d s :) ( m l ,j s p ,s e r v l e t m v cm o d e l 引言 1 引言 1 1 课题来源和背景 进入新世纪以来,计算机基础和网络通讯技术的迅猛发展,对整个 社会的变革产生了巨大影响,人类迈向信息社会的步伐在加快。信息化 水平成为衡量一个国家或地区现代化水平和综合实力的重要标志,我国 的信息化水平相对于西方发达国家还有很大的差距,因此加速国家信息 化建设,已经成为我国经济和社会发展中的一项重大战略任务。面对我 国以信息化推进工业化,实现跨越式经济发展的要求,作为社会发展动 力源泉之一的高等学校都致力于建设完善的校园网络,为教学新体制的 建立提供了重要的环境资源。 二十一世纪的教育必须适应信息化社会要求,世界发达国家高度重 视信息技术对教育的影响和作用,重新调整教育目标,制定教育改革方 案,加快推进教育信息化建设。高校信息化是国家信息化的重要组成部 分,它是指在高校教学、科研、管理和服务等各项活动中,“利用先进的 计算机技术、网络技术、多媒体技术,实现高校校园网络化、管理科学 化、信息资源数字化,以达到教学科研现代化”的过程。其中校园网络 化是信息化的基础,管理科学化是信息化的保证、信息资源数字化是信 息化的关键”,高校信息化的成功建设有助于推进教育信息化。我院作为 专门研究计算机科学与技术的学院,建立一个具有高水平的网站,不仅 是学院发展的需要,而且也是我院计算机技术发展水平的象征。 1 2 课题建设内容与目标 本课题的建设内容如下: 亟塞堡墨墨芏塑主生焦堡垒 教学网站可分为辅助教学及教学管理两大部分内容,本课题主要是 教学管理部分。系统建设内容如下: 增进社会对学院的基本信息、发展趋势、招生状况等的了解,新闻、 通知信息发布,这里的新闻和通知主要是学院近期新闻、教学通知 之类的信息。 实现对学院各班级的基本信息管理、课程信息管理、教学计划的设计 生成; 为减轻老师的工作复杂度,实现教师网上选课、工作量计算、酬金计 算; 实现对学生信息的管理,包括学生学籍管理、学生成绩管理等。 实现对物资设备的管理,主要是学院硬件资源设备信息的管理,如计 算机、投影仪等的数量,使用状况等的管理。 实现对其他教学信息资料的管理,提供教学文件下载;实现毕业设计、 生产实习等资料的管理;实现对党建信息、招生计划等信息的管理。 在开发系统的过程中必须关注系统安全性问题,随着信息技术特别 是互联网技术的发展,安全问题是各个领域的关注焦点。大部分管理信 息系统涉及的安全性问题主要有以下几方面:防止未授权的用户非法进 入系统,使用其中的服务:防止未授权的用户的非法操作,比如非法访 问敏感的数据文件等。不同类型的用户有不同的权限,例如教师个人网 页,只能由老师个人或者管理员来编辑修改。 本课题的建设目标是: 1 对外:向广大教师和学生提供一个集静态文字介绍、动态新闻更新和 网上服务“一站式”的综合性的教务信息网站,提高整个学院 的工作效率。 2 对内:为院里领导、教师及管理人员提供一个通用的、便于对自己职 责范围内的工作进行管理的网络运行平台。 3 内外互动:在教务信息网站上,构建学院与教师,学院与学生的互动 引言 平台,便于沟通,交流。实现网上文件、表格的下载以及网上 申报等应用。 另外,整个网站在结构上将具有良好的维护性和可扩展性,便于随 着学院业务的扩展而对系统进行扩展。 鱼圭垄兰叁主塑主垡焦塞 2 课题涉及的相关知识和技术 2 1j 2 e e 的特点及相关技术 2 1 1j 2 e e 的介绍 j 2 e e 概念: j 2 e e 即j a v a 2p l a t f o r i l le n t e r p r i s ee d i t i o n ,其英文定义为“o p e na n d s t a n d a r db a s e dp l a t f o r mf o r d e v e l o p i n g ,d e p l o y i n ga n dm a n a g i n gn t i e r , w e b - e n a b l e d s e r v e r e e n t r i ce n t e r p r i s ea p p l i c a t i o n s ”,也就是说,它是开放 的、基于标准的平台,用于开发、部署和管理n 层结构,面向w e b 的、 以服务器为中心的企业级应用,换句话说它是一套体系结构,而不是一 个具体软件,是一个方便于服务器方应用程序开发的中问件服务集。j 2 e e 技术的基础就是核心j a v a 平台或j a v a2 平台的标准版,j 2 e e 不仅巩固了 标准版中的许多优点,例如”编写一次、随处运行”的特性、方便存取数 据库的j d b ca p i 、c o r b a 技术以及能够在i n t e r n e t 应用中保护数据的安 全模式等等,同时还提供了对e j b ( e n t e r p r i s ej a v a b e a n s ) 、j a v as e r v l e t a p i 、j s p ( j a v as e r v e rp a g e s ) 以及x m l 技术的全面支持。其最终目的 就是成为一个能够使企业开发者大幅缩短投放市场时间的体系结构。 j 2 e e 体系结构提供中间层集成框架用来满足无需太多费用而又需要 高可用性、高可靠性以及可扩展性的应用的需求。通过提供统一的开发 平台,j 2 e e 降低了开发多层应用的费用和复杂度,同时提供对现有应用 程序集成强有力的支持,完全支持e n t e r p r i s ej a v a b e a n s ,有良好的向导 支持打包和部署应用,添加目录支持,增强了安全机制,提高了性能, 它利用j a v a 2 技术来简化诸多与企业解决方案的开发、部署和管理相关 4 课题涉及的相关知识和技术 的复杂问题。 j 2 e e 优势: j 2 e e 为搭建具有可伸缩性、灵活性、易维护性的商务系统提供了良 好的机制: 保留现存的i t 资产:由于企业必须适应新的商业需求,因此利用已 有的企业信息系统方面的投资,而不是重新制定全盘方案就变得很重要。 这样,一个以渐进的( 而不是激进的,全盘否定的) 方式建立在已有系 统之上的服务器端平台机制是公司所需求的。j 2 e e 架构可以充分利用用 户原有的投资。因为j 2 e e 拥有广泛的业界支持和一些重要的企业计算领 域供应商的参与,每一个供应商都对现有的客户提供了不用废弃已有投 资、进入可移植的j 2 e e 领域的升级途径。由于基于j 2 e e 平台的产品几 乎能够在任何操作系统和硬件配置上运行,所以现有的操作系统和硬件 也能被保留使用。 高效的开发:j 2 e e 允许公司把一些通用的、很繁琐的服务端任务交 给中间件供应商去完成。这样开发人员可以集中精力处理商业逻辑,缩 短了开发时间。高级中间件供应商提供以下复杂的中间件服务: 状态管理服务:使开发人员写更少的代码,不用关心如何管理状态, 这样能够更快地完成程序开发。 持续性服务:使开发人员不用对数据访问逻辑进行编码就能编写应 用程序,能生成更轻巧、与数据库无关的应用程序,这种应用程序 更易于维护。 分稚式共享数据对象c a c h 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 平台的应用程序可被部署到各种操作系统上。例如可被部署到高 端u n i x 与大型机系统,这种系统单机可支持6 4 至2 5 6 个处理器。j 2 e e 领域的供应商提供了更为广泛的负载平衡策略。能消除系统中的瓶颈, 允许多台服务器集成部署。这种部署可达数千个处理器,实现可高度伸 缩的系统,满足未来商业应用的需要。 稳定的可用性:一个服务器端平台必须能全天候运转以满足公司客 户、合作伙伴的需要。因为n t e r n e t 是全球化的、无处不在的,即使 在夜间按计划停机也可能造成严重损失。若是意外停机,那会有灾难性 后果。j 2 e e 部署到可靠的操作环境中,他们支持长期的可用性。一些j 2 e e 部署在w i n d o w s 环境中,客户也可选择健壮性能更好的操作系统如 s u ns o l a r i s 、i b mo s 3 9 0 。这是实时性很强商业系统理想的选择。 2 1 2j s p 介绍 j s p 是由s u nm i c r o s y s t e m s 公司倡导、许多公司参与一起建立的一种 动态网页技术标准。在传统的网页h t m l 文件( + h t m ,+ h t m l ) q b 加入j a v a 程序片段( s c r i p t l e t ) 和j s p 标_ g ( t a g ) ,就构成了j s p 网页f 4 j s p ) 。w e b 服务 器在遇到访问j s p 网页的请求时,首先执行其中的程序片段,然后将执 行结果以h t m l 格式返回给客户。程序片段可以操作数据库、重新定向 网页以及发送e m a i l 等等,这就是建立动态网站所需要的功能。所有程 序操作都在服务器端执行,网络上传送给客户端的仅是得到的结果,对 客户浏览器的要求最低,可以实现无p l u g i n ,无a c t i v e x ,无j a v a a p p l e t , 甚至无f r a m e 。 j s p 技术在多个方面加速了动态w e b 页面的开发: 6 课题涉厦的相关知识和技术 1 将内容的生成和显示进行分离:使用j s p 技术,w e b 页面开发人员 可以使用h t m l 或者x m l 标识来设计和格式化最终页面。使用j s p 标识或 者小脚本来生成页面上的动态内容。生成内容的逻辑被封装在标识和 j a v a b e a n s 组件中,并且捆绑在小脚本中,所有的脚本在服务器端运行。 如果核心逻辑被封装在标识和b e a n s 中,那么其他人,如w e b 管理人员 和页面设计者,能够编辑和使用j s p 页面,而不影响内容的生成。在服 务器端,j s p 引擎解释j s p 标识和小脚本,生成所请求的内容( 例如,通 过访问j a v a b e a n s 组件,使用j d b c t m 技术访问数据库,或者包含文件) , 并且将结果以h t m l ( 或者x m l ) 页面的形式发送回浏览器。这有助于作 者保护自己的代码,而又保证任何基于h t m l 的w e b 浏览器的完全可用性。 2 强调可重用的组件:绝大多数j s p 页面依赖于可重用的,跨平台 的组件( j a v a b e a n s 或者e n t e r p r i s ej a v a b e a n s 组件) 来执行应用程序 所要求的更为复杂的处理。开发人员能够共享和交换执行普通操作的组 件,或者使得这些组件为更多的使用者或者客户团体所使用。基于组件 的方法加速了总体开发过程,并且使得各种组织在他们现有的技能和优 化结果的开发努力中得到平衡。 3 采用标识简化页面开发:w e b 页面开发人员不会都是熟悉脚本语 言的编程人员。j a v as e r v e rp a g e 技术封装了许多功能,这些功能是在 易用的、与j s p 相关的x m l 标识中进行动态内容生成所需要的。标准的 j s p 标识能够访问和实例化j a v a b e a n s 组件,设置或者检索组件属性,下 载a p p l e t ,以及执行用其他方法更难于编码和耗时的功能,通过开发定 制化标识库,j s p 技术是可以扩展的。并且,以后第三方开发人员和其他 人员可以为常用功能创建自己的标识库,这使得w e b 页面开发人员能够 使用熟悉的工具和如同标识一样的执行特定功能的构件来工作。j s p 技术 很容易整合到多种应用体系结构中, 展到能够支持企业级的分布式应用。 以利用现存的工具和技巧,并且扩 作为采用j a v a 技术家族的一部分, 以及j a v a2 ( 企业版体系结构) 的一个组成部分,j s p 技术能够支持高 7 鱼塞墨兰盘主塑主芏垡鱼塞 度复杂的基于w e b 的应用。 由于j s p 页面的内置脚本语言是基于j a v a 编程语言的,而且所有的 j s p 页面都被编译成为j a v as e r v l e t ,j s p 页面就具有j a v a 技术的所有 好处,包括健壮的存储管理和安全性。作为j a v a 平台的一部分,j s p 拥 有j a v a 编程语言“一次编写,各处运行”的特点。随着越来越多的供应 商将j s p 支持添加到他们的产品中,我们可以使用自己所选择的服务器 和工具,更改工具或服务器并不影响当前的应用。当与j a v a 2 平台,企 业版( j 2 e e ) 和e n t e r p r i s ej a v a b e a n 技术整合时,j s p 页面将提供企业级 的扩展性和性能,这对于在虚拟企业中部署基于w e b 的应用是必需的。 2 1 3s e r v l e t 介绍 s e r v l e t 是使用j a v as e r v l e t 应用程序设计接口及相关类和方法的j a v a 程序。它在w e b 服务器上或应用服务器上运行并扩展了该服务器的能力。 j a v as e r v l e t 对于w e b 服务器就好像j a v aa p p l e t 对于w e b 浏览器。a p p l e t 装入w e b 浏览器并在w e b 浏览器内执行,而s e r v l e t 则是装入w e b 服务 器并在w e b 服务器内执行。j a v as e r v l e ta p 定义了s e r v l e t 和服务器之 蚓的一个标准接口,这使得s e r v l e t 具有跨服务器平台的特性。最早支持 s e r v l e t 技术的是j a v a s o f t 的j a v a w e bs e r v e r ,此后,一些其它的基于j a v a 的w e bs e r v e r 开始支持标准的s e r v l e ta p i 。 s e r v l e t 是通过创建一个框架扩展服务器的能力,采用请求响应模式 提供w e b 服务。当客户机发送请求至服务器时,服务器将请求信息发送 给s e r v l e t ,s e r v l e t 生成响应内容并将其传给s e r v e r ,然后再由s e r v e r 将 响应返回给客户端。一个s e r v l e t 被客户端发送的第一个请求激活,然后 它将继续运行于后台,等待以后的请求。在传统的c g i 中,每个请求都 要启动一个新的进程,如果c g i 程序本身的执行时间较短,启动进程所 需要的开销很可能反而超过实际执行时间。而使用s e r v l e t 时,服务器上 仅有一个j a v a 虚拟机在运行,只有当s e r v l e t 被调用时,它才被加载,且 r 课题涉及的相关知识和技术 直到s e r v l e t 更改时,它才会被再次加载。在传统c g i 中,如果有n 个并 发的对同一c g i 程序的请求,则该c g i 程序的代码在内存中重复装载了 n 次;而对于s e r v l e t ,处理请求的是n 个线程,只需要一份s e r v l e t 类代 码。每个请求将生成一个新的线程,而不是一个完整的进程,多个客户 能够在同一个进程中同时得到服务,因此具有更高的效率,更容易使用, 功能更强大,具有更好的可移植性,更节省投资。一般来说,s e r v l e t 进 程只是在w e bs e r v e r 卸载时被卸载 s e r v l e t 的主要功能在于交互式地浏览和修改数据,生成动态w e b 内 容。s e r v l e t 看起来像是通常的j a v a 程序。s e r v l e t 导入特定的属于j a v a s e r v l e t a p i 的包。因为是对象字节码,可动态地从网络加载,可以说s e r v l e t 对s e r v e r 就如同a p p l e t 对c l i e n t 样,但是,由于s e r v l e t 运行于s e r v e r 中,它们并不需要一个图形用户界面。s e r v l e t 具有如下的优势:s e r v l e t 可以和其他资源( 文件、数据库、a p p l e t 、j a v a 应用程序等) 交互,以生成 返回给客户端的响应内容。如果需要,还可以保存请求一响应过程中的 信息;采用s e r v l e t ,服务器可以完全授权对本地资源的访问( 如数据库) , 并且s e r v l e t 自身将会控制外部用户的访问数量及访问性质:s e r v l e t 可以 是其它服务的客户端程序,例如,它们可以用于分布式的应用系统中, 可以从本地硬盘,或者通过网络从远端硬盘激活s e r v l e t :s e r v l e t 可被链 接( c h a i n ) 。一个s e r v l e t 可以调用另一个或一系列s e r v l e t ,即成为它的客 户端;采用s e r v l e t t a g 技术,可以在h t m l 页面中动态调用s e r v l e t ;s e r v l e t a p i 与协议无关。它并不对传递它的协议有任何假设;像所有的j a v a 程 序一样,s e r v l e t 拥有面向对象j a v a 语言的所有优势:s e r v l e t 提供了j a v a 应用程序的所有优势可移植、稳健、易开发。 2 1 4j a v a b e a n s 介绍 j a v a l 3 e a n s 就是j a v a 的可重用组件技术。a s p 通过c o m 来扩充复杂 9 鱼塞堡三盘茎塑芏堡垒塞 的功能,如文件上载、发送e m a i l 以及将业务处理或复杂计算分离出来 成为独立可重复利用的模块。7 s p 通过j a v a b e a n 可以实现同样的功能扩 充。5 s p 对于在w e b 应用中集成j a v a b e a n 组件提供了完善的支持。这种 支持不仅能缩短开发时间( 可以直接利用经测试和可信任的已有组件, 避免了重复开发) ,也为j s p 应用带来了更多的可伸缩性。j a v a b e a n 组 件可以用来执行复杂的计算任务,或负责与数据库的交互以及数据提取 等。 在实际的7 s p 开发过程中,和传统的a s p ,5 s p 页面非常简洁的,由 于j a v a b e a n s 开发起来简单,又可以利用j a v a 语言的强大功能,许多动 态页面处理过程实际上被封装到了j a v a b e a n s 中。 2 2x m l 的介绍 2 2 1x m l 介绍 出于w e b 的通用语言h t m l 的出现,i n t e r n e t 才会像现在这样普及 和流行,规模也很是庞大。h t m l 简单、易学、通用,句法简明紧凑, 加上它的表格、脚本等功能是它在w e b 页上占据主导地位。但是随着 w e b 应用的广泛和深入,h t m l 过于简单的语法阻碍了用它来表现复杂 的形式,它满足不了现在网络发展的多样化需求,这就使得x m l 应运产 生。 x m l :可扩展标记语言,是w 3 c 制定的用于描述数据文档中数据的 组织和安排的结构的一种规范,是s g m l 的中简化版本。x m l 着重描述 的是文档的内容,其特长在于描述任意层次结构的数据或赋予原本杂乱 无章的信息的一种清晰而通用的结构,使数据在网上进行交流和处理更 加方便快捷。他真正的实现了内容和显示的分离,加大了数据存取的灵 活性和可重用性。x m l 本质是一种“元语言”,它为开发者提供了一种 结构化的环境,他允许开发者把那些不适合h t m l 模型的内容放入d t d 1 n 课题涉厦的相关知识和技术 中,通过定义一种用来创建基于w e b 的标记语言的元语言,而非整个的 一个新的标记语言组的办法,w 3 c 提供了一种为现存的w e b 的结构进 行定制的解决方案是一种能够创建标记语言的语言,标记将直接插入文 本中用来描述文档的各个部分。x m l 是一种具有严格标准的信息表达方 式,它允许用户自由定义标记,但须严格遵守标记命名规则。因此,x m l 在发挥其可扩展性使得各种数据资料的存取变得方便快捷的同时,也保 证了网络间结构化信息传送的可行性,与如今在网络上传送的h t m l 页 面同样的简单。 x m l 被广泛接受在于它是可扩展的,能实现h t m l 难以实现的一些 应用。与h t m l 相比,x m l 具有许多优点: 1x m l 有着h t m l 语言所欠缺的巨大的伸缩性和灵活性。 由于h t m l 格式固定,不宜扩展,各浏览器供应商通过非标准的扩 展来迎合市场,破坏了w e b 的交互操作性。x m l 不象h t m l 是一成不 变的格式,它实质上是一种元语言,即可以用来创建其他语言的语言, 使用者可以根据自己需求定义无穷多的标记来描述文件中的任何数据元 素,突破了h t m l 固定标记集合的约束。使文件内容更丰富更复杂并组 成一个完整的信息体系。 2x m l 能搜索更有意义的定制信息。 x m l 文档具有良好的数据存储格式。他建立在基本嵌套结构的基础 之上,文档组织好,数据高度结构化,可被x m l 唯一标识,标记对人和 机器都可读,数据不是x m l 文档时,搜索不仅依据数据而且必须依靠数 据库结构,在网上,因为每个数据库描述数据都是不同的,这样的搜索 实际上是不可能的。h t m l 依靠文档内容搜索,产生大量无意义的结果。 利用x m l 可以很容易按照x m l 定义的标签分类,搜索引擎可以很清楚 知道们表达的语义而返回正确的结果。 3x m l 把标识的概念同显示彻底分开。同一数据可用不同的形式展 现给,1 i 列的使用者。 亟圭堡墨苎芏塑主茎焦垒叁 h t m l 描述数据的外观,而x m l 描述数据本身。处理者能够在结构 化的数据中嵌套程序化的描述以表明如何显示数据,同样的数据集允许 指定不同的显示方式,使数据更合理的表现出来,并且用多个查看方法, 而不必向w e b 服务器发出另外的请求,而h t m l 的任何变化都必须与服 务器进行交互。x m l 这种强大的机制使得客户计算机同使用者间的交互 尽可能地减少了,同时减少了服务的数据交换量和浏览器的响应时间。 4x m l 数据可驻留在客户机上并为浏览器提供本地数据,从而能进 行本地计算和处理。 x m l 的这个特点能将比例可观的处理工作从服务器端分布于客户 端,不必通过网络重复地向w e b 服务器发出请求。要在h t m l 中显示数 据库中的数据,一般的过程是通过某种手段从数据库中取出数据,写到 用于显示的h t m l 的文档中,加上各种标记,提交给用户,用户得到一 些“死数据”。而x m l 格式的数据发送给客户后,客户可以用应用软件 解析数据并对数据进行编辑和处理,而不仅仅显示它,数据计算不需要 回到服务器就能进行。x m l 数据具有自描述功能,它比传统的以行和列 为格式的数据更易于理解,因而比较容易开发、维护和共享。使用者观 看数据界面与数据本身分离,数掘使用简单灵活开放的格式,从而可以 给w e b 创建功能强大的应用软件,而这些软件原来只能建立在高端数据 库上。 5x m l 还具有可升级性和易于压缩的特点。 x m l 数据能够“颗粒度式”的被更新,不需要每次在改变数据后、 添加数据时重传整个数据结构,减轻了w e b 服务器的工作量,大大增强 了服务器的升级性能。由于用来描述数据结构的标记符具有重复性,因 而能够进行极好的压缩,提高传输大型数据结构的速度。 虽然x m l 有如此多的优点,但它并非要代替h t m l ,而是h t m l 的 补充。它使许多h t m l 不能完成的任务得以完成。x m l 的发展是属于未 来的,他给w e b 提供了真正的潜力,成为信息交换的工具,或成为管理 课题涉及的相关知识和技术 文档的工具。 按照x m l 工作组的b o s a k 的看法,x m l 的应用范围可分为4 大类:( 1 ) 要求w e b 客户机在两个或多个不同的数据库之间传递信息的应用:( 2 ) 希望将w e b 服务器的大量处理负荷转移给w e b 客户机的应用;( 3 ) 要求 w e b 客户机把同一数据以不同的表现方式提供给不同用户的应用;( 4 ) 适 应特定用户需求的智能w e b 工具应用。 2 2 2 x s l 介绍 x m l 只是描述了信息的内容和结构,并没有决定它的显示方式和风 格。x m l 数据的显示是由x s l 来确定,x s l 用于将x m l 数据转换成 h t m l 或其它格式,x s l 由两部分组成:第一部分描述了如何将一个x m l 文档转换为可浏览或可输出的格式:第二部分则定义了格式对象f o 在输 出时首先根据x m l 文档构造源树,然后根据给定的x s l 将这棵源树转 换为可以显示的结果树,最后再按照f o 分析结果树产生一个可以在屏幕 上、纸上、语言设备或其它媒体中输出的结果。一个x s l 样式表集合了 一系列的设计规则以用于从x m l 文档中提取信息并将其转换成h t m l 等其它格式。这种转换采用了一种公开的方式,使其更加容易地被程序 员所描述,x s l 能使w e b 浏览器根据用户的不同需求直接改变文档的显 示格式而不需要与服务器再次进行交互和通信,通过变换样式表,同 文档可以展现出不同的样式,下图( 2 - 1 ) 显示了将x m l 文档通过x s l 样式表处理成h t m l 的过程。 亟圭墨墨盘芏塑主主焦堡墨 图( 2 通过x s l 转换x m l 的过程 从图中可以看出,x m l 文档和文档类型定义库d t d 首先按x m l 处理器 的规则以树结构展开,对不符合x m l 句法和d t d 要求的文档,x m l 处 理器显示错误信息;经验证有效的x m l 文档和对应的x s l 文件送入x s l 处理器,由其根据x s l 的具体要求将源x m l 文档处理成不同显示风格 的h t m l 页面,从而可以直接在浏览器中进行浏览。将x m l 文档处理 成h t m l 页面的过程可以在服务器端进行也可以在客户端进行。 2 3m y s q i 的介绍 m y s q l 是完全网络化的跨平台关系型数据库系统,同时是具有客户 机服务器体系结构的分布式数据库管理系统。用户可利用许多语言编写 访问m y s q l 数据库的程序。他与s q ls e r v e r 相比在开放性、发行费用, 性能、安全性等等方面有着如下的区别: 开放性:s q l 服务器是狭隘的,保守的存储引擎,它与m y s q l 服务器 的可扩展,开放的存储引擎绝然不同。虽然我们可以使用s q l 服务器的 s y b a s e 引擎,但m y s q l 能够提供更多种的选择,如l y i s a m ,h e a p ,i n n o d b , a n db e r k e l e yd b 。m y s q l 不完全支持陌生的关键词,所以它比s q l 服务 器要少一些相关的数据库。同时,m y s q l 也缺乏些存储程序的功能,比 如m y i s a m 引擎联支持交换功能。 课题涉及的相关知识和技术 发行费用:m y s q l 不全是免费,但很便宜。这两个产品采用两种绝然 不同的决策。对于s q l 服务器,获取一个免费的开发费用最常的方式是 购买微软的o f f i c e 或者v is u a ls t u d i 0 的费用。但是,如果对于想用于 商业产品的开发,必须还要购买s q ls e r v e rs t a n d a r de d i t i o n 。学校或 非赢利的企业可以不考虑这一附加的费用。 性能:就性能而言,m y s q l 是相当出色的,因为它包含一个缺省桌面 格式m y i s a m 。m y l s a m 数据库与磁盘非常地兼容而不占用过多的c p u 和内 存;m y s q l 可以运行于w i n d o w s 系统而不会发生冲突,在u n i x 或类似u n i x 系统上运行则更好。对于s q ls e r v e r ,s q l 服务器的稳定性要比它的竞争 对手强很多。但是,这些特性也是要付出代价的,例如,必须增加额外 复杂操作,磁盘存储,内存损耗等等。这两者数据库都能够在n e t 或j 2 e e 下运行f 常,同样,都能够利用r a i d ( 磁盘阵列) 。 安全功能:m y s q l 有一个用于改变数据的二进制日志。因为它是二进 制,这一日志能够快速地从主机上复制数据到客户机上。即使服务器崩 溃,这一二进制日志也会保持完整,而且复制的部分也不会受到损坏: 在s q l 服务器中,也可以记录s q l 的有关查询,但这需要付出很高的代 价。 恢复性:在恢复性方面,s q l 服务器相对就要先进。恢复性也是m y s q l 的一个特点,这主要表现在m y i s a m 配置中,这种方式有它固有的缺欠, 如果不慎损坏数据库,结果可能会导致所有的数据丢失。然而,对于s q l 服务器而言就表现得很稳键。s q l 服务器能够时刻监测数据交换点并能够 把数据库损坏的过程保存下来。 另外,m y s q l 在u n i x 等操作系统上是免费的,在w i n d o w s 操作系 统上,可免费使用其客户机程序和客户机程序库。 鱼塞堡三叁生塑茎焦鱼圭 3 系统分析 3 1 系统总体技术分析 3 1 1 应用系统的一般结构 c s 结构:在多层架构出现以前,人们通常采用的都是客户服务器 ( c s ) 两层体系结构进行系统的设计。c s 结构由客户机和服务器两个 层面构成,客户端提供用户界面、运行逻辑处理应用,将用户的数据查 询请求转换为s q l 语句提交数据库,而服务器接受查询语句并进行数据 查询,然后将查询结构返回客户端。其优点是c s 两层结构由于客户端 实现与服务器的直接相连,没有中f 日环节,因此响应速度快;客户操作 界面设计个性化,具有直观、简单、方便的特点,可以满足客户个性化 的操作要求:由于开发是针对性的,因此,操作界面漂亮、形式多样, 可以充分满足客户自身的个性化要求。但是他的结构也决定了它固有的 缺陷:由于是针对性开发,因此缺少通用性的特点,业务变更或改变不 够灵活,需要重新设计和开发,增加了维护成本和管理的难度,进一步 的业务拓展困难较多;需要专门的客户端安装程序,分布功能弱,不能 够实现快速部署安装和配置;兼容性差,对于不同的开发工具,相互之 间很难兼容,具有较大的局限性,若采用不同工具,需要重新改写程序; 开发成本较高,需要具有一定专业水准的技术人员才能完成。 多层结构:为了解决c s 结构与应用需求目益突出的矛盾,一种简 便易行的分布式三层或多层应用体系结构应运产生。多层结构是建立在 分布式技术基础上的,将业务逻辑从客户端分离出来移到一个或多个中 间层,中间层由中间件软件构成。通过对中间件层的有效组织和管理, 1 6 系统分析 采用负载平衡和动态伸缩技术,可以将客户机与服务器高效的组合到一 起。 多层结构从广义上分为客户层、中间应用层和数据服务层三个层面。 客户层提供用户交互和数据表示,负责将收集到的用户请求信息提交中 间应用层进行业务逻辑处理,并将结果显示给用户;中间应用层接受客 户层服务请求,实现核心业务的逻辑处理,将业务逻辑转换为服务器能 够执行的命令交服务器执行,并将服务器处理的结果返回给请求者;数 据服务层执行中间层提交的数据请求命令,负责应用系统的数据服务。 在多层应用结构中,要求层与层之间必须有明确的接口定义,从而保证 多层间可以协作完成应用任务。多层结构克服了c s 两层结构的系统难 以扩展、维护成本高、软件移植性差等缺点,具有瘦客户、易维护易扩 展,开发效率高、安全性好、低数据转变费用、低部署费用等优点。 3 1 2j 2 e e 的三层架构 j 2 e e 规范根据企业信息系统各个组成部分在功能上的区别,将整个 应用系统划分为客户层、中间层( 其中可包括w e b 层、业务层) 和企业 信息系统层三层结构,各个应用层分别配置在不同类型的应用服务器中。 基于j 2 e e 规范划分的企业应用系统逻辑层: 客户层: 客户层用于与企业信息系统的用户进行交互以及显示根据特定商务 规则进行计算后的结果。基于j 2 e e 规范的客户端可以是基于w e b 的, 也可以是不基于w e b 的独立( s t a n d a l o n e ) 应用程序。 在基于w e b 的j 2 e e 客户端应用中,用户在客户端启动浏览器后, 从w e b 服务器中下载w e b 层中的静态h t m l 页面或由j s p 或s e r v l e t s 动态生成的h t m l 页面。在不基于w e b 的j 2 e e 客户端应用中,独立的 客户端应用程序可以运行在一些基于网络的系统中,比如手持设备或汽 车电话等。同样,这些独立的应用也可以运行在客户端的j a v a a p p l e t 中。 1 7 这种类型的客户端应用程序可以在不经过w e b 层的情况下矗接访问部 署在e j b 容器( e j bc o n t a i n e r ) 中的e j b 组件。 中间层: 在j 2 e e 的典型架构里,其中间层包括w e b 层和业务逻辑层: w e b 层:j 2 e e 规范定义的w e b 层由j s p 页面、基于w e b 的j a v a a p p l e t s 以及用于动态生成h t m l 页面的s e r v l e t s 构成。这些基本元素在 组装过程中通过打包来创建w e b 组件。运行在w e b 层中的w e b 组件 依赖w e b 容器来支持诸如响应客户请求以及查询e j b 组件等功能。 业务层:在基于j 2 e e 规范构建的企业信息系统中,将解决或满足特 定业务领域商务规则的代码构建成为业务层中的e n t e r p r i s ej a v a b e a n ( e j b ) 组件。e j b 组件可以完成从客户端应用程序中接收数据、按照商 务规则对数据进行处理、将处理结果发送到企业信息系统层进行存储、 从存储系统中检索数据以及将数据发送回客户端等功能。 部署和运行在业务层中的e j b 组件依赖于e j b 容器来管理诸如事 务、生命期、状态转换、多线程及资源存储等。这样,由业务层和w e b 层构成了多层分布式应用体系中的中问层。 企业信息系统层: 在企业应用系统的逻辑层划分中,企业信息系统层通常包括企业资 源规划( e r p ) 系统、大型机事务处理( m a i n f r a m et r a n s a c t i o np r o c e s s i n g ) 系统、关系数据库系统( r d m s ) 及其它在构建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合同规定下的抵押车辆能否购买是否合法
- 沧州市消防救援支队招聘政府专职消防队员考试真题2024
- 盐田区净化车间施工方案
- 施工方案钢桥架施工方案
- 烟道收纳改造方案范本
- 2025山东菏泽鲁西新区招聘城市社区工作者招聘80人笔试参考题库附答案解析
- 市容安全培训课件
- 2025中国人民财产保险股份有限公司民乐支公司招聘14人笔试参考题库附带答案详解
- 2025重庆明德商业保理有限公司招聘1人考试参考试题及答案解析
- 仁怀市中小学校长绩效考核的实施方案a
- 中国工商银行2026年度校园招聘考试参考题库及答案解析
- 2025年气象系统公务员录用考试面试真题模拟试卷(结构化小组)
- 风力发电项目审批流程及要点梳理
- 医院污水站维护方案(3篇)
- 视频监控考核管理办法
- StarterUnit3Wele!SectionB1a1e(教学设计)人教版七年级英语上册
评论
0/150
提交评论