收藏 分享(赏)

基于XML通用数据报表系统的设计与实现.doc

上传人:dzzj200808 文档编号:3160143 上传时间:2018-10-05 格式:DOC 页数:19 大小:409KB
下载 相关 举报
基于XML通用数据报表系统的设计与实现.doc_第1页
第1页 / 共19页
基于XML通用数据报表系统的设计与实现.doc_第2页
第2页 / 共19页
基于XML通用数据报表系统的设计与实现.doc_第3页
第3页 / 共19页
基于XML通用数据报表系统的设计与实现.doc_第4页
第4页 / 共19页
基于XML通用数据报表系统的设计与实现.doc_第5页
第5页 / 共19页
点击查看更多>>
资源描述

1、1基于 XML 通用数据报表系统的设计与实现一 关于通用数据报表1.1 什么是报表报表是办公自动化及管理信息系统中信息处理和交互的主要手段之一。报表是人们归纳性地观察世界的最常用的一种手段。报表资源其实是办公资源重要组成部分,也是各级领导经营决策的有力保障。企业间信息交互频度的增加和人们对信息的总体把握程度的提高,要求报表能够实现多层次多方位的数据采集、汇总、挖掘、抽取以及多种格式的输出,办公自动化程度的深人也要求报表的设计要便于操作、维护简便。1.2 如何用 XML 描述数据报表1.2.1 XML 描述通用报表的基本思想 描述通用报表,需要考虑以下几个方面: 1) 报表框架信息。XML 描述

2、文件要能够实现对任意结构的报表描述,且对已制作的报表允许用户任意修改,同时能根据用户的需求方便地控制报表的输出格式。2) 报表数据信息。根据 XML 描述的数据信息,系统能实现报表数据的生成与分析功能。用户根据实际业务情况,输入已知数据、描述或定义未知数据的产生方法,系统据此自动计算产生数据,并能实现数据的综合查询和统计功能。3) 报表的审核信息。这部分的信息用来确保报表数据的准确度。报表的框架信息是描述报表外观结构的。报表在表现形式上千差万别,尤其是中国式的报表,包含了复杂的表头和特殊的表格线、小计、合计等格式,这种不规则的信息很难用普通的数据结构表现出来。但是复杂的报表都可以看成一些简单表

3、的拼接,比如一个复杂的报表可以分解成标题、表头、表体、表尾四个部分,同时简单表又都可以由单元格堆砌而成。利用单元格堆砌出来的报表具有编辑的单元性,因此可以对每个单元格独立地定义其单元格大小、显示边界、边界特性、单元格背景色、前景色、字体特性等属性,从而可以描述出理想的报表框架信息,其适应性更广。本文对报表框架信息的描述就是采用这种单元格堆砌的思想。1. 2.2 XML 描述通用报表的几个要点 1)单元格的分组描述,通常,不同报表的表头、表尾在布局上大同小异,但表体相差较大。在单元格堆砌时,将单元格按表头、表体、表尾分组描述不仅结构清楚、降低描述的复杂度,而且还能方便地设计表头、表尾的描述模板,

4、减少报表设计人员的工作量。 2) 避免单元格的嵌套描述,这样能减弱 XML 描述文档结构的复杂度,有利2于应用程序对 XML 文件的修改和解析。 3) 明确标志单元格的相对位置,单元格的相对位置在单元格堆砌报表描述中非常关键,我们用“组行列”的层次包含关系描述报表框架信息,用单元格在该单元格组中的相对行号和列号标志单元格的相对位置。 4) 定义单元格宽度和高度的基准。我们把任何单元格组的第 0 行、第 0 列定义为没有任何扩展的(该行单元格数目在全部行中最多,列也是一样)冗余单元格,这些单元格用来定义宽度和高度(第 0 行高度为 0,第 0 列宽度为 0),其它单元格的高度或宽度默认以这些单元

5、格为基准,是这些单元格高度或宽度的组合。以一个基准来定义单元格的高度和宽度,使得定义准确、描述简单,能使得单元格的显示效果严格对齐。 5) 设定默认值或者冗余项,以减少 XML 文件的大小。单元格堆砌中,由于单元格有很多共性,比如表头表尾数据基本上都是字符串,表体的数据大多都是数字类型、右对齐、字体属性基本相同等,如果每个单元格都描述这些属性,Xb 比文件就显得冗余。我们可以在单元格组中定义一些默认值来解择单元格中不定义但又必要的属性。同时可以添加冗余项以减小描述文件的大小,如上述定义单元格宽度和高度的基准的思想。报表的数据信息不仅包括要录入报表的原始数据、报表的固定参数,还包括从别的报表传递

6、进来的数据以及通过表内或表间相关数据的计算而得到的数据。有些数据提供的是报表的基本信息或者是供用户填报时的参考信息,这些数据不需要入库,而需要入库的数据不仅是那些填报的原始数据或者是计算出来的数据,甚至于从别的报表读取的数据也需要入库。因而对这些数据进行合理的分类对报表的描述是非常必要的。这些数据都涉及两个属性:数据来源和需要入库情况。需要入库情况只分为入库和不入库两种;而数据来源可以有多种分法,比如是静态的数据(直接填报而不需要进一步处理的数据)还是表达式运算的数据,是直接录入的数据还是从别的数据源查询的数据等。本文对数据来源以需要手工填报还是系统自动填报来分类,从每种类别的数据抽象出一些共

7、同的属性,这些属性的组合就可以涵盖报表需要处理的所有数据类别。使用图例说明如下图 1 所示: 手工录入不入库自动录入入库单元格信息单元格信息表达式信息表达式元素信息字段信息取值类型数据类型值表达式查询条件3图 1 通用报表数据分类描述示意图一般来说,手工输入而不入库的数据往往是在身份验证等情况下使用,在报表中这种数据比较少用,我们暂时忽略。图 1 中类数据用的最多,它是报表原始数据的主要来源,类数据往往是用户填报时的参考数据(比如用户填报或查询报表时需要使用显示的对应于该用户的基本报表信息等),类数据往往用在汇总或者表间小计中。应用程序对数据进行处理时,类数据的优先权要高于类数据,因为类数据可

8、能要用到类数据,如类数据的某值是类数据的某几个值的和等情况。1.2.3 用 XML 描述通用报表的意义由于 XML 是纯粹的文本文件,它描述的信息不受平台的限制,由于其半结构化的特点使得描述出来的信息文档结构清晰、操控简单,便于应用程序对通用报表的实现以及不同应用系统之间报表信息的交互,与数据库格式存储的通用报表信息相比较,它具有更大的灵活性、稳定性和可移植性。当前,由于信息量交互的大大增加,CS 结构的系统正在逐渐向三层 BS 结构的系统转变,而 XML 文件由于便于操控而成为联系客户和数据源的中间层(业务逻辑层)软件首先的数据传递媒介,用 XML 描述通用报表是报表应用系统中使用三层结构实

9、现系统的前提。1.3 数据报表的设计方案在企业的信息管理中不可避免地要编制各式各样的报表,报表是了解企业生产、销售等各个环节的重要依据。报表设计是数据库应用系统的一个重要环节,实现起来较为烦琐。以往的报表系统大多采用如下两种方案:a.报盘,即各个下属单位手工编制好报表或安装相应的报表生成软件生成好报表后将报盘送交其上级单位,上级单位以此为据编制本单位报表;b.两层 CS 广域网方案,采用专线将上级与其各个下属单位联成广域网,采用两层 CS 模式,由数据库服务器与客户端软件实现,下属单位使用客户端软件输入报表相关数据,上级单位直接通过客户端软件生成报表。这两种方案都有较大的不足之处:“报盘”方案

10、由于受到地域、时间等各方面条件的限制实时性不强,用户提交数据非常麻烦,并且成本较高;“两层 CS 广域网方案”网络费用昂贵,客户端软件升级、维护及培训用户的费用也较高,并且安装较麻烦。随着 web 技术与分布式对象技术两者的有机结合,传统的 ClientServer 主从结构逐渐向灵活的多级分布式 web 计算模型演变。基于 Internet 平台的应用软件结构(即通常所说的BS 结构)由于其良好的分布式结构、跨平台特性逐渐成为应用软件开发的一种趋势。因此,研究 Internet 环境下的报表技术具有重要的现实意义。1.3.1 基于 XML 的 BS 模型a.XML 的优势 XML(可扩展的标

11、记语言)是用来定义文档标记语言的框架,是一种跨平台的开放式语言。它是标准的通用标记语言 SGML 的一个子集,用于支持 Internet上有结构文档的交换,与 HTML 相比,XML 是面向内容的,它具有更多的结构和更多的语义,良好的可扩展性,简单而易于掌握,自描述等特点,特别适用于4web 上的数据交换,所以我们可以预言 XML 将成为数据组织和交换的事实标准。在信息传递和表现上,XML 具有以下几个明显的优势:(1) 简单、精确而且高效的信息提取。由于 XE 比采用基于内容的数据标志符集合,标志符本身含有数据的语义信息,因此,信息的检索、分类,以及相关度标定等操作变得很简单,并且精度较高,

12、运行速度较快.(2) 灵活多变的信息关联。XML 通过 xLL 上进一步扩展了目前 Web 上的简单链接,支持双向链接、多目标链接、扩展链接、两个文档之间的链接等.(3) 可个性化的信息表现。XML 支持数据与表现形式的分离,同样的数据集合,通过不同的样式表,能以不同的效果出现在用户面前,从而提供了根据用户的要求显示不同数据子集的途径.(4) 很少冗余的信息传送。XML 技术支持在客户端动态改变数据的表现形式,因此,当用户提出以不同的形式或风格再现数据子集时,客户端浏览器不必再和 web 服务器打交道,可直接根据 XSL 和 XML 数据文件再现数据子集,从而通过减少冗余信息的传送,降低网络数

13、据流量。 (5)较高的运行质量。XML 严格的语法规定,确保了提取信息的高效性,使客户端浏览器不再过分臃肿,而且运行更为可靠。由于 XML 具有良好的数据存储格式、可扩展性、高度结构化以及便于网络传输的特点,决定了其在新的网络环境下具有较大的优势,其前途是光明的。b.基于 XML 的 BS 结构中的数据模型 图 2 是基于 XML 的 BS 结构的数据模型。从网络体系结构各层次上看,基于 XML 的 BS 模型具体实现的功能概括如下: 数据层实现数据的集成。XML 数据产生于多种数据源,但都以统一的XML 格式表达传输。 应用层实现数据的发送与处理。应用服务器通过 HTTP 交换数据,通过DO

14、M 处理 XML 数据。 表现层实现数据的显示。XML 数据可以有多种表现形式,而且可以为外部直接访问、编辑或转换,也可以被其它系统所用。表现层XML XML XML应用层数据层图 2 基于 XML 的 B/S 结构中的数据模型浏览器 1 浏览器 2 浏览器 3应用服务器数据库服务器51.3.2 基于 xML 的 BS 模型的应用过程分析如下: (1) 从数据层获取数据生成 XML 文档 由于 xML 能够使不同来源的结构化数据很容易地结合在一起,所以通过xML 可以在中间层服务器上对从后端数据库和其它应用来的数据进行集成,然后,数据被发送到客户或其它服务器做进一步的集合、处理和分发。虽然每个

15、数据库描述数据是不尽相同的,但 xML 可以自己定义文件标签。(2) XML 数据的发送与刷新 利用 XML 开放的、基于文本的格式,可以将它通过 HTTP 像 HTML 一样传送。同时,中间层应用服务器将支持 XML 更新功能,将数据服务器上数据的变化及时地传送给客户,反之亦然。因此,中间层能够从客户端得到更新后的数据,并能把数据传送到数据库服务器上。 (3) XML 数据在表示层的显示 XML 描述的数据发送到表示层后,能够用多种方式显示 XML 定义的数据,其显示与内容是分开的,因此允许对同一数据指定不同的显示样式,使数据更合理地表现出来。CSS 和 XSL 为数据的显示提供了多种选择,

16、本地数据能够以客户配置、使用者选择或其它标准决定的方式动态地表现出来。(4) 处理和编辑 XML 数据 在基于 XML 的 BS 模型中,不但能够通过 XML 集合多个数据源的数据,并能把数据源数据及时传输给表示层,而且,只要能理解 XML 数据,就能从客户层处理和编辑中间层的数据,然后通过中间层与数据层之间的数据刷新机制,对数据层数据进行刷新。运用 XML 解析器能够读入一串 XML 数据,经过处理,产生一棵结构树,使用 DOM 把所有数据元素作为对象,可用解析器或者脚本对数据进行进一步的处理,或者把数据移交给另外的应用软件或对象进行进一步的处理。1.3.3 基于 XML 的 BS 模式的报

17、表模型a.报表模型应遵循的原则 要保证一种报表模型具有先进性、适用性强的特点,应该遵循以下原则: (1)易维护和升级。在 Internet 环境下开发应用系统,应尽量降低客户端的开发工作量,使系统能够集中在服务器端进行修正和升级。因此,Internet环境下的报表模型应该满足多层结构。 (2)结构、数据分离。结构和数据分离可以增强数据的独立性,提高数据的共享程度,方便用户对接收到的数据进行二次加工,使用户可以根据个人喜好改变数据的外观显示。 (3)数据传输量小。目前 Internet 上的用户数成倍增长,网络负荷过大,网络传输速度越来越慢,如果能减少数据传输量,将能更有效地利用网络资源,使应用

18、系统具有较高的运行效率。b.基于 XML 的 BS 模式的报表模型 基于以上考虑,我们提出一种“基于 XML 的 BS 模式的报表模型”。在该模型中,用户接口提供报表显示功能,将获得的用户报表数据在终端显示出来并允许用户对获得的报表数据进行分解、合成、过滤。应用服务器提供的功能包括定义模板、分析报表、解析 XML 文档、显示报表、数据转换等。其实现流程如图 3 所示。6用户接口 XML XML 图 3 基于 XML 的 BS 模式报表模型实现流程图该模型充分利用了 XML 的特点,通过 DSO 进行 XML 的数据绑定可以方便地将 XML 节点同 HTML 标记捆绑,从而便于从 xML 文档中

19、读取数据。对于 XML 文档,可以通过 DOM 读取 XML 文档中的节点,XML 文档可以通过赋予一定的样式信息(CSSxSL 样式)进而按用户要求在 web 浏览器中显示。 该报表模型各个过程(1)(4)分析如下: (1) 用户在客户端通过浏览器提出编制报表请求,应用服务器据此生成相应的 XML 文档,利用 DOM 和 SAX 解析该文档,提取出编制该报表所需的表信息。(2) 应用服务器依据过程(1)解析出的信息生成 XML 文档,向数据库服务器发出请求,要求传递相关表的信息。(3) 数据库服务器将相关表的信息生成 XML 文档,返回给应用服务器,应用服务器解析过程(2)生成的 XML 文

20、档,并提取出与编制报表有关的相关信息,按业务要求生成报表数据,转换为相应的 XML 文档。 (4) 浏览器依据 XML 文档内容按 CSS 或 XSL 样式要求显示在浏览器上,供用户浏览。 由以上分析可见,如何将数据库中数据组织成 XML 文件发送给应用服务器,以及应用服务器如何识别 XML 文件以提取出相关数据是编制报表的关键,下面对此做详细说明。实际上,报表所需信息被存储在数据库的表中。具体实现时,首先设计一个 Schema,用它的元素及属性来描述数据库中表的结构,如表属性、列属性等,这个 Schema 描述了表的共性,可以被具体的描述表结构的 XML 文件在名字空间中引用;其次,每个具体

21、的描述表结构的 XML 文件必须设计自己的 Schema, 用来描述与它对应的表的具体属性值,这样就可以刻画出一张表的结构了;最后每个具体的 XML 文件还要包含一个数据区,用于运送该表中具体数据。具备这三方面的内容后,数据的接收方(应用服务器)就可以根据接收到的 XML 文件中数据库应用服务器模板定义报表分析文档解析报表显示数据转换浏览器 1浏览器 2浏览器 3CSS/XSL 样式7的 Schema 来解析数据区中的数据,从而可提取编制报表所需的数据。如何将一张表对应到一个 XML 文件?使用基于 XML 的中间件技术是一个很好的解决方法。可以选用微软的 ADO 作为中间件,ADO 先将数据

22、从基本表中提取到结果集,然后再将结果集存储成 XML 文件。具体实现时,一般是将数据库中的信息组织成树型结构,便于 XML 文件描述它,也便于其它应用识别该 XML 文件。 在将编制好的报表数据发送到浏览器以供显示时,可以在网页中嵌入DSO(数据源对象),把 DATASRC 属性的值指定为 XML 文件对象的名字,并把DATAFLD 的属性的值指定为 xML 元素的一般标志符就可把 XML 元素的数据内容与 HTML 元素联系起来。依靠 IE5.0 内置的 XML 功能,将分析过的 XML 文档以DOM 表示,脚本程序就可以通过这种方式访问 XML 文件中的数据内容,并将数据动态地显示到用户界

23、面中。二 开发工具2.1 编写工具2.1.1 一般文本编辑器(1) 利用 Windows 的 WordPad(写字板)(2) 利用 Windows 记事本2. 1.2 XML 专用编辑器(1) XML SpyXML Spy 是 XML 语言的集成式开发环境,将 XML 的一系列强大功能放进这个简单易用的环境中。该程序的主要功能在于可以验证你的文件,其界面分成四个部分,让所有的信息一目了然。可以在http/ 网站中找到此程序,下载 XML Spy 编辑器。(2) XML NotepadXML Notepad 是由 Microsoft 所开发出的编辑器,是一个较为简洁的编辑器,对于小型的 XML

24、文件尤其适合,提供 XML 树状结构的显示和列表式的输入界面。我们可以到此网站下载最新的 XML Notepad。网址为http/www.M 解析器2.2.1 什么是解析器通过之前的介绍,对于 XML 有了不少的了解,知道虽然 XML 简化了 SGML 的高复杂性,却仍然保留着 SGML 的严谨规范,也正因为 XML 有着严谨的对文件结构的规范,我们往往会忘记检查而忽视一些规范,造成文件的错误,因此解析器(Parser)就诞生了。解析器依据 XML 的语法,替我们省下不少检查的工夫,这也就是为何大多数专门的编辑器会将解析器的功能融入其中的原因。根据一份 XML 文件有无 DTD,可分为格式正确

25、的(Well-formed)文件以及有效的(Validating)文件,这些名词在第二章中有介绍,解析器也因此分为8两类: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(

26、有效的解析器)。如果 XML 语法或结构出现错误,IE 5.0 会识别出来,并指出文件中错误的信息与位置。三 基于 XML 的数据库总体分析我们知道当存在大量数据需要处理分析的话,最好是把这些数据放到数据库中,所以几乎所有大型的商业应用系统都是和数据库相关联的,所以如果XML 需要在商业领域大展宏图的话,也必须要和数据库相联系。所以这里首先需要讨论的一点问题是,XML 本身是不是数据库,从严格的意义上来说,XML 仅仅意味着 XML 文档。因为尽管一个 XML 文档包含数据,但是如果不通过其他的软件的软件来进行数据处理的话,它本身只不过是一个文本文件。所以 XML 本身不不能和数据库挂上钩,但

27、是加上一些其他的辅助工具,我们可以把整个XML 看成是一个数据库系统,XML 文本本身可以看成是数据库中的数据区,DTD或者 Schemas 可以看成是数据库模式设计,XQL 可以看成是数据库查询语言,SAX 或 DOM 可以看成是数据库处理工具。3.1 为什么要把 XML 和数据库相联系举个例子来说明这个问题,比如你有一个电子商务的应用程序需要使用XML 来进行数据传输。你所关心的是数据本身应该具有的结构,你并不关心它在文档中实际的存储结构。如果你的应用程序很简单的话,基本的文件系统将满足你的需求,但如果应用本身很复杂的话,你就需要一个完整的开发应用环境来支持 XML。从另一个方面来说,假设

28、你有一个 Web 站点,它的内容是由一系列 XML 文档构成的,你不仅要管理这个站点,同时你需要提供给用户一个搜索该站点内容的机制。而这些都需要借助数据库来实现。选择一个数据库的最重要的因素是你是否需要数据库来存储数据或者是文档,如果你想要存储数据的话,你需要一个关系数据库或者是对象数据库来存储实际的数据,同时你需要中间件在数据库和 XML 文档之间建立桥梁关系,从另一方面来说,如果你想要存储文档,你需要一个内容管理系统,通过它进行文档的存储。实际上,XML文档可以分到两大类:以数据为中心或者以文档为中心。3.2 文档和数据之间的映射为了在数据库和 XML 文档之间传递数据,必须在文档结构和数

29、据库结构之间建立映射,这种映射可以有两个分类:模板驱动和模型驱动。a. 基于模板驱动的映射9需要在一个模板中嵌入命令,并用数据传输中间件进行处理。基于模板驱动的映射可以是相当灵活的,比如,一些产品允许你把结果集放到 XML 文档的任何位置,同时可以对 SELECT 语句设置参数,并且可以使用 for 循环语句和if 条件语句等。值得注意的是,当前基于模板驱动的映射只能应用于在关系数据库和 XML 文档之间传递数据。b. 基于模型驱动的映射把数据从数据库传送到 XML 文档是用一个具体的模型实现的,这样,XSL可以被结合到基于模型映射的产品上。在 XML 文档中,两种模型是很常见的:表格模型(t

30、able model)和数据专用对象模型(data-specific object model)。(1) 表格模型许多中间件软件包用表格模型在 XML 文档和关系数据库之间传递数据。它把 XML 文档表示为一个单一的表格或者是表格的集合。这样,一个 XML 文档的结构可以用如下的形式表示:databasetablerowcolumn1./column1column2./column2./row./table./database这里关键字“talbe“在把数据从数据库传递到 XML 文档的时候,表示一个单一的结果集,把数据从 XML 文档传递到数据库的时候,表示表示一个单一的表格或者视图。但是,

31、当结果集合不只一个的时候,或者当 XML 文档包括多个复杂嵌套的时候,这种传递方式就不能适应了。(2) 数据专用的对象模型把一个 XML 文档表示为由数据对象构成的树,每一个元素类型和对象相对应。主要在面向对象和层次数据库中使用,通过传统的关系-对象模型也可以映射到关系数据库中。注意这种模型并不是文档对象模型(DOM)。比如,销售订单文档可以被看成一个对象树,其中包括五个类:Orders, SalesOrder, Customer, Line, 和 Part。当把一个 XML 文档看成是一个以数据为中心的对象树的时候,元素不一定和对象相对应,比如,一个元素只包含 PCDATA,它能够被当成一个

32、属性,它包括一个单一的,标量值。3.3 XML 和数据库之间进行数据转化的过程实际上在 XML 和数据库之间进行数据转化的时候,需要考虑两个过程:一个是从数据库模式中产生 DTD,另外一个是根据 DTD 生成数据库模式a. DTD 中生成一个关系模式从一个 DTD 中生成一个关系模式的步骤如下:1. 对每一个元素,产生一个表和一个主键列。 2. 对每一个有混合内容的元素,产生一个独立的表格,用来存储10PCDATA,并通过父表的主键和父表相联。 3. 对元素类型中的每一个单一值的属性,对具有只有 PCDATA 内容的子元素(该子元素按顺序出现) ,产生一个单独的列,如果子元素类型或者值是可以选

33、择的话,该列就应该可以允许为 NULL 类型。4. 对有多个值的属性和可以出现多次的子元素(该子元素 PCDATA)的话,需要创建一个单独的表来存储这些值,并通过父表的主键和父表相联。 5. 对每一个包含元素或者混合内容的子元素来说,通过父表的主键把父元素和子元素联接起来。b. 关系数据库模式构建 DTD从一个关系数据库模式构建 DTD 步骤如下:1. 对每一个表,创建一个元素。 2. 对表中的每一列,创建一个属性或者是一个只有 PCDATA 内容的子元素。2. 根据表中的每一主键外键关系,创建该表元素的子元素。四 系统设计4.1 需求分析随着互联网上应用的逐步增多,各种数据报表的制作和打印、

34、以及报表数据的采集都成了越来越急需解决的问题。软件工作者一直在致力于通用报表生成工具的开发,用以减轻系统开发人员的开发工作日,提高工作效率。通用报表系统通过可视化的事务处理手段,充分利用网络技术和联机事务处理,使用户能够拥有简便而精确的方法来获取正确而易用的数据和分析结果。功能模块图如下:图 4通用报表系统离线报送在线报送数据挖掘系统管理报表设计器数据上报报表展现系统注册权限管理系统配置11其实通用报表,是一个可以设计丰富的报表样式,设计便捷美观的数据采集(输入)工具,界面类似 Excel 的报表。其文件结构是基于 xml(xml-based)格式的并支持 xslt,可以现行的各种数据库互交,

35、但由于本人能力有限,没有按照事先设计好的功能模块去实现,只好退而求其次,设计了一个顾客消费清单。其数据流程图如下: 非法用户合法用户是否图 54.2 系统特点1、系统模型先进,可轻易实现柔性定制模板的自定义使企业能够根据自身发展定义适合不同经营特点的业务报表,企业的系统管理人员经过培训也可以自行操作。1、迭代式增长考虑到政府部门所涉及到的业务报表较多,且各企事业单位、个人、团体都需要与政府交互,通用报表系统作为政府交互应用在系统规模上、并发能力的处理上可能在一定的时间内无法达到用户的要求,这就要求整个应用系统能够实现 7*24 小时高可靠运行情况下实现迭代式增长。通用报表系统、操作系统、数据库

36、系统以及各类硬件平台,都能够满足这一要求,从而为保证后期大用户量的访问,保证后期不断增加新的报表类别。2、操作简便系统设计时充分进行了人性设计,使用者可以方便使用。3、平台融合性可无缝集成于综合办公平台,实现平台框架统一管理、维护,实现单点登录。4、系统无关性采用先进完全多层架构,适合各种操作系统,方便系统移植升级。5、数据库无关性前瞻性的数据结构定义,完全适合企业不同业务系统、不同数据模型的整合,最终实现所有历史数据的统一挖掘展现。用户登录判断顾客资料的填写是否继续填写形成表单注册输出126、安全的体系结构通过使用 CA 认证系统以及系统内置的用户安全认证机制,为通用报表系统提供完备的安全体

37、系结构。7、在线数据校验,确保填报数据的有效性4.3 系统组成数据报表由三部分组成:报表设计器、Web 服务器引擎、Web 浏览器插件。报表设计器:报表设计器用以对 Web 报表主体进行设计,包括 Web 报表版面的设计、数据源定义、数据重组(过滤、计算等)的函数设计、Web 报表被引用参数的定义等。 Web 服务器引擎:Web 报表服务器引擎用以在 Web 服务器端解析报表内容,接受并解析应用系统传递来的控制参数,挖掘并分析处理数据源数据,形成完整的 Web 报表包传递给浏览端。 Web 浏览器插件:Web 浏览器插件用以在 Web 浏览端,如 Web 环境的 IE 浏览器等,对 Web 服

38、务器端传递过来的报表包进行解析展现、进行数据再分析,并控制打印。 4.4 系统功能4.4.1 离线报送针对目前不方便上网的填报者,系统提供离线报送的功能,使填报者可以在本地机器上填写数据,然后通过电子文件导出的方式,用磁盘送到管理中心导入。也可以在上网方便时连接到主系统,事先自动报送。4.4.2 在线报送通过 Internet 网络直接填报数据,填报的数据马上就可以被中心工作人员查看。填报过程中,系统根据设定的业务逻辑,对填写的数据提供实时数据校验,确保填写的数据的有效性。4.4.3 数据挖掘有些用户原来已经使用了业务系统,如人事系统、业务管理系统等,这些系统已经积累了一定的数据资源,为充分利

39、用这些资源,本系统提供数据挖掘功能,对历史数据进行二次挖掘,在此基础上实现历史数据与新报表的绑定。4.4.4 报表设计器本模块运用 XML 技术,采取可视化界面设计用户所需要的报表模板。设计器支持表达式定义、分组、报表嵌套等功能,既可以简单使用,又支持复杂报表的创建。4.4.5 报表展现引擎本模块将报表展现出来给管理人员和机关领导决策分析。本模块采用高效数据解释引擎,对报表设计器所创建的模板进行解析和展现,展现的结果可以发送给数据源、网页、PDF 文档、图片、EXCEL 文件等多种格式。134.4.6 数据上报报表在本系统产生后,可以通过数据上报功能,将报表以网页、PDF 文档、图片、EXCE

40、L 文件等多种格式上报给上级机关,也可以通过上级机关业务系统的数据接口直接写入。5.4.7 系统管理(1)系统注册登录本系统的用户必需注册,并经管理员确认开通后,才能使用本系统。(2)权限管理设定注册用户可以操作的报表类别范围,确保正确的人做正确的事。(3)系统配置定义系统界面形式、服务安装目录等信息。4.5 系统实现这个通用数据报表系统是基于 XML 构建的,使用 XSL 样式表来进行 XML 文档的转换与显示。因此,这个系统有一些.xml 文件和.xsl 文件。可以把整个通用数据报表系统的页面根据起作用分为三个部分,包括系统注册部分、填写信息资料部分、形成表单部分。这三部分基本上是互相独立

41、的,各自有着不同的功能。关于这三部分的实现,稍后会一一介绍。4.5.1 新用户注册在此部分中将会显示新用户注册的界面,用户注完册后会出现在黄颜色的表格中。编程思路:首先通过 XML 将数据显示到浏览器,如果要添加新用户,先在新用户的文本输入框中输入用户名,然后点击“新用户注册”按钮,这时在“用户列表”栏中就会显示出新添加的用户名,最后点击“保存”按钮就可以了。界面如下:14图 64.5.2 填写信息资料在此部分中我们会看到顾客资料,还可以自己添加顾客信息。编程思路:在此部分中要把 XML 数据输出到输入框,并且允许数据添加,也就是说我们可以看到顾客资料,还可以自己添加顾客信息。通过函数show

42、XML()实现对所有记录的显示,通过函数 addNew(),把顾客信息添加到记录集的数据中。XML 数据编辑如下:甲 1969 年 8 月 15 日 189cm 87 公斤 3225475 津市 乙 1974 年 7 月 17 日 175cm 70 公斤 7189246 15澧县 丙 1975 年 7 月 5 日 184cm 78 公斤 7777770 安乡 那到底怎样形成.xml 文件呢?请看如下代码:填写顾客信息资料姓名:出生日期:如需增添其他信息,只要照上面的格式,再更改粗体部分就可以了.通过函数 showXML()实现对所有记录的显示:function showXML()if (Sho

43、wXML.value = “显示 XML 文件“)insertXML.innerHTML = xmlid.transformNode(xmlid.XMLDocument);ShowXML.value = “隐藏 XML 文件“;elseinsertXML.innerHTML = “;ShowXML.value = “显示 XML 文件“;通过函数 addNew(),把顾客信息添加到记录集的数据中:16界面如下:图 7顾客信息的两种表现形式:在 XML 文件中通过 XSL 将数据以文本和表格两种不同的表现方式输出给浏览器。编程思路:通过 XSL 文件可以对 XML 文件中的数据进行处理,通过点击

44、“查看源代码”按钮,XSL 文件将所有 XML 文件中的资料以原始的显示格式输出给浏览器,点击“表格”按钮,XSL 文件就会把所有标记的内容按照表格的形式输出给浏览器。 界面如下:17图 84.5.3 形成表单在此部分中,我们可以看见顾客的消费清单。编程思路:在 XML 文件中将数据进一步处理后输出到浏览器,每个顾客都有自己的专用发票的号码,用户名,消费商品的数量,商品的名称,商品的价格,商品的折扣和消费的总金额,通过顾客消费物品的单价和数量计算出消费总金额,在当顾客消费一个物品数量大于等于 10 的时候,系统会自动给顾客打九折的优惠。顾客的姓名及消费序号如下:FuyuguangLiyingG

45、ouliyuLiujunKate WangDongDong用 XML 语言中一种特殊的标记 CDATA(Character Date)将打折扣的函数完整地呈现出来,包括大于符号.= 10)price = 0.9*price;sum += price * totalprice;return sum;function caculatetotal(item)var price = item.selectSingleNode(“price“).nodeTypedValue;var totalprice = item.selectSingleNode(“totalprice“).nodeTypedVal

46、ue;if (totalprice = 10)price = 0.9*price;return totalprice*price; 顾客购买的商品信息编辑:50014371皮尔卡丹西服1600要添加更多的资料的话,按上面的格式,再更改粗体部分即可.界面如下:19图 9主要参考文献1http:/2http:/www.w3.org3(美)Dave Mercer. XML 编程起步. 北京: 人民邮电出版社,20014(美)Didier Martin. XML 高 级编程. 北京: 机械工业出版社,20015陈锦辉. XML 与 JAVA 程序设计大全. 北京: 中国铁道出版社,20026Mark

47、Wilson. XML 编程. 北京: 中国电力出版社, 20017赵克立. XML1.x 编程培训 教程. 北京: 清华大学出版社,20028赵敏媛. 基于 XML 的 EB-GDSS 系统结构. 计算机与 现代化. 2004.11(2): 36-399左明. 基于 Java 与 XML 的 P2P 应用开发. 计算机系统应用. 2004.9(6): 17-3310. Sure,Y., Erdmann, M., Angele, J., Staab, S., Studer, R., Wenke, D. OntoEdit: collaborative ontology engineering for the semantic Web. Proceedings of ISWC-2002,1 International Semantic Web Conference,2002.11.Cellersen H w Gaedke M Object-oriented Web Application Development J IEEE Internet Computing 1999.3(1) :60-80.

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 学术论文 > 毕业论文

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报