已阅读5页,还剩81页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基于J2EE的门户网站自动生成系统的研究与实现申请学位级别:硕士专业:计算机软件与理论摘要互联网为现实世界创造了一个高速、方便的信息通道,利用互联网技术,国家全面推广政府信息化建设。电子政务是政府信息化建设的重点工程,政府门户网站建设是电子政务建设的重要组成部分,通过门户网站,政府面向社会、企业、百姓提供电子化管理和服务。门户网站的构建和信息的更新及功能的扩展需要专业的技术支持,这无疑会增加政府的资金投入和网站的维护难度。构建一套易于操作、功能完善的系统工具,实现门户网站的快速自动生成,是政府部门进行信息化建设的必然需求。当前,Java2平台企业版(J2EE)架构以其可伸缩性、可扩展性的框架体系在厂商市场和开发者社区中倍受推崇,基于J2EE的Web应用能够有效的保证系统的安全性和多样化。可扩展标记语言(x虬)为实现安全、高效的Web应用提供了一种开放的标准,使用xML来表示结构化的数据,能够在Web中非常方便的进行数据交换和处理。Shtml是SSI(Server Side Include)类型的文件,提供了丰富的指令实现灵活的页面布局,文件在发送到浏览器之前会进行服务器端解释,访问速度接近Html。本文通过分析网站自动生成的现状,综合政府门户网站的功能特点和客观需求,提出了基于JZEE的门户网站自动生成系统的整体构架和技术框架。同时,结合XML、Shtml技术,实现了一个操作简便、应用灵活、易于扩展的门户网站自动生成系统,系统支持分布式部署。通过对页面对象的分解和简易标签库的制定,论文详细描述了系统的具体解决方案和实施思路,并重点介绍了模板自定义、模板解析等关键技术的实现。本文旨在研究和实现基于J2EE的门户网站自动生成系统。关键词;J2EE;模板;自动生成;门户网站AbstractAbstractAhigh-speedand convement information road has been created with Intemet in the realworldWith the technology of Intcrnct,the construction of govemmern information isvdddyp印山ari捌in OUtcounuyE-governmentis thekey project of this construction and thegovernment portal Websits playsan important partin thee-government Through the删website,the government provideselecu-omc information managementand Sclwioe forsociety,emerpriseand commonpeopleThe co-on ofportal Website,theupdate ofinformation andthe cxtendillg offimction all needprofessional techno-suplxa=LIts no doubt that thegoverranerawould enhance fundinvest and the Website could be difficult tO maintainJ So its necessary for thegoverranent todesignawebsitesystemdeveloptoolwhichisconvenienttomanipulateandhasperfect鼢nstoconstructawcbsiteautomaticallyAt present,theJ2EE framework ishighly thought ofby thc developers and the companies due to its咒也蝴啦哼and extemibilityThe wcb application which bases OIl the J2EE啪alsl船the systems security and v赫ety effectivelyThis paper analysis the C11lenl situation of Web 锄no_c翻皓拄ucdsystem, then We put forward lhc whole archimcture of吐站portal Website m皿睁吧a匿缸删on system and technique fiamework according the govetmnemportal Website fimcfional characteristicsand reqttiremenL Extensible Markup Language(XML)provides锄open criterion for implementing the80口聪arid highly effident Web applicationIts very convenient to transmit and process the data which is expressed by the XMLShtml is a type of SSI file,which provides amount of如曲瓶tO in她哪the page 1aIn limbertyThe file will be j晒p锄ed缸辩M before tr蛐tothebrowse,andtheaccessspeedcomeneartothe speedofHtml Combio缸g J2EE,XML and lhe Slmnl teclmology,this paper has discussed and realized a portal Wcbsite出畦Dcon嗣nlc石伽system which operates easily,applies nimbly,extends ligl眦yand supporls distributional deployment This paper describes file concrete solution and the唧蜘磁心thin她of位system,espec讪y introduces the realization oftheessentialtechnical intheaspcaoftemplatesdefinition,templatcsanalysisand SOOIL The pIpos嚣of this papef is studymg and rcaUz吨the portal Websitc autD-corlfffftl曲on systembased on J2EE Key words:J2EE;Tcmplct;Auto-construction;Portal Website第一章绪论当前,在世界各国积极倡导的。信息高速公路”的五个领域中,“电子政府”被列为第一位,政府信息化是社会信息化的基础111政府门户网站建设是电子政务建设的重要组成部分,也是政府面向社会提供电子化管理和服务的窗口【2】。随着中央17号文件国家信息化领导小组关于我国电子政务建设指导意见)确定政府门户网站在电子政务框架中的地位,政府网站所承担的功能角色已经从政府的宣传“喉舌”,转变为企业和社会公众获取政府信息和服务的接入渠道,以及政绩的宣传平台和领导决策参考依据等唧全国的政府网站承载着各地政府不同的期望,但是在多元化的条件下,网站的建设程度存在比较大的差异:从横向来看,无论电子政务发展,还是政府门户网站建设,总体上东南沿海经济较为发达的地区,电子政务发展比较快,政府门户网站所占比例大,而中西部地区相对落后,政府门户网站的比例比较小;从纵向来看,中央、省市行政层级比较高的政府及其部门的电子政务发展比较快,门户网站建设比较完善。而行政层级别比较低的政府或部门相对落后14】因此,对于很多政府部门来说,政府门户两站的建设追在眉睫但是,在以往政府网站的建设和应用过程中,由于许多政府部门自己的技术人员不是专业的网站建设工程师,在构建和使用网站中常感力不从心,所以始终需要专业的技术支持同时,国内外对政府网站的评测指标一直都在改进、完善。2002年国际知名企业。爱森哲”(Accentureyz司从健康、司法、财政、教育等方面提出9大类169项评价指标四而。2006中国政府门户鼹站发展研究专题”又将评价指标分为6项一级指标,29项二级指标和95项三级指标,并且主要侧重于政务公开与政府服务【6】加上政府网站本身的公众效应和对时事的响应责任,政府网站的改版、升级工作会很频繁而所有这些无疑会增加阿站建设过程中政府需要投入的人力资源和经费因此,如果有一种门户网站的建设工具,只需要建站人员掌握少量的rr技能,基本上通过可视化的操作就能够快速,有效的完成门户网站的建设工作,并且在后期的维护过程中能够方便的进行站点内容、风格的变更。那么政府部门在门户网站建设中面临的经费、速度、人力资源和后期维护升级问题都可以迎刃而解作者全过程参与了宜昌市电子政务工程的建设项目,并随后参与了宜昌市西陵区、宜昌市獍亭区政府门户弼站工程的建设,对于普通的网站建设模式和流程中存在的弊端有深刻的体会。为了满足地、市级政府及其下属区政府相关部门网站建设和扩展维护的需要,同时也为了要改变传统的政府门户网站建设方式,本文论述了一种基于J2EE的门户网自动生成系统的研究与实现。12相关领域研究现状和问题信息和网络的时代,在信息门户上及时的发布信息和获得信息,已经成为当今世界流行的快捷的途径广泛的需求强力拉动着门户网站自动生成工具的开发不断向更新的领域发展,引起国内外研发机构的关注和竞争国外在这方面起步比较早,网站自动生成系统做得比较好的有Miva(mivaeom)和Bap恤(baptheom)Miva公司和Bapth公司均是从事电子商务活动的公司,Miva公司的网站自动生成系统主要侧重于商店和购物车功能,成为虚拟主机提供商的预装软件之一,其缺点是界面变化少Bapth公司盼网站自动生成则做得比较深入,有多级菜单,可以任意调整菜单,将页面划分为具体功能的页面,供用户选择,如图片页面,论坛页面、普通文本页面等等,这个思路已经开始把网站内容和网站结构划分开来另外,著名的地理信息系统公司ESRI开发了GIS Portal工具包,GISPortal 1-具包基于缸讧S(地图服务器)和ASDE(地理服务数据通道),包括Portal站点模板。地图浏览器组件和元数据编目知识库,能够快速构建提供地理服务的网站。国内在网站自动生成领域的研究与开发中也取得了一定的成就,有一些公司也推出了自己的产品E-works公司面向制造领域企业,提供基于BS模式的网站建设工具,能够提供内容发布、产品展示、网上招标、网上投标、两上培训、技术资料下载、广告发布等功能uI清华同方股份有限公司的eBuilder采用NET技术,提供C据和B,s两种构建模式,是面向政务系统的比较完善的网站构建工具另外,通过网上搜索,能够很容易的找到辛新、赛腾、大汉等网站自动生成器,不过它们主要是基于ASP技术,面向企业、个人的中小型网站自动生成系统。从政府门户网站的角度出发,就目前网站自动生成的发展情况来看,主要存在两个方面的问题:1)缺乏面向政府部门网站自动生成的工具政府门户网站的建设是一项社会工程,它的目的是社会服务而不是商业经济因此,目前的网站自动生成工具主要是面向企业或者是商业,专门针对政府提供网站构建功能的工具比较少2)缺乏基于J2EE架构的门户两站自动生成工具目前,J2EE和NET是进行Web开发的主流框架,它们都能很好的为企业应用提供分布式的、高可靠性的解决方案,并且都能够较方便的进行扩展。微软的NET可以充分利用W-mdows技术资源,为Web应用程序提供了更加广泛的功能集,努力减轻与大量客户端脚本编写相关联的开发和维护工作嘲,而J2EE标准下的Java语言和EJB技术在开发使用中相对比较复杂。因此,进行Windows下的Web开发,NET无疑有很大的优势,目前较成熟的网站自动生成工具(如eBuilder)也主要是基于NET架构的。政府门户网站是在互联网上提供服务的政府服务系统,一方面要实现全面的政府信息发布,另一方面又要为网上政府业务办理服务窗口和渠道提供长久支挣。这种系统提出以下要求:1)建立在通用、开放自争标准之上。2)能够长期安全稳定的运行3)很好的支持大数据量的交互4)能够方便进行系统扩展。以上是政府门户网站本身的要求,从这一个角度看,J2EE的技术更符合它的需求:首先,从开放性和稳定性来看,开放性是J2EE的一个重要特点,很多世界级公司如IBM、BEA、ORACLE等,都是J2EE标准制定的参与者J2EE平台提供一个基于组件的方法,来设计、开发、装配及部署企业应用程序。J2EE平台提供多层的分布式应用模型,组件重用、一致化的安全模型以及灵活的事务控制,同时保证平台独立的、基于组件的J2EE解决方案不会被束缚在任何一个厂商的产品和API上其次,从数据交互来看,NET的数据访问工具由基于XML的ADONET代替基于COM组件的ADO,任何以XML为输出的数据源都可以作为ADONET的数据源但由于XML本身的基于标记的特性,很明显限制了在有超大数据量和有网络瓶颈的应用中的使用J2EE使用的DBC和ADO一样与所连接的数据库无关,并且通过连接命令语句和结果集对数据进行操作,所以属于中间层次的API。更高一级的数据封装和数据管理是通过实体FJB(entityEJB)来完成的,实体EJB的load0和store0方法的同步机制会大大缓解因并发丽使数据库产生的瓶颈哪因此,构建一个基于J2EE的网站自动生成工具,来自动生成基于J2EE的政府门户网站是网站建设的一个好的思路。13本论文所做工作及意义社科文献出版社最新出版的2006年电子政务蓝皮书中国电子政务发展报告NO3对我国政府网站现状进行分析,指出目前政府网站建设中存在着数据共享、重复建设、扩展性差等方面的闯题floj本文从建设几个中、大型的政府门户网站的实践经验出发,总结分析了政府网站建设应该注意的问题,充分结合政府门户网站的实际需求和特点,讨论一种能够方面快捷的生成基于J2EE架构的门户网站的系统。该系统本身也基于J2EE的架构,结合使用了Struts、JSP、JSTL、Shtml和XML等技术。论文围绕着系统具体的解决方案和模板的动态定制、访问权限控制及异构数据访问等关键技术进行展开,描述系统的设计与实现。14论文结构论文各章节的主要内容如下:第一章简要介绍项目的研究背景,门户网站自动生成系统的发展现状和问题以及本文所做的工作第二章概要介绍门户网站自动生成系统所涉及到的相关技术第三章重点介绍基于J2EE架构的门户网站自动生成系统的具体解决方案。第四章详细讨论门户网站自动生成系统中的关键技术及其实现第五章给出项目的成果总结和需要改进的方向。第二章相关技术基础门户网站自动生成系统以J2EE作为系统架构,以J2EE的Struts、JSP、JSTL等技术作为基础,并结合Shlml和XVIL技术扩展其应用方式,实现模板定制、网站生成和系统管理等功能。21 J2EE体系结构J2EE平台提供一个基于组件的方法,用来设计、开发、装配及部署企业应用程序,J2EE平台提供多层的分布式应用模型、组件重用、一致化的安全模型以及灵活的事务控制【】。图21给出了J2EE的体系结构1客户层J2EE应用可以是基于Web的,也可以是不基于Web的在一个基于Web的J2EE应用中,用户的浏览器在客户层中运行,并从一个Web服务器下载Web层中的静态Html页面或由JSP或Servlet生成的动态Html页面。在一个不基于Web的J2EE应用程序中,一个独立客户程序不运行在一个Html页面中,而是运行在其他一些基于网络的系统中,程序在客户层中运行,并在不经过Web层的情况下访问Enterprise Bean这个不基于Web的客户层可能也包括一个JavaBean类来管理用户输入,并将该输入发送到在企业层中运行的Enterprise Bean类来进行处理。根据J2EE规范,JavaBean类不被视为组件【1212Web层Web组件可以由JSP、Servlet组成。调用Servlet或者JSP页面的Html页面在5应用程序组装时与Web组件打包在一起就像客户层一样,Web层可能包括一个JavaBean类来管理用户输入,并将输入发送到在业务层中运行的Enterprise Bean类来进行处理。运行在客户层的Web组件依赖容器来支持诸如客户请求和响应及Enterprise Bean查询等3业务层业务层主要包括为解决某个特定业务领域问题所需要的业务代码,由运行在业务层的勘t即fi辩Bean来执行一个Enterprise Bean从客户程序处接收数据,对数据进行处理,再将数据发送至企业信息系统层存储起来。一个Enterprise Bean还从存储中检索数据,并将数据送回客户程序Il运行在业务层的EnterpriseBean依赖于容器来为诸如事务、生命期、状态管理、多线程及资源存储池等提供通常都非常复杂的系统级代码业务层经常被称作Enterprise JavaBean(EJB)层业务层和Web层一起构成了3层J2EE应用的中间层,而其他两层是客户层和企业信息系统层毛企业信息系统层企业信息系统层运行企业信息系统软件,这层包括企业基础设施系统,例如企业资源计划0m)大型机事务处理(MainCrame Transaction Procession)、数据库系统及其他遗留信息系统(Leggy Information Systems)。J2EE应用组件因为某种原因可能需要访问企业信息系统。J2EE平台的未来版本将支持Connector架构,该架构是将J2EE平台连接到企业信息系统上的一个标准API【14121 J2旺的特点门户网站自动生成系统作为应用系统平台,它的性能、安全性、扩展性等要求比较高。J2EE是一种利用Java2平台来简化企业解决方案的开发、部署和管理等相关问题的体系结构,同其他开发平台相比,主要具有以下特点f15】:1)J2EE是由sUN提出,各厂商共同发起的并得到广泛认可的工业标准,它拥有良好的市场和旺盛的生命力。2)J2EE具有良好的开放性和移植性,它可最大限度的保留已有的信息资源,并可适应未来的变化3)J2EE可以缩短系统开发的时间4)支持分布式计算、支持多种终端5)部署、管理简单化在基予J2EE标准的平台上开发电子政务系统,通过EJB封装业务逻辑单元,可以实现数据存取与业务逻辑的分离,信息发布公文管理、计划管理等应用功能组件之间可以灵活配置和调度。因此,在J2EE平台上设计实现门户网站自动生成系统,可保证门户网站自动生成系统的可扩展性,可靠性和可移植性,并能保证门户网站自动生成系统稳定良好的构建门户网站212 J2EE架构iJ2EE架构是当前主流的架构之一,目前大多数企业采用基于J2EE技术的结构设计与解决方案。J2EE体系结构提供中间层集成框架用来满足无需太多费用而又需要高可用性、高可靠性以及可扩展性的应用需求通过提供统一的开发平台,J2EE降低了开发多层应用的费用和复杂性,同时提供对现有应用程序集成强有力的支一i挣,完全支持EnterpriseJavaBeans,有良好的向导支持打包和部署应用,添加目录支持,增强了安全机制,提商了性能m。 。t高效的开发:J2EE允许把一些通用的、很繁琐的服务端任务交给中间件供应商去完成。这样开发人员可以集中精力在商业逻辑的创建上,相应地缩短了开发时间葱缀中阉件供应商提供j|;c下这些复杂的中间件服务【17】:i状态管理服务:让开发人员写更少的代码,不用关心如何管理状态,这样能够更侠地完成程序开发。豁持续性服务;让开发人员不用对数据访闯逻辑进行编码就能编写应用程序,能生成更轻巧、与数据库无关盼应用程序,这种应用程序更易于开发与维护。黟分布式共享数据对象Cache服务:让开发人员编制高性能的系统,极大提高整体部署的伸缩性,罅支持异构环境:J2EE能够开发部署在异构环境中的可移植程序。基于J2EE魄应用程序不依赖任何特定操作系统、中间件、硬件。因此设计合理的基于J2EE”朐程序只需开发一次就可部署到各种平台。这在典型的异构企业计算环境中是十分关键的。J2EE标准也允许客户订购与J2EE兼容的第三方的现成的组件,把它们部署到异构环境中,节省了由自已制订整个方案所需的费用。+劭可伸缩性:企业必须要选择一种服务器端平台,这种平台应能提供极佳盼可伸缩性去满足那些在他们系统上进行商业运作的大批新客户基于J2EE平台的应用程序可被部署到各种操作系统上,例如可被部署到高端UNIX与大型机系统,这种系统单机可支持“至256个处理器J2EE领域的供应商提供了更为广泛的负载平衡策略,能消除系统中的瓶颈,允许多台服务器集成部署这种部署可达数千夺处理器,实现可高度伸缩的系统,满足未来商业应用的需要由此可见,J2EE架构完全能够满足门户网站自动生成系统的要求。门户网站自动生成系统可以充分利用J2EE架构的特点,优点来提高开发的速度。提高系统的。稳定性,增强系统的可扩展性22MVC模式MVC(Mod,1-Vi刚v-Controller)模式并不是J2EE行业人士标新立异的,MVC的核心就是要傲到三级甚至多级的松散耦合。MVC模式将系统分为三个部分,分别是数据模型、视图和控制器,并定义了这三个部分之间实现通信的一种模式,使每个部分不必卷入射其他部分的状态表示和方法实现的细节中去。每个部分有自己的数据管理规则,各个部分对象之问的通信只能使用己定义的一个受限连接集合进行,如图2-2所示保持这种分离性通常是好的面向对象编程和设计要追求的目标,让各个对象只需专注于自己的事务【1钒。田2-2 MVC梗式的基本形式模型部分代表商业数据的访闯及修改数据的操作,当数据发生改变时,它要负责通知视图部分,并且提供视图查询状态的能力另外,它还向控制提供应用功能视图部分以自己的方式显示模型的内容它访问模型的数据,并且当模型的数据发生变化时更新模型的显示视图还把从用户那里得到的信息传给控制部分控制部分定义应用的行为它分发用户请求和选择表现视图,还负责解释用户输入,进而调用模型的功能在Web应用中,用户输入包括对Web级资源的肼P、皇GET和POST请求控制部分根据用户交互和模型的状态选择要显示的视图一个应用程序一般为相关的功能选择一个控制。这样做有利于团队合作开发,有利于代码的重用,有利于后期的管理维护23 Struts框架Struts最早是作为Apache Jakarta项目的一个组成部分项目的创立者希望通过对该项目的研究,改进和提高JSP、Servlet、标签库以及面向对象的技术水准。它的目的是为了减少用MVC设计模型来开发Web应用的时间。如果想混合使用Servlets和JSP的优点来建立可扩展的应用,可以选择Strats框架Il明Struts是MVC的一种实现,它将Servlet和JSP标记(属于J2EE规范)用作实现的一部分。Struts继承了MVC的各项特性,并根据J2EE的特点,傲了相应的变化与扩展20l。Struts的工作原理如图23所示图2-3 smm工作募理圈Struts跟Tomcat,Turbine等诸多Apache项目一样,是开源软件,这是它的一大优点它能使开发者更深入的了解其内部实现机制。除此之外,Struts的优点主要集中体现在两个方面:Taglib和页面导航。Taglib是Struts的标记库,灵活运用,能大大提高开发效率另外,就目前国内的JSP开发者而言,除了使用JSP自带的常用标记外,很少开发自己的标记,或许Struts是一个很好的起点关于页面导航,将是今后的一个发展方向,事实上这样做使系统的脉络更加清晰。通过一个配置文件,即可把握整个系统各部分之间的联系,这对后期的维护有着莫大的好处尤其是当另一批开发者接手这个项目时,这种优势体现得更加明显24 JSTL技术121IJSTL是一个不断完善的开放源代码的JSP标签库,是由Apache的Jakarta小组9来维护的JSTL 10发布于2002年6月,由四个定制标记库(core、format、XML和SQL)和一对通用标记库验i正器(ScriptFreeTLV和PermittedTaglibsTLV)组成。core标记库提供定制操作,通过限制作用域的变量管理数据,以及执行页面内容的迭代和条件操作它还提供用来生成和操作URL的标记顾名思义,format标记库定义了用来格式化数据(尤其是数字和日期)的操作它还支持使用本地化资源进行JSP页面的国两;化。XML库包含一些标记,这些标记用来操作通过XML表示的数据,而SQL库定义了用来查询关系数据库的操作两个JSTL标记库验证器允许开发人员在其JSP应用程序中强制使用编码标准可以配置ScriptFreeTLV验证器以在JSP页面中禁用各种类型的JSP脚本元素一scripflet、表达式和声明。类似地,PermittedTaglibsTLV验证器可以用来限制可能由应用程序的JSP页面访问的定制标记库集(包括JSTL标记库)。粥TL 10的参考实现可作为Apache软件基金会(Apache Software Foundation)的JakartaTaglibs项目的一部分而获得可以将该参考实现中的定制标记库合并到任何支持JSP 12和Servlet23规范的服务器,以添加对JSTL的支持。25Shtml技术Shtml是使用SSI(Server Side Include)的HUnl文件扩展名SSI通常称为“服务器端嵌入”或者叫“服务器端包含是一种类似于ASP的基于服务器的网页制作技术251 SSI工作原理将内容发送到浏览器之前,可以使用服务器端包含(SSD于旨令将文本、图形或应用程序信息包含到网页中例如,可以使用SSI包含时间,日期戳、版权声明或供客户填写并返回的表单对于在多个文件中重复出现的文本或图形,使用包含文件是一种简便的方法将内容存入一个包含文件中即可,而无须将内容输入所有文件通过一个非常简单的语句即可调用包含文件,此语句指示Web服务器将内容插入适当网页而且,使用包含文件时,对内容的所有更改只需在一个地方就能完成122TWeb服务器在处理网页的同时处理SSI指令当Web服务器遇到SSI指令时,直接将包含文件的内容插入Html网页。如果包含文件”中包含SSI指令则同时插入此文件除了用于包含文件的基本指令之外,还可以使用SSI指令插入文件的相关信息(如文件的大小)或者运行应用程序或shell命令2s2Shtml特点ShtmI(或ShUn)是一种比Html高级的标志语言,Hanl仅仅是排版、显示内容,不能执行服务器端的程序,除非使用嵌入的Script或者IFRAME,但是Shtml可以使用SSI,执行服务器端的程序,比如一个Shtml打开后可以自动统计、导入代码等等ShUnl和Hind的区别,如果用一句话来解释就是:Shtml不是Html而是一种服务器API,Shunl是服务器动态产成的Html虽然两者都是超文本格式,但Shunl是一种用于SSI技术的文件也就是Server Side Include-SSI服务器端包含指令如果Web Server有SSI功能的话(大多数(尤其是基于Unix平台)的Web服务器如Netscape Enterprise Server等均支持SSI命令),会对Shlml文件进行特殊处理:先扫一次Shtnd文件看没有特殊的SSI指令存在,有就按Web Server设定规则解释SSI指令,解释完后跟一般Hind一起调去客户端1231。因为是API,与ASP,PHP,JSP等动态页面相比,Shtml的运行效率高,相应速度快,其平均速度接近Html页面访问。26XML技术261xML简述XML(extensible markup language)即可扩展标记语言是互联网联盟Ov3c)于1998年制定的一种通用语言规范,是全新的描述结构化数据的语言,与Htmi一样是SGML的一个优化子集。由于它将SGML的丰富功能与Html的易用性结合到万维网的应用中,因此自推出以来,迅速得到软件开发商的支持和程序开发人员的喜爱,显示出强大的生命力。正是由于XML保留了SGML的绝大部分的功能,同时简化了SGML使用起来不方便的部分,使XML功能既强大又易于使用I川。262 XML用户体系结构W3C在2002年的lO月出版了XMl20规范。规范描述了XML数据的语法和格式,而且为处理XML数据指定了一个两层的用户体系结构嘲:XML解析器和)。舡应用层。第一层是XML解析器,解析器主要用来检验XML文档格式是否正确(表示XML文档有正确的结构和语法),并且检验文档数据结构是否合法(表示XMl,文档符合特定的格式规则)。解析器必须遵循XML规范,并把XML数据的内容和结构以规定的方式送到第二层。第二层为XML应用层,应用层涉及对XML数据的显示,XML数据的转换、查询以及XMLAPI。相关的XML技术有:XSL(Extensible Style Language),Xquery,DOM(Document Object Model),SAX(SimpleAPIfor XML)26jXML的两层体系结构如图2-4所示。圈2-4 XML的两层体系结构263 XML的特点I卅1可扩展性XML允许开发者建立自己的XML文档类型定义DTD(Doeument聊eDefinition)或者文档模式(Schema),创建可被用于多种应用的可扩展的标志集,即适用于某种特定应用领域的词汇集,来表示该领域中特定的语义另外,使用由XML衍生出的一系列附加标准,可以用于XML数据的存储、转换、以及安全保护。2平台无关性 XML具有平台无关的特性,可以在多种计算平台上使用。XML文档可以使用通用的XML语法分析器进行分析与处理XML支持多种主流的字符编码标准,使XML适用于世界上不同的人类语言环境XML为跨平台、分散式或异构计算环境中提供一种中立、标准的数据交换和存储格式。3开放性XML标准是一个开放性标准,其本身是免费的。XML文档自身也较为开放,任何人都可以对一个结构良好的XML文档进行语法分析,如果提供了DTD或Schema,还可以对这个文档进行有效性验证4灵活性XML提供了一种结构化的数据表现方式,使得用户界面与结构化数据分离。在XML中可以使用样式表。5自描述性XML文档通常有相应的文档类型说明或者文档模式说明,因此XML文档具有自我描述的特性。XML文档中的数据可以被任何能够对)m心数据进行解析的应用所提取、分析和处理,并以所需要的格式进行显示XML表示数据的方式,实现了真正意义的独立于应用系统,并且数据能够被共享使用【281264帆处理器要用好XML,还需要一个能处理XML文件的工具。W3C定义了一种软件模式叫“XML处理器”。它能够解析XML文档并提供对其内容和结构的访问标准的XML处理接口分为两类:文档对象模型(Document删oct Modlo,D田和订L简单API(Simplc APIfor XML,SAX)DOM是将完整的XML转换成一棵树的形式放在内存中,可以供随机访问元素、属性、文本节点等;SAX采用的是时间驱动模型,通过标记的起止来触发事件,只能顺序访问XML文档内容。DOM的特点是灵活,方便,但速度较慢,耗内存多;SAX的特点是速度快,消耗内存资源少,但是只能顺序处理文件的内容。使用标准的XML处理器,可以通过编程解析各种XML文档,访问任何元素、元素内容或是元素属性。在一个基于Windows的系统中创建XML文档,可以很方便地将它移植到大型机系统中,采用大型机的XML处理器来实现同样的数据交互,这才是XML真正的魅力所在。作为一项技术,XML不能解决所有问题,但是它已成为在不厨应用之间交换结构化数据的开放式有效机制滞1通过XML解析器使用标准的DOMAPI来实现XML数据的交互,无论是从一个大型的文档中取得一个特定的数据,还是将一个XML文档的某部分转换为另一种格式的数据(例如Html),都是十分乏味的为了标准化以及简化人们完成这任务所需要所做的工作,W3C推荐使用XSL(Extot塔ible Stylesheet Language,扩展样式单语言)和一种被称作XML模式的简单查询语言XSL是可扩展样式语言。它是更为先进的专门用于XML文档的样式单语言XSL文档本身就是结构完整的XML文档。XSL文档包括一系歹l魇用于特定XML元素样式的规则XSL处理程序读取XML文档并将其读入的内容与样式单中的模式相比较,当在XML文档中识别出XSL样式单中的模式时,就会按照对应的规则输出某些文本的组合。与CSS(蝴gStyle She*t)不同,XSL输出的文本比较随意,不局限于文本和格式化信息p哪XSL包括XSLT变换语言fframformation Lauguage)和格式化语言(FormattingLanguage)。这两种语言都分别是一个XML应用程序变换语言提供定义规则的元素,将以L文档变换成另一个XML文档被变换的XML文档可能使用原文档的标记和DTD,或者使用一组完全不同的标记特别是,可能会使用XSL定义的标记f121XSLT已经得到普遍的应用。图2-5显示了XML文档的处理过程。图2-5通过XSL转换XML的过程265DTD文档定义类型DTD(Dument Type DefirLition)包括对XML文件整体结构和语法的正式定义具体地说,DTD是用来定义XML文档结构,即其中的元素、属性以及元素之间关系的它定义了文件中的元素能用什么名字,能放在什么位置,应该怎样组合。通过DTD文件可以检测XML文档的结构是否正确(注意:建立讧L文档并不一定需要DTD文件)有了DTD就能够得到各元素、属性之间的相互关系,从而方便得到文档文件的结构【3l】27小结J2EE是一个技术架构,也可以视为一个技术体系,包含了许多内容,这也是其复杂性之所在本章简要介绍J22E技术体系,着重介绍了J2EE的结构即其优点,同时对JSTL技术、Shtml技术和XML技术做了说明门户网站自动生成系统综合运用了Java、ShUnl、XML技术,因此,本章介绍的相关技术是系统实现的技术基础。第三章基于J2EE的门户网站自动生成系统解决方案电子政务建设是一项复杂的系统工程,但是从整体上看,可以将系统分为两个部分:政府门户网站系统和政府政务办公系统。政府门户网站是政府面向公众的一个信息窗口:通过门户系统,政府可以发布决策信息、政务信息、服务信息;通过门户系统,企业和市民可以进行信息查询、业务申请、事实反馈。政府政务办公系统很大一部分处理的信息来源于政府门户网站,处理完毕后又通过政府门户网站对外公布从图3一I中可以看到政府门户网站系统在整个电子政务系统中的重要性【32】田3-1电子政务系统结梅圈为了生成上述功能的门户网站,门户网站自动生成系统涉及到很多具体的功能和要求:一方面,对系统产生的门户网站,要实现内容编辑、内容发布、栏目编辑、权限管理等功能;另一方面,作为系统本身,要提供站点管理、模板管理、后台管理等功能要合理实现这些功能,必须明确用户的具体需求,并且对系统结构进行合理的部署。31系统需求311系统用户特点门户网站自动生成系统是面向地、市级政府及其下属区政府的,系统的主要用户是政府相关部门信息中心人员,这一类用户具有一定的rr技能,能够进行一定门户网站系统政务办公系统的Hlml编辑和美工处理,但是不需要具备脚本编写的能力。因此,本系统的工作界面应该尽量明了易懂、操作简便。并且,在门户网站生成的过程中,使用可视化的操作来完成站点的配置,最多只需要进行类Hunl盼标记语言的补充。以便利用该系统进行门户网站建设的工作人员能感觉到工作成本降低,工作量减少另外一部分使用该系统的用户是进行门户网站建设盼专业人员,利用该系统可以减少重复工作、提高工作效率。这一类用户具备网站建设的相关技能,系统应该提供相关接口以接受他们自己编制的脚本。利用系统进行门户网站建设的人员,同时也应该是系统的维护人员,负责系统的日常维护技术开发人员应该对系统定期做深度维护,保证系统的稳定性。312系统功能需求门户网站自动生成系统从总体功能上需要包括三个部分:系统管理模块、站点自动生成模块和门户网站管理模块1)系统管理模块首先,因为在系统中会生成多个门户网站,所以系统应该提供站点管理功能,能够实现站点的新建、修改、胍除等功能其次,系统本身支持多用户并行操作,因此,应该提供完备的用户管理功能,能够实现用户的添加、修改、删除等一般操作同时,应该能进行用户的权限配置工作。2)站点自动生成模块站点自动生成是系统的核心模块,而模板是站点自动生成的核心,因此,在本模块中必须提供完善的模板管理功能,能够实现模板的在线制作、编辑、删除功能。同时,对于离线制作的模板,要提供上传下载的功能。模板与栏目对应,因此,本模块还必须实现栏目管理的功能,以便进行站点栏目的添加、删除、修改等功能并且,通过父栏目的选择,可以创建多级子栏目。在创建任一级栏目时,对选择的模板要进行解析,生成栏目页面3)门户网站管理模块门户网站管理模块即是通常意义的网站后台系统。后台系统首先要实现的是文章管理,文章是一个统称,指的是栏目所附载的内容,包括文字信息、图片信息、链接信息、文件下载、自定义HUnl信息等在文章管理模块中,依据用户选择的栏目,要能够进行“所见即所得”的内容在线编辑,并且要包括图片、表格等的编辑为了保证系统发布信息的有效性,需要将信息编辑与信息发布操作分开进行,通常可以采用权限限制的方式实现因此,网站权限管理也是后台管理模块必不可少的功能。313系统性能需求作为政府部门电子政务系统的辅助系统,为了能长久有效的提供门户网站的生成,维护、升级等服务,必须考虑系统运行时的安全性、健壮性、可扩展性等方面的性能指标1)安全性系统的安全性可以从两个方面考虑。一是软件本身的安全性,软件本身的设计应该采用合理的模式,搭建安全可靠的系统结构,同时,软件的支撑平台也应该具有较好的安全性;其次是软件功能的安全性,由于系统本身支持并行服务,能够回时让多个用户在线进行网站建设,因此,系统必须严格限制各用户的执行权限,绝对不能越俎代庖。2)健壮性 系统在运行的过程中,用户执行非法操作的情况不可避免,当系统或其组成部分遇到非法输入数据、非法请求或相关软件时异常,要提供良好的容错处理能力。一般通过给所有规划参数一个缺省值的方式增加程序健壮性,当参数无效时可使用默认值。同时,系统在设计的过程中,每一个模块均要进行严格的测试,从根本上保证系统的健壮性。3)扩展性为了满足用户的具体需求,系统不可能保持一成不变的运行,必要时可能会进行功能的变更或增减。因此,首先系统应该进行合理的功能划分,各模块遵循低耦合高内聚的原则,减小模块间的影响,方便功能模块的扩展;其次,系统在表现上,业务上和数据上应该进行清晰的层次划分,系统不会在某一部分有变动时。牵一发而动全身”,使系统在进行扩展时保持相对稳定。32门户网站自动生成系统的总体架构门户网站自动生成系统本身包含两级应用:系统的应用和系统生成的门户网站的应用系统的支撑平台遵循J2EE三层架构的基本思想,采用Java技术开发,具有先进性和成熟性如下页图32所示客户端表示层业务层数据层图3-2系统总体槊构1客户层系统用户和门户网站用户通过Web浏览器来访问系统和门户网站服务,在本系统中,客户层Web浏览器显示的内容来自三个部分:首先是静态的Web页面(Htxnl):其次是Shtml页面,包括静态的Shtml页面和嵌入了动态JSP的Shtml页面;最后是JSP类页面,服务器接收并解析后以Hunl的方式显示在客户端的2表示层一般来说,表示层主要是指封装在Web容器中的JSP页面和Servlet,Hlml页面并不是J2EE规范认可的Web组件【33J在本系统中,表示层包括用来进行系统管理和网站自动生成参数配置的JSP页面和Servlet,以及生成的网站的主要组成部分叫hlml页面。3业务层本系统中,执行业务逻辑的包括普通的业务Bean和E,IB,是整个系统的支撑平台表示层根据客户端的需求,通过Servlet调用相应的业务逻辑,业务层执行数据筛选、转换、修改等操作,并将执行结果返回到表示层其中包括:1)站点配置组件:通过浏览器,配置站点应用,生成不同的门户网站系统框架。同时。执行站点详细信息配置,包括栏目的增加、修改、删除等基本操作;同时,接收表示层对栏目模板信息的配置,负责解释模板信息,生成对应的发布页面2)信息发布组件:内容管理的基本应用框架,通过配置管理,确定信息的动态编辑和发布,并负责客户端提交的信息反馈3)权限配置组件:整个系统的用户管理框架,根据Web的参数输入。进行网站用户信息配置和用户权限设置4)信息检索组件:解析客户端输入参数,对数据库信息和文件信息进行匹配检索5)文件管理组件:系统文件管理的应用框架,实现O伍文档、Html、Shlml、CSS、图片等的上传、下载、删除。4数据层负责系统结构化数据和非结构化数据的存储、检索、优化。对于结构化的数据,通过硬件系统配置,能够实现自动备份、故障诊断、自动恢复,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 聘请专家的协议书(2篇)
- 南京航空航天大学《电离辐射探测学》2021-2022学年期末试卷
- 南京工业大学浦江学院《涉税服务实务》2023-2024学年第一学期期末试卷
- 多变的颜色说课稿
- 南京工业大学浦江学院《计算机组成原理与汇编语言》2021-2022学年期末试卷
- 《小青蛙找家》说课稿
- 南京工业大学《药剂学实验》2021-2022学年第一学期期末试卷
- 南京工业大学《数学模型与数学软件》2021-2022学年第一学期期末试卷
- 南京工业大学《深度学习应用技术》2022-2023学年期末试卷
- 南京工业大学《绿色交通》2021-2022学年第一学期期末试卷
- 英语四级单词4500
- 神经病学课件:癫痫
- 县人民医院药事管理与药物治疗学委员会会议纪要五篇
- 酒店预订确认函
- 走开大黑兔“十校联赛”一等奖
- 动脉血气分析采集课件
- 10KV供配电工程施工组织设计
- 《小学教育政策与法规》总资料
- 张爱玲及《金锁记》
- 云南花灯教案
- 信任五环:超级销售拜访技巧
评论
0/150
提交评论