传统的应用程序报表与传统的应用程序报表
【IT168技术文档】
SQL Server 报表服务(SSRS)2005是在Microsoft第一次发布的报表平台上扩展而来的。在2003年,Microsoft发布了报表服务,作为SQL Server 2000产品套件的一部分。报表服务本来要作为整个SQL Server 2005发布的一部分,但是,报表服务开发团队发现有一个机会可以提前推出这个产品。值得赞扬的是,这次发布非常成功。报表服务已经成为第一个版本就被广泛使用的Microsoft产品之一。这也意味着,它还是产品的首个版本,还有推敲和优化的空间。开发团队按照优先级从一个长长的“愿望列表”中选择功能。这个列表包括本质的、非本质的、甚至一些不会在最终产品中出现的功能。这个列表中的增加项将在推出每个新版本和服务发布时加入进来。
本章中将会介绍:
● 访问数据和交付报表的新方法,它是报表服务平台扩展体系结构的一部分。
● 报表是如何存储在一个简单的、可移植的报表定义扩展标记语言(XML)文档中的——使用一个称为RDL的标准。
● 报表服务可以完全可靠和高度可定制。报表可以通过使用报表管理Web界面管理和查看,或者使用提供的报表查看器或自定义的视图内嵌到定制的应用程序中。
● 大量的交付选项,包括定时的订阅,允许用户通过文件或者电子邮件接收报表。报表内容可以用不同的方式缓存以提高性能和保留服务器资源。
在2000 年产品发布时,Microsoft花费了大量时间来保证正在进行中的平台是可扩展的、可伸缩的、结构良好的。我相信从长期使用这个产品的观点看来,这是正确的决策。聚焦到平台上,确实需要将一些最终用户的功能推迟到下次发布。我们在SSRS 2005中所看到的功能是用户广泛要求加入的一些主要功能。这些包括可以多选的参数、可排序的标题以及大量的用户功能增强。主要的改进出现在新的报表生成器应用程序。报表生成器允许用户通过一个友好的、类似Microsoft Office的界面来很容易地创建他们的报表。
如果读者对.NET Framework、Web 服务、SQL Server以及ASP.NET的功能印象深刻,应该知道通过这些技术报表服务将访问数据的能力提高到一个新层次。Microsoft实现了它的承诺,使得可以“在任何时间、任何地点、通过任何设备”获得信息。报表可以使用定制的视图格式和页面大小来支持移动设备。有其他一些报表工具也有使人印象深刻的功能,但是没有一种比得上这个工具。
本章将介绍几个主题,这些主题在本书的后面部分将会详细介绍。这里将为读者提供一个SQL Server报表服务的需求和目的、能力和机制的高层次的观点。
2.1 传统的应用程序报表
在很多商业应用程序中,报表是最后添加的事物。在设计系统时,总有大量的时间花费在工作流、数据元素和用户界面上。系统要用大量时间去设计、构建、测试和部署。最后,很多公司选取了一个适合采集信息和提高生产率的工具。然而,报表总是得不到足够重视。人们总是将报表看作一个简单的、相对容易完成的附属物。
真实情况是,好的报表同样需要对初始的应用程序做扎实的规划和设计。报表设计者需要清楚地定义用户在寻找什么、他或她会怎样使用报表、多久会使用一次。如果没有合适的规划,查询将变得复杂和难以维护。报表运行缓慢并容易产生错误。
为了避免这些麻烦,报表设计者需要一个规划。在一个完美的世界里,设计者要围绕报表需求去设计数据库的体系结构和应用程序,在设计系统之前要完全了解用户的需求。而在现实世界中,设计者可以提前了解一些用户需求,但是用户经常在其他一些功能已经完成之后才产生新的报表需求。
Frederick P. Brooks在《人月神话》中提到,在任何设计中从前几次尝试中吸取教训并且丢弃它们,这是一个不错的主意。通常分阶段设计报表,初次尝试将会是一个原型系统。我的经验是当报表设计者积累初始需求时,用户会要求提供一些符合特定要求的不同报表。在解决方案已经实施,用户开始使用之后,其他人几乎不可避免地意识到把报表作为助手也会使他们的工作变得轻松。当用户意识到他们能得到哪些不同的信息,他们会发现新的、令人激动的方法来对数据排序、筛选、分类以及建立基准数据、对数据进行分片和分块,这些方式他们以前从来没有想过。现在,是报表设计者为他们提供了实现这些的可能性。
2.2 当今的报表需求
静态的、打印的报表对于一个产品和价格列表或者对于一个公司来说是一种可以接受的格式,但是对于当今需要做出重要决策的大多数信息化时代的用户来说是不能接受的。要做出商业决策的人需要相关的信息,他们需要以适合他们角色和责任的方式来查看报表。因为很多用户以稍微不同的方式处理信息,报表设计者可以建立成百上千的报表,为每个特定需求建立一份报表。另外一种选择是,报表设计者可以建立灵活的报表以满足很大范围内的用户需求。比如说,一份销售总结报表可以按照销售员的地区或者客户类型来分类和筛选,包括每年、每季度、每月或每周的信息或者一个特定产品目录的信息。为每一个这样的需求产生一份报表将会非常耗费时间和开销。除此之外,计算机用户比他们几年前更为聪明,他们需要一个工具来帮助他们做出决策,而不是仅仅提供数字给他们看。
我还记得几年前在Hewlett-Packard(惠普)工作时,我在与制造业有关的IS组。每个周四都会收到一个报表卡片。上面有以一周和一个月为基础的主框架系统产生的几个常规的定时报表。用户,一般是部门经理,将会订阅这些报表。报表在另外一个大厦中打印,然后人工送到每个订阅者手上。这些报表中很多只是大量的数据列表和一些打印在连续的复写纸张上的文本,有的达500页之多。我观察到好奇的经理们会小心翼翼地翻阅一下,做上标记或者在自己感兴趣的地方画圈。有些甚至将它们装订成册,交给他们的行政助手,用一个10位的计算器将他们标出的数字都加起来。
到了月底装满这些报表的废物容器被运到垃圾处理和回收中心,这些报表的用处很快就没有了。我使用Microsoft Access 花了将近两年时间为这个组开发了一个报表应用程序。我们开始在这个应用程序中规划了8~10个报表。但是随着时间的推移,用户开始依赖报表去执行他们的工作,他们要求用同样的报表来处理不同的排序、分组和选择基准的工作。最后,我们开发了25~30个报表,其中大多数是在开始的几个原始报表上修改而成。
0
相关文章