基于XML通用数据报表系统的设计与实现.doc_第1页
基于XML通用数据报表系统的设计与实现.doc_第2页
基于XML通用数据报表系统的设计与实现.doc_第3页
基于XML通用数据报表系统的设计与实现.doc_第4页
基于XML通用数据报表系统的设计与实现.doc_第5页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

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

文档简介

基于XML通用数据报表系统的设计与实现一 关于通用数据报表1.1 什么是报表报表是办公自动化及管理信息系统中信息处理和交互的主要手段之一。报表是人们归纳性地观察世界的最常用的一种手段。报表资源其实是办公资源重要组成部分,也是各级领导经营决策的有力保障。企业间信息交互频度的增加和人们对信息的总体把握程度的提高,要求报表能够实现多层次多方位的数据采集、汇总、挖掘、抽取以及多种格式的输出,办公自动化程度的深人也要求报表的设计要便于操作、维护简便。1.2 如何用XML描述数据报表1.2.1 XML描述通用报表的基本思想 描述通用报表,需要考虑以下几个方面: 1) 报表框架信息。XML描述文件要能够实现对任意结构的报表描述,且对已制作的报表允许用户任意修改,同时能根据用户的需求方便地控制报表的输出格式。 2) 报表数据信息。根据XML描述的数据信息,系统能实现报表数据的生成与分析功能。用户根据实际业务情况,输入已知数据、描述或定义未知数据的产生方法,系统据此自动计算产生数据,并能实现数据的综合查询和统计功能。 3) 报表的审核信息。这部分的信息用来确保报表数据的准确度。报表的框架信息是描述报表外观结构的。报表在表现形式上千差万别,尤其是中国式的报表,包含了复杂的表头和特殊的表格线、小计、合计等格式,这种不规则的信息很难用普通的数据结构表现出来。但是复杂的报表都可以看成一些简单表的拼接,比如一个复杂的报表可以分解成标题、表头、表体、表尾四个部分,同时简单表又都可以由单元格堆砌而成。利用单元格堆砌出来的报表具有编辑的单元性,因此可以对每个单元格独立地定义其单元格大小、显示边界、边界特性、单元格背景色、前景色、字体特性等属性,从而可以描述出理想的报表框架信息,其适应性更广。本文对报表框架信息的描述就是采用这种单元格堆砌的思想。1. 2.2 XML描述通用报表的几个要点 1)单元格的分组描述,通常,不同报表的表头、表尾在布局上大同小异,但表体相差较大。在单元格堆砌时,将单元格按表头、表体、表尾分组描述不仅结构清楚、降低描述的复杂度,而且还能方便地设计表头、表尾的描述模板,减少报表设计人员的工作量。 2) 避免单元格的嵌套描述,这样能减弱XML描述文档结构的复杂度,有利于应用程序对XML文件的修改和解析。 3) 明确标志单元格的相对位置,单元格的相对位置在单元格堆砌报表描述中非常关键,我们用“组行列”的层次包含关系描述报表框架信息,用单元格在该单元格组中的相对行号和列号标志单元格的相对位置。 4) 定义单元格宽度和高度的基准。我们把任何单元格组的第0行、第0列定义为没有任何扩展的(该行单元格数目在全部行中最多,列也是一样)冗余单元格,这些单元格用来定义宽度和高度(第0行高度为0,第0列宽度为0),其它单元格的高度或宽度默认以这些单元格为基准,是这些单元格高度或宽度的组合。以一个基准来定义单元格的高度和宽度,使得定义准确、描述简单,能使得单元格的显示效果严格对齐。 5) 设定默认值或者冗余项,以减少XML文件的大小。单元格堆砌中,由于单元格有很多共性,比如表头表尾数据基本上都是字符串,表体的数据大多都是数字类型、右对齐、字体属性基本相同等,如果每个单元格都描述这些属性,Xb比文件就显得冗余。我们可以在单元格组中定义一些默认值来解择单元格中不定义但又必要的属性。同时可以添加冗余项以减小描述文件的大小,如上述定义单元格宽度和高度的基准的思想。报表的数据信息不仅包括要录入报表的原始数据、报表的固定参数,还包括从别的报表传递进来的数据以及通过表内或表间相关数据的计算而得到的数据。有些数据提供的是报表的基本信息或者是供用户填报时的参考信息,这些数据不需要入库,而需要入库的数据不仅是那些填报的原始数据或者是计算出来的数据,甚至于从别的报表读取的数据也需要入库。因而对这些数据进行合理的分类对报表的描述是非常必要的。这些数据都涉及两个属性:数据来源和需要入库情况。需要入库情况只分为入库和不入库两种;而数据来源可以有多种分法,比如是静态的数据(直接填报而不需要进一步处理的数据)还是表达式运算的数据,是直接录入的数据还是从别的数据源查询的数据等。本文对数据来源以需要手工填报还是系统自动填报来分类,从每种类别的数据抽象出一些共同的属性,这些属性的组合就可以涵盖报表需要处理的所有数据类别。使用图例说明如下图1所示:取值类型单元格信息单元格信息表达式信息数据类型表达式元素信息值表达式手工录入自动录入查询条件 入库不入库字段信息图1 通用报表数据分类描述示意图一般来说,手工输入而不入库的数据往往是在身份验证等情况下使用,在报表中这种数据比较少用,我们暂时忽略。图1中类数据用的最多,它是报表原始数据的主要来源,类数据往往是用户填报时的参考数据(比如用户填报或查询报表时需要使用显示的对应于该用户的基本报表信息等),类数据往往用在汇总或者表间小计中。应用程序对数据进行处理时,类数据的优先权要高于类数据,因为类数据可能要用到类数据,如类数据的某值是类数据的某几个值的和等情况。1.2.3 用XML描述通用报表的意义由于XML是纯粹的文本文件,它描述的信息不受平台的限制,由于其半结构化的特点使得描述出来的信息文档结构清晰、操控简单,便于应用程序对通用报表的实现以及不同应用系统之间报表信息的交互,与数据库格式存储的通用报表信息相比较,它具有更大的灵活性、稳定性和可移植性。当前,由于信息量交互的大大增加,CS结构的系统正在逐渐向三层BS结构的系统转变,而XML文件由于便于操控而成为联系客户和数据源的中间层(业务逻辑层)软件首先的数据传递媒介,用XML描述通用报表是报表应用系统中使用三层结构实现系统的前提。1.3 数据报表的设计方案在企业的信息管理中不可避免地要编制各式各样的报表,报表是了解企业生产、销售等各个环节的重要依据。报表设计是数据库应用系统的一个重要环节,实现起来较为烦琐。以往的报表系统大多采用如下两种方案:a.报盘,即各个下属单位手工编制好报表或安装相应的报表生成软件生成好报表后将报盘送交其上级单位,上级单位以此为据编制本单位报表;b.两层CS广域网方案,采用专线将上级与其各个下属单位联成广域网,采用两层CS模式,由数据库服务器与客户端软件实现,下属单位使用客户端软件输入报表相关数据,上级单位直接通过客户端软件生成报表。这两种方案都有较大的不足之处:“报盘”方案由于受到地域、时间等各方面条件的限制实时性不强,用户提交数据非常麻烦,并且成本较高;“两层CS广域网方案”网络费用昂贵,客户端软件升级、维护及培训用户的费用也较高,并且安装较麻烦。随着web技术与分布式对象技术两者的有机结合,传统的ClientServer主从结构逐渐向灵活的多级分布式web计算模型演变。基于Internet平台的应用软件结构(即通常所说的BS结构)由于其良好的分布式结构、跨平台特性逐渐成为应用软件开发的一种趋势。因此,研究Internet环境下的报表技术具有重要的现实意义。1.3.1 基于XML的BS模型a.XML的优势 XML(可扩展的标记语言)是用来定义文档标记语言的框架,是一种跨平台的开放式语言。它是标准的通用标记语言SGML的一个子集,用于支持Internet上有结构文档的交换,与HTML相比,XML是面向内容的,它具有更多的结构和更多的语义,良好的可扩展性,简单而易于掌握,自描述等特点,特别适用于web上的数据交换,所以我们可以预言XML将成为数据组织和交换的事实标准。在信息传递和表现上,XML具有以下几个明显的优势:(1) 简单、精确而且高效的信息提取。由于XE比采用基于内容的数据标志符集合,标志符本身含有数据的语义信息,因此,信息的检索、分类,以及相关度标定等操作变得很简单,并且精度较高,运行速度较快.(2) 灵活多变的信息关联。XML通过xLL上进一步扩展了目前Web上的简单链接,支持双向链接、多目标链接、扩展链接、两个文档之间的链接等.(3) 可个性化的信息表现。XML支持数据与表现形式的分离,同样的数据集合,通过不同的样式表,能以不同的效果出现在用户面前,从而提供了根据用户的要求显示不同数据子集的途径.(4) 很少冗余的信息传送。XML技术支持在客户端动态改变数据的表现形式,因此,当用户提出以不同的形式或风格再现数据子集时,客户端浏览器不必再和web服务器打交道,可直接根据XSL和XML数据文件再现数据子集,从而通过减少冗余信息的传送,降低网络数据流量。 (5)较高的运行质量。XML严格的语法规定,确保了提取信息的高效性,使客户端浏览器不再过分臃肿,而且运行更为可靠。由于XML具有良好的数据存储格式、可扩展性、高度结构化以及便于网络传输的特点,决定了其在新的网络环境下具有较大的优势,其前途是光明的。b.基于XML的BS结构中的数据模型 图2是基于XML的BS结构的数据模型。从网络体系结构各层次上看,基于XML的BS模型具体实现的功能概括如下: 数据层实现数据的集成。XML数据产生于多种数据源,但都以统一的XML格式表达传输。 应用层实现数据的发送与处理。应用服务器通过HTTP交换数据,通过DOM处理XML数据。 表现层实现数据的显示。XML数据可以有多种表现形式,而且可以为外部直接访问、编辑或转换,也可以被其它系统所用。浏览器2浏览器3浏览器1表现层 XML XML XML应用服务器应用层 数据库服务器数据层图2 基于XML的B/S结构中的数据模型1.3.2 基于xML的BS模型的应用过程分析如下: (1) 从数据层获取数据生成XML文档 由于xML能够使不同来源的结构化数据很容易地结合在一起,所以通过xML可以在中间层服务器上对从后端数据库和其它应用来的数据进行集成,然后,数据被发送到客户或其它服务器做进一步的集合、处理和分发。虽然每个数据库描述数据是不尽相同的,但xML可以自己定义文件标签。(2) XML数据的发送与刷新 利用XML开放的、基于文本的格式,可以将它通过HTTP像HTML一样传送。同时,中间层应用服务器将支持XML更新功能,将数据服务器上数据的变化及时地传送给客户,反之亦然。因此,中间层能够从客户端得到更新后的数据,并能把数据传送到数据库服务器上。 (3) XML数据在表示层的显示 XML描述的数据发送到表示层后,能够用多种方式显示XML定义的数据,其显示与内容是分开的,因此允许对同一数据指定不同的显示样式,使数据更合理地表现出来。CSS和XSL为数据的显示提供了多种选择,本地数据能够以客户配置、使用者选择或其它标准决定的方式动态地表现出来。(4) 处理和编辑XML数据 在基于XML的BS模型中,不但能够通过XML集合多个数据源的数据,并能把数据源数据及时传输给表示层,而且,只要能理解XML数据,就能从客户层处理和编辑中间层的数据,然后通过中间层与数据层之间的数据刷新机制,对数据层数据进行刷新。运用XML解析器能够读入一串XML数据,经过处理,产生一棵结构树,使用DOM把所有数据元素作为对象,可用解析器或者脚本对数据进行进一步的处理,或者把数据移交给另外的应用软件或对象进行进一步的处理。 1.3.3 基于XML的BS模式的报表模型a.报表模型应遵循的原则 要保证一种报表模型具有先进性、适用性强的特点,应该遵循以下原则: (1)易维护和升级。在Internet环境下开发应用系统,应尽量降低客户端的开发工作量,使系统能够集中在服务器端进行修正和升级。因此,Internet环境下的报表模型应该满足多层结构。 (2)结构、数据分离。结构和数据分离可以增强数据的独立性,提高数据的共享程度,方便用户对接收到的数据进行二次加工,使用户可以根据个人喜好改变数据的外观显示。 (3)数据传输量小。目前Internet上的用户数成倍增长,网络负荷过大,网络传输速度越来越慢,如果能减少数据传输量,将能更有效地利用网络资源,使应用系统具有较高的运行效率。b.基于XML的BS模式的报表模型 基于以上考虑,我们提出一种“基于XML的BS模式的报表模型”。在该模型中,用户接口提供报表显示功能,将获得的用户报表数据在终端显示出来并允许用户对获得的报表数据进行分解、合成、过滤。应用服务器提供的功能包括定义模板、分析报表、解析XML文档、显示报表、数据转换等。其实现流程如图3所示。 用户接口应用服务器模板定义报表分析文档解析报表显示数据转换浏览器1数据库 浏览器2 XML XML 浏览器3CSS/XSL样式图3 基于XML的BS模式报表模型实现流程图该模型充分利用了XML的特点,通过DSO进行XML的数据绑定可以方便地将XML节点同HTML标记捆绑,从而便于从xML文档中读取数据。对于XML文档,可以通过DOM读取XML文档中的节点,XML文档可以通过赋予一定的样式信息(CSSxSL样式)进而按用户要求在web浏览器中显示。 该报表模型各个过程(1)(4)分析如下: (1) 用户在客户端通过浏览器提出编制报表请求,应用服务器据此生成相应的XML文档,利用DOM和SAX解析该文档,提取出编制该报表所需的表信息。 (2) 应用服务器依据过程(1)解析出的信息生成XML文档,向数据库服务器发出请求,要求传递相关表的信息。(3) 数据库服务器将相关表的信息生成XML文档,返回给应用服务器,应用服务器解析过程(2)生成的XML文档,并提取出与编制报表有关的相关信息,按业务要求生成报表数据,转换为相应的XML文档。 (4) 浏览器依据XML文档内容按CSS或XSL样式要求显示在浏览器上,供用户浏览。 由以上分析可见,如何将数据库中数据组织成XML文件发送给应用服务器,以及应用服务器如何识别XML文件以提取出相关数据是编制报表的关键,下面对此做详细说明。实际上,报表所需信息被存储在数据库的表中。具体实现时,首先设计一个Schema,用它的元素及属性来描述数据库中表的结构,如表属性、列属性等,这个Schema描述了表的共性,可以被具体的描述表结构的XML文件在名字空间中引用;其次,每个具体的描述表结构的XML文件必须设计自己的Schema, 用来描述与它对应的表的具体属性值,这样就可以刻画出一张表的结构了;最后每个具体的XML文件还要包含一个数据区,用于运送该表中具体数据。具备这三方面的内容后,数据的接收方(应用服务器)就可以根据接收到的XML文件中的Schema来解析数据区中的数据,从而可提取编制报表所需的数据。如何将一张表对应到一个XML文件?使用基于XML的中间件技术是一个很好的解决方法。可以选用微软的ADO作为中间件,ADO先将数据从基本表中提取到结果集,然后再将结果集存储成XML文件。具体实现时,一般是将数据库中的信息组织成树型结构,便于XML文件描述它,也便于其它应用识别该XML文件。 在将编制好的报表数据发送到浏览器以供显示时,可以在网页中嵌入DSO(数据源对象),把DATASRC属性的值指定为XML文件对象的名字,并把DATAFLD的属性的值指定为xML元素的一般标志符就可把XML元素的数据内容与HTML元素联系起来。依靠IE5.0内置的XML功能,将分析过的XML文档以DOM表示,脚本程序就可以通过这种方式访问XML文件中的数据内容,并将数据动态地显示到用户界面中。二 开发工具2.1 编写工具2.1.1 一般文本编辑器(1) 利用Windows的WordPad(写字板)(2) 利用Windows记事本2. 1.2 XML专用编辑器(1) XML Spy XML Spy是XML语言的集成式开发环境,将XML的一系列强大功能放进这个简单易用的环境中。该程序的主要功能在于可以验证你的文件,其界面分成四个部分,让所有的信息一目了然。可以在http//download.html网站中找到此程序,下载XML Spy编辑器。(2) XML NotepadXML Notepad是由Microsoft所开发出的编辑器,是一个较为简洁的编辑器,对于小型的XML文件尤其适合,提供XML树状结构的显示和列表式的输入界面。我们可以到此网站下载最新的XML Notepad。网址为http/www.M/library/default.asp?url=/library/en-us/dnxml/html/xmlpaddownload.asp。2.2 解析器2.2.1 什么是解析器通过之前的介绍,对于XML有了不少的了解,知道虽然XML简化了SGML的高复杂性,却仍然保留着SGML的严谨规范,也正因为XML有着严谨的对文件结构的规范,我们往往会忘记检查而忽视一些规范,造成文件的错误,因此解析器(Parser)就诞生了。解析器依据XML的语法,替我们省下不少检查的工夫,这也就是为何大多数专门的编辑器会将解析器的功能融入其中的原因。根据一份XML文件有无DTD,可分为格式正确的(Well-formed)文件以及有效的(Validating)文件,这些名词在第二章中有介绍,解析器也因此分为两类:Well-formed Parser以及Validating Parser,以Validating Parser的功能较为复杂且强大,因为它除了可以达到前者检查是否为Well-formed的功能外还有检验DTD是否正确的功能。2.2.2 IE 5.0的解析器功能如果操作系统为Microsoft Windows 2000或是Windows Me,那么你的计算机已经具备了IE 5.0版本,并且IE 5.0属于Validating Parser(有效的解析器)。如果XML语法或结构出现错误,IE 5.0会识别出来,并指出文件中错误的信息与位置。三 基于XML的数据库总体分析我们知道当存在大量数据需要处理分析的话,最好是把这些数据放到数据库中,所以几乎所有大型的商业应用系统都是和数据库相关联的,所以如果XML需要在商业领域大展宏图的话,也必须要和数据库相联系。所以这里首先需要讨论的一点问题是,XML本身是不是数据库,从严格的意义上来说,XML仅仅意味着XML文档。因为尽管一个XML文档包含数据,但是如果不通过其他的软件的软件来进行数据处理的话,它本身只不过是一个文本文件。所以XML本身不不能和数据库挂上钩,但是加上一些其他的辅助工具,我们可以把整个XML看成是一个数据库系统,XML文本本身可以看成是数据库中的数据区,DTD或者Schemas可以看成是数据库模式设计,XQL可以看成是数据库查询语言,SAX或DOM可以看成是数据库处理工具。3.1 为什么要把XML和数据库相联系举个例子来说明这个问题,比如你有一个电子商务的应用程序需要使用XML来进行数据传输。你所关心的是数据本身应该具有的结构,你并不关心它在文档中实际的存储结构。如果你的应用程序很简单的话,基本的文件系统将满足你的需求,但如果应用本身很复杂的话,你就需要一个完整的开发应用环境来支持XML。从另一个方面来说,假设你有一个Web站点,它的内容是由一系列XML文档构成的,你不仅要管理这个站点,同时你需要提供给用户一个搜索该站点内容的机制。而这些都需要借助数据库来实现。选择一个数据库的最重要的因素是你是否需要数据库来存储数据或者是文档,如果你想要存储数据的话,你需要一个关系数据库或者是对象数据库来存储实际的数据,同时你需要中间件在数据库和XML文档之间建立桥梁关系,从另一方面来说,如果你想要存储文档,你需要一个内容管理系统,通过它进行文档的存储。实际上,XML文档可以分到两大类:以数据为中心或者以文档为中心。3.2 文档和数据之间的映射为了在数据库和XML文档之间传递数据,必须在文档结构和数据库结构之间建立映射,这种映射可以有两个分类:模板驱动和模型驱动。a. 基于模板驱动的映射需要在一个模板中嵌入命令,并用数据传输中间件进行处理。基于模板驱动的映射可以是相当灵活的,比如,一些产品允许你把结果集放到XML文档的任何位置,同时可以对SELECT语句设置参数,并且可以使用for循环语句和if条件语句等。值得注意的是,当前基于模板驱动的映射只能应用于在关系数据库和XML文档之间传递数据。b. 基于模型驱动的映射把数据从数据库传送到XML文档是用一个具体的模型实现的,这样,XSL可以被结合到基于模型映射的产品上。在XML文档中,两种模型是很常见的:表格模型(table model)和数据专用对象模型(data-specific object model)。(1) 表格模型许多中间件软件包用表格模型在XML文档和关系数据库之间传递数据。它把XML文档表示为一个单一的表格或者是表格的集合。这样,一个XML文档的结构可以用如下的形式表示:databasetablerowcolumn1./column1column2./column2./row./table./database这里关键字talbe在把数据从数据库传递到XML文档的时候,表示一个单一的结果集,把数据从XML文档传递到数据库的时候,表示表示一个单一的表格或者视图。但是,当结果集合不只一个的时候,或者当XML文档包括多个复杂嵌套的时候,这种传递方式就不能适应了。(2) 数据专用的对象模型把一个XML文档表示为由数据对象构成的树,每一个元素类型和对象相对应。主要在面向对象和层次数据库中使用,通过传统的关系-对象模型也可以映射到关系数据库中。注意这种模型并不是文档对象模型(DOM)。比如,销售订单文档可以被看成一个对象树,其中包括五个类:Orders, SalesOrder, Customer, Line, 和Part。当把一个XML文档看成是一个以数据为中心的对象树的时候,元素不一定和对象相对应,比如,一个元素只包含PCDATA,它能够被当成一个属性,它包括一个单一的,标量值。3.3 XML和数据库之间进行数据转化的过程实际上在XML和数据库之间进行数据转化的时候,需要考虑两个过程:一个是从数据库模式中产生DTD,另外一个是根据DTD生成数据库模式a. DTD中生成一个关系模式从一个DTD中生成一个关系模式的步骤如下:1. 对每一个元素,产生一个表和一个主键列。 2. 对每一个有混合内容的元素,产生一个独立的表格,用来存储PCDATA,并通过父表的主键和父表相联。 3. 对元素类型中的每一个单一值的属性,对具有只有PCDATA内容的子元素(该子元素按顺序出现),产生一个单独的列,如果子元素类型或者值是可以选择的话,该列就应该可以允许为NULL类型。4. 对有多个值的属性和可以出现多次的子元素(该子元素PCDATA)的话,需要创建一个单独的表来存储这些值,并通过父表的主键和父表相联。 5. 对每一个包含元素或者混合内容的子元素来说,通过父表的主键把父元素和子元素联接起来。b. 关系数据库模式构建DTD从一个关系数据库模式构建DTD步骤如下:1. 对每一个表,创建一个元素。 2. 对表中的每一列,创建一个属性或者是一个只有PCDATA 内容的子元素。 2. 根据表中的每一主键外键关系,创建该表元素的子元素。四 系统设计4.1 需求分析随着互联网上应用的逐步增多,各种数据报表的制作和打印、以及报表数据的采集都成了越来越急需解决的问题。软件工作者一直在致力于通用报表生成工具的开发,用以减轻系统开发人员的开发工作日,提高工作效率。通用报表系统通过可视化的事务处理手段,充分利用网络技术和联机事务处理,使用户能够拥有简便而精确的方法来获取正确而易用的数据和分析结果。功能模块图如下:通用报表系统报表展现数据上报报表设计器系统管理数据挖掘在线报送离线报送系统注册系统配置权限管理图4其实通用报表,是一个可以设计丰富的报表样式,设计便捷美观的数据采集(输入)工具,界面类似Excel的报表。其文件结构是基于xml(xml-based)格式的并支持xslt,可以现行的各种数据库互交,但由于本人能力有限,没有按照事先设计好的功能模块去实现,只好退而求其次,设计了一个顾客消费清单。用户登录其数据流程图如下: 判断 非法用户注册 合法用户顾客资料的填写 是是否继续填写否形成表单输出图54.2 系统特点1、系统模型先进,可轻易实现柔性定制模板的自定义使企业能够根据自身发展定义适合不同经营特点的业务报表,企业的系统管理人员经过培训也可以自行操作。1、 迭代式增长考虑到政府部门所涉及到的业务报表较多,且各企事业单位、个人、团体都需要与政府交互,通用报表系统作为政府交互应用在系统规模上、并发能力的处理上可能在一定的时间内无法达到用户的要求,这就要求整个应用系统能够实现7*24小时高可靠运行情况下实现迭代式增长。通用报表系统、操作系统、数据库系统以及各类硬件平台,都能够满足这一要求,从而为保证后期大用户量的访问,保证后期不断增加新的报表类别。2、 操作简便系统设计时充分进行了人性设计,使用者可以方便使用。3、 平台融合性可无缝集成于综合办公平台,实现平台框架统一管理、维护,实现单点登录。4、 系统无关性采用先进完全多层架构,适合各种操作系统,方便系统移植升级。5、 数据库无关性前瞻性的数据结构定义,完全适合企业不同业务系统、不同数据模型的整合,最终实现所有历史数据的统一挖掘展现。6、 安全的体系结构通过使用CA认证系统以及系统内置的用户安全认证机制,为通用报表系统提供完备的安全体系结构。7、 在线数据校验,确保填报数据的有效性4.3 系统组成数据报表由三部分组成:报表设计器、Web服务器引擎、Web浏览器插件。报表设计器:报表设计器用以对Web报表主体进行设计,包括Web报表版面的设计、数据源定义、数据重组(过滤、计算等)的函数设计、Web报表被引用参数的定义等。 Web服务器引擎:Web报表服务器引擎用以在Web服务器端解析报表内容,接受并解析应用系统传递来的控制参数,挖掘并分析处理数据源数据,形成完整的Web报表包传递给浏览端。 Web浏览器插件:Web浏览器插件用以在Web浏览端,如Web环境的IE浏览器等,对Web服务器端传递过来的报表包进行解析展现、进行数据再分析,并控制打印。 4.4 系统功能4.4.1离线报送针对目前不方便上网的填报者,系统提供离线报送的功能,使填报者可以在本地机器上填写数据,然后通过电子文件导出的方式,用磁盘送到管理中心导入。也可以在上网方便时连接到主系统,事先自动报送。4.4.2在线报送通过Internet网络直接填报数据,填报的数据马上就可以被中心工作人员查看。填报过程中,系统根据设定的业务逻辑,对填写的数据提供实时数据校验,确保填写的数据的有效性。4.4.3数据挖掘有些用户原来已经使用了业务系统,如人事系统、业务管理系统等,这些系统已经积累了一定的数据资源,为充分利用这些资源,本系统提供数据挖掘功能,对历史数据进行二次挖掘,在此基础上实现历史数据与新报表的绑定。4.4.4报表设计器本模块运用XML技术,采取可视化界面设计用户所需要的报表模板。设计器支持表达式定义、分组、报表嵌套等功能,既可以简单使用,又支持复杂报表的创建。4.4.5报表展现引擎本模块将报表展现出来给管理人员和机关领导决策分析。本模块采用高效数据解释引擎,对报表设计器所创建的模板进行解析和展现,展现的结果可以发送给数据源、网页、PDF文档、图片、EXCEL文件等多种格式。4.4.6数据上报报表在本系统产生后,可以通过数据上报功能,将报表以网页、PDF文档、图片、EXCEL文件等多种格式上报给上级机关,也可以通过上级机关业务系统的数据接口直接写入。5.4.7 系统管理(1)系统注册登录本系统的用户必需注册,并经管理员确认开通后,才能使用本系统。(2)权限管理设定注册用户可以操作的报表类别范围,确保正确的人做正确的事。(3)系统配置定义系统界面形式、服务安装目录等信息。4.5 系统实现这个通用数据报表系统是基于XML构建的,使用XSL样式表来进行XML文档的转换与显示。因此,这个系统有一些.xml文件和.xsl文件。可以把整个通用数据报表系统的页面根据起作用分为三个部分,包括系统注册部分、填写信息资料部分、形成表单部分。这三部分基本上是互相独立的,各自有着不同的功能。 关于这三部分的实现,稍后会一一介绍。4.5.1 新用户注册在此部分中将会显示新用户注册的界面,用户注完册后会出现在黄颜色的表格中。编程思路:首先通过XML将数据显示到浏览器,如果要添加新用户,先在新用户的文本输入框中输入用户名,然后点击“新用户注册”按钮,这时在“用户列表”栏中就会显示出新添加的用户名,最后点击“保存”按钮就可以了。界面如下:图6 4.5.2 填写信息资料在此部分中我们会看到顾客资料,还可以自己添加顾客信息。编程思路:在此部分中要把XML数据输出到输入框,并且允许数据添加,也就是说我们可以看到顾客资料,还可以自己添加顾客信息。通过函数showXML()实现对所有记录的显示,通过函数addNew(),把顾客信息添加到记录集的数据中。XML数据编辑如下: 甲 1969年8月15日 189cm 87公斤 3225475 津市 乙 1974年7月17日 175cm 70公斤 7189246 澧县 丙 1975年7月5日 184cm 78公斤 7777770 安乡 那到底怎样形成.xml文件呢?请看如下代码:填写顾客信息资料姓名:出生日期:如需增添其他信息,只要照上面的格式,再更改粗体部分就可以了.通过函数showXML()实现对所有记录的显示:function showXML() if (ShowXML.value = 显示XML文件) insertXML.innerHTML = xmlid.transformNode(xmlid.XMLDocument); ShowXML.value = 隐藏XML文件; else insertXML.innerHTML = ; ShowXML.value = 显示XML文件; 通过函数addNew(),把顾客信息添加到记录集的数据中:界面如下:图7顾客信息的两种表现形式:在XML文件中通过XSL将数据以文本和表格两种不同的表现方式输出给浏览器。编程思路:通过XSL文件可以对XML文件中的数据进行处理,通过点击“查看源

温馨提示

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

评论

0/150

提交评论