前端

img pinson

.NET下的报表生成(二)

发表于2004/10/17 15:57:00  5338人阅读

分类: 报表

2、报表工具
让我们讨论一些在现存报表系统中被广泛使用的报表工具。如何在这些工具中选择最好的是一个非常关键的决定。在.NET下主要有三种报表工具:
a) 水晶报表
水晶报表(集成于Visual Studio .NET)是Visual Studio .NET中的标准报表工具。它拥有交互式创建高质量内容报表的能力。在.NET平台中,水晶报表是Visual Studio .NET环境中的重要部分。
使用水晶报表,开发人员可以将报表放到Web和Windows平台上,然后在Web服务器上作为报表Web服务来发布水晶报表。集成在Visual Studio .NET中的水晶报表是基于水晶报表8.0框架上的,但是给.NET开发人员提供了一个专门给.NET平台开发的丰富的API。
集成在Visual Studio .NET中的水晶报表通过所有在.NET的Visual Studio语言中的无缝集成为开发人员提供数据显示和分析能力。它使用了一个开放并且灵活的架构,采用了很多的标准(如XML)在Web上共享报表和信息。报表可以以Windows和HTML两种方式展示。
可以使用Visual Studio .NET创建一个新的水晶报表或者添加一个已经存在的水晶报表到一个项目中去。报表可以保存在一个本地主机上或者以一个Web服务发布在Web服务器上。以何种形式存在取决于这是一个Windows程序还是一个Web程序,因为它可以绑定到Windows查看器或者Web查看器上。用户可以在一个Windows平台上运行Windows程序或者配置Web程序到客户端浏览器来查看水晶报表。
集成在Visual Studio .NET中的水晶报表可以工作在单层、双层、三层架构,无论是基于Windows窗体还是Web窗体平台上。
单层应用
对于一个基于单层方法上且包含一个本地报表的Windows应用程序,其所有的组件都被安装到每个用户的机器上。报表组件包括报表文件(.rpt文件)和报表引擎,通过可执行文件被安装到用户的机器上。
单层
可扩展性
包含有本地报表的Windows应用程序最适合小批量的分发配置,因为程序被安装到每个用户的机器上。这种类型的配置暗含着加大用户端的处理。如果报表有任何变动,程序就需要在用户机器上重新安装。
两层应用
在包含有一个本地报表(.rpt文件)的Web应用程序的情况下,程序是基于一个两层关系,所有的客户端的时间都是由Web服务器来控制的。
两层结构
可扩展性
用户仅仅需要在他们的机器上安装有浏览器。所有的报表组件都存放在服务器上并且可以集中的更新。
三层应用
报表Web服务指的是被发布或者配置的供程序使用的水晶报表。通过互联网,Window或Web程序可以连到报表Web服务上,使用配置好的水晶报表,然后放到一个报表查看器中为用户显示报表。支持报表Web服务是架构中的一部分或者说访问报表Web服务是架构中的一部分。
三层
可扩展性
用户查看报表Web服务只需要一个Windows窗体查看器或者是Web浏览器,而使用何种查看器则与程序的类型相关。所有其他的报表组件都和报表Web服务一起放到远程服务器上了。报表Web服务上的任何改动都将及时地反映到程序中。
企业应用
在大型的企业中,一个分布式的程序需要支持报表查看和递送,需要一个以上的报表引擎来满足所有用户的报表查询请求。水晶企业版为组织提供了一个灵活的、基于Web的安全管理和递送系统来为授权用户提供水晶报表(.rpt)文件,授权用户可以是组织内的也可以是组织外的。
使用Visual Studio .NET可以生成能够访问水晶企业服务器的程序。这样就允许设计者生成一个小客户端,这个小客户端能够被分发给成千上万的用户,使用水晶企业服务器来处理报表管理、处理和安排。

可扩展性
水晶企业版允许组织成比例(添加更多的处理器)或不成比例(添加更多的机器)来满足正在增长的用户需求。这个系统为急需的和计划中的报表提供高速的Web访问。水晶企业版针对企业应用,为大范围的用户提交丰富的、交互式的报表。

许可证
现在,让我们来看一下与水晶报表相关的许可证详细信息。水晶报表总的来看有四个版本:集成在.NET中的水晶报表、开发版、高级版和专业版。水晶报表开发版和高级版的主要功能有:支持移动设备,更多的输出格式,在连接数据库和从数据库中获取数据是提高了灵活性。
基于.NET的水晶报表主要适用于设计和测试服务器或者基于Web的应用程序。它也适用于大客户端的Windows应用程序,如报表引擎被安装和运行在终端用户机器上的应用程序。但是不适用于Web工厂的环境。使用.NET报表组件重新发布一个服务器或者Web应用程序到第三方(组织以外),需要水晶公司的一份书面授权。这个过程不需要额外的费用。

b) 水晶报表企业版
水晶企业版是一个基于Web的企业报表管理和分发系统。水晶企业版可以为现存的.NET报表添加新的功能,因为它提供了一个安全的、可扩展的、多层次的、基于Web的报表系统。使用这个架构,来自组织、商业合作伙伴和客户的用户可以通过Web获取重要的信息。以下是水晶企业版的一些主要功能描述。
安全
和水晶报表不一样,水晶企业版合并了一个为内部和外部用户提供内容分发管理的安全系统。它提供了用户和对象级别的安全性能。还提供了记录在水晶企业服务器上的所有操作日志的能力,而这些可以用户安全和审计的目的。
计划
水晶企业版包含了一个时间安排系统,它允许在特定的时间或周期性的时间进行报表处理。时间计划是在一个集群服务器组件重视师德,这样就可以在出现硬件问题时保证关键的处理计划不会被丢失或被忽略。计划系统可以通过在报表被需要之前就已经准备好来提升系统的性能。
负载平衡
在一个多服务器的环境中,有效的在多台机器中平衡负载可以大大提升扩展性能和终端用户的反应时间。负载平衡还可以保证硬件使用的有效性并且降低性能瓶颈。水晶企业版包含了在所有系统管理和报表处理功能上的内部负载平衡。
容错
企业架构中的一个关键组建就是内部的容错支持。包含了将关键的系统组件集群来保证最大的正常运行时间和响应率的能力和硬件故障的情况下在集群内的机器之间问题处理的能力。
缓存
这个Web优化方法提升了水晶企业版的响应度。缓存在一个快速访问的文件系统内保存之前访问过的报表页面,于是这些页面就可以被分发给其他的用户。这比重新处理整个报表要快得多。
集成.NET应用程序到水晶企业版
水晶企业版可以使用SOAP或COM被合并到一个.NET应用程序中。这取决于调用水晶企业版所采用的方法,不同的功能都可以找到。


通过SOAP调用水晶企业版可以让我们获取报表列表然后通过Web窗体查看器或是Windows窗体查看器控件来查看报表。
水晶企业版还发布了一个完整的基于COM的对象模型提供更多的集成方法。这个基于COM的SDK为水晶企业Web服务提供了一个单独的入口。这个对象模型封装了所有的调用来输出报表列表、控制处理和分发报表、查看报表并且与水晶企业服务之间进行常规的互动。

C)Active Repots
来自Data Dynamics公司的Active Reports .NET版能够使用Visual Studio editor写C#或Visual Basic .NET的代码来生成报表。Active Reports能够在Web浏览器中查看。Active Reports组件包含一个ASP.NET服务器端控件来设置可选的Web客户端查看器,和提供分页显示、全文检索、内容表和自定义工具栏的Windows窗体查看器控件一样。由于Active Reports不是Visual Studio的默认项目,我们有必要看一下它提供的主要功能。

功能:
支持ASP.NET
Active Reports能够通过ASP.NET服务器端控件用于Web应用程序中。这个控件支持Web报表使用HTML, ActiveX, .NET和PDF阅读器分发。Web查看器控件允许在Web上对Active Report的快速查看以及使用ActiveX查看器和Acrobat Reader查看器的打印能力。RPX文件HTTP处理允许开发人员不用写任何代码就可以简单的将一个报表文件放到Web服务器上并且用HTML或PDF的格式显示给互联网用户。
与Visual Studio .NET集成
微软的Visual Studio .NET编辑器可以用来写C#或VB.NET代码来自定义报表,并且可以动态的生成报表。报表创建API提供了对报表对象完整的运行时访问。报表想到可以帮助生成简单和快速的报表。终端用户设计器可以被放置在开发的应用程序中并且为终端用户提供报表编辑能力。设计器组件能够用来自定义显示。
配置
简化的报表引擎配置就是一个单独可控强大的指定配置集。配置集可以使用XCopy或者放到全局的配置缓存(GAC)的方式来分发。专业版包含了HTTP处理和为ASP.NET报表提供的服务器端Web控件。
许可证
Active Reports有两种类型:专业版和标准版。选择正确的方法取决于成本和程序的需求。终端用户报表查看器,集成ASP.NET,HTTP处理和Web查看器控件是Active Reports专业版相对于标准版具有的主要功能。

d) SQL报表服务
SQL Server报表服务是一个全面的基于服务器的解决方案,允许创建、管理和提交传统的(面向纸张)的报表和基于Web的交互式报表。作为微软商业智能架构中的一个集成部分,报表服务集合了SQL Server的数据管理能力和对微软Windows Server的熟悉以及强大的微软Offic系统应用,通过提交实时信息来支持日处理和决策驱动。SQL Server报表服务虽然与SQL Server集成在一起,但是这并不意味着报表的数据源必须是SQL Server, 它可以是Oracle、DB2、Informix和Sybase等等。
报表服务提供两个版本:标准版和企业版。企业版提供更多的功能,如Web farm配置,安全扩展API,支持多于4个CPU,支持多于2G的内存等。
和XML集成
整个报表和数据源都保存在一个XML文件中。这就让开发人员在生成动态报表时提供了更大的灵活性。报表设计器集成在Visual Studio .NET环境下。报表开发人员可以使用微软或第三方的采用报表定义语言(RDL)的设计工具来创建发布报表,报表定义语言是一个用来定义报表的基于XML的工业标准。
安全
支持基于Windows和角色的认证。相对于其他报表工具来讲有着更好的安全模型。
输出格式
SQL报表服务支持Excel、TIFF、HTML、PDF、CSV和XML格式。并且还支持Office Web组件和Web文档。
报表管理
报表定义、文件夹和数据源都以一个Web服务来发布和管理。管理的报表可以即时或以特定的时间来执行,并且为了提高性能这些报表都被缓存起来。SQL Server报表服务提供即需(拉)和基于事件(推)的报表交付。用户可以以一种基于Web的格式或者在电子邮件中查看报表。报表时间计划、支持Web Farm,报表历史是其他的一些主要功能。
它还有一系列定义好的API,这些API可以用来自定义报表管理、保护和显示报表。支持订阅和交付,在Visual Studio .NET中集成报表设计器,强大的报表处理等是一些其他的功能。

e) 对比
讨论到现在,我们可以来对报表工具的功能进行一些对比。由于水晶企业版更多的专注于企业报表,在这里我们比较Active Reports标准版,Active Reports专业版,水晶报表还有水晶报表开发版。
下表给出了不同报表优缺点的粗略的对比,这个对比更多的是集中在对.NET的支持,而非所有的功能对比。


阅读全文
0 0

相关文章推荐

img
取 消
img