`

Web报表软件的几种体系结构之比较

阅读更多
今天有一位朋友问起有关Web报表软件的体系结构和性能问题,解释如下:

 Web报表软件总的讲有三种体系结构。一种是纯Java报表,以润乾为代表;一种是控件方式,以数巨为代表;另一种是独立服务器方式的报表软件,以Crystal Report为代表。

1、控件方式:这种方式在浏览器端要安装一个ActiveX控件,在服务器端只负责取数据,报表的计算与生成都是在控件中进行的。采用这种方式的原因是它的报表功能往往都是采用Delphi实现的,包括许多产品都是采用相同的第三方组件。

  关于控件方式,这篇文章可以参考:http://blog.9zi.com/post/1/205

  控件方式的缺点在于:

  1)部署:一个控件,要完成别人报表服务器所实现的大部分功能,体积可想而之。功能越强,控件的体积越大。这对于部署是一个很大的负担。不仅如此,而且,当报表系统升级时,用户都必须重新安装控件,Web报表软件的B/S结构在部署方面的优势荡然无存。(其实这种方式本身就是伪B/S)

  2)性能:在PC端计算与在服务器端计算,对小报表可能差别不大,但对于大报表,显然差异非常大。并且,如果一个Web报表系统有多个用户都要使用,服务器方式所可以采用的定时计算、缓存等等都无法发挥作用。

  所以,控件方式一般只适用于简单、小型报表。这里的简单,不仅是报表的样式简单,也包括计算量、报表规模上都比较简单。

2、独立服务器:这种方式安装一个独立(逻辑上)的报表服务器。它避免了控件方式的Web报表软件部署繁琐、升级不便的缺点,能够通过服务器有效地管理报表,很好地处理性能问题。但它部署起来也是比较麻烦的,实际很多这类Web报表软件产品也很难真正做到跨平台。尤其是涉及集群、连接池等问题,它就无法提供良好的可扩展性。

3、Java报表软件:首先它可以轻松实现Web报表的跨平台部署。对于ASP,.NET等非Java应用,它可以以报表服务器的方式提供Web报表服务,这时这种Web报表工具的工作方法是与Crystal Report之类的产品类似的,具有独立服务器相同的优点与缺点(这里所说的独立服务器是指逻辑上的,物理上仍然可以与其他服务器安装在一起)。而对于Java应用,则可以以类包的方式将报表软件嵌入到J2EE应用架构中,与应用系统形成无缝衔接。这时,它的优势就更加明显:

  1) Java应用服务器的所有提高性能的手段,都可以在Web报表软件上充分发挥作用,如计算能力更强的服务器(对控件方式服务器起不了多大作用,独立报表服务器则很多难以在UNIX服务器上部署),负载均衡,连接池等等。

  2) Web报表软件可以与应用程序更紧密地衔接,被应用程序更灵活地使用。

  参考文章:Java环境下的部署 - 充分发挥100%Java报表工具的优势

有人说,你不要总拿Unix说事,实际应用中很多应用服务器是采用PC Server的。确实是这样,但是(姑且不说许多Web报表工具并不能很好地支持Linux)不要忘记应用服务器层采用PC Server的原因是在于在这一层比较适合采用水平方向的扩展,即使用Cluster和负载均衡技术。对于Java报表软件,这一点太容易了,直接和应用部署在一起就可以,可以说是天生的,但对于独立服务器,这个就很麻烦了。

分享到:
评论

相关推荐

    面向Web的报表_图表统计系统研究与实现.pdf

    当前面向Web的报表软件主要有以下几种体系结构: 1. **纯Web报表**:以润乾为代表,能够与Web应用无缝集成,实现高效运行。 2. **控件方式**:以数据为代表的报表软件,通常需要在客户端安装特定插件。 3. **独立...

    1几种数据库开发工具的介绍[归类].pdf

    下面将介绍文件中提及的几种数据库开发工具及其特性。 1. Visual Basic (VB) Visual Basic是一种由微软公司开发的编程语言,主要用于快速应用程序开发。在数据库开发方面,VB可以与DAO、ADO和RDO等数据访问对象结合...

    数据仓库系统的技术体系架构设计

    在采集层,主要采用以下几种技术: - **接口适配器**:这是一种关键的技术手段,用于适配不同专业系统的数据采集接口。接口适配器能够有效地屏蔽各个专业接口之间的差异性,使得数据能够平滑地流入数据仓库系统。 -...

    精选_基于ASP.NET和SQL SERVER实现的电信报表系统_源码打包

    ASP.NET的核心组件包括页生命周期管理、控件体系结构、状态管理以及强大的身份验证和授权机制。 在ASP.NET中,开发者可以使用多种编程语言,如C#或VB.NET,编写服务器端代码。ASP.NET页面模型允许将HTML、CSS和脚本...

    cognos8.0全新资料

    FrameworkManager是Cognos 8.0的核心组件之一,它具有以下几种作用: - **元数据模型管理**:用于组织和发布元数据模型,确保数据的一致性和准确性。 - **数据源管理**:连接各种不同类型的数据源,如关系型数据库...

    基于开源软件的分布式运维监控系统研究与实现.pdf

    文章基于zabbix开源软件,提出了一种分布式运维系统架构,并对系统的体系结构、安装步骤和配置管理进行了深入研究,并给出了具体的配置实例。 知识点总结如下: 1. 分布式系统监控需求:随着互联网业务的不断增长...

    基于WEB的水库水情自动测报系统的研究与设计(论文+源码)-kaic.docx

    - **系统软件体系结构**:采用B/S架构设计。 - **系统主要功能模块**: - 用户登录:实现用户身份验证。 - 新闻通知:发布最新消息。 - 水库实时信息查询:展示当前水情信息。 - 报表查询:提供数据统计报表。 ...

    面向服务体系架构和业务组件的思考.docx

    面向服务体系架构(Service-Oriented Architecture, SOA)作为一种设计理念,强调了组件化的开发和服务的重用,成为构建大型分布式系统的重要手段之一。本文旨在探讨SOA下的业务组件(Business Component, BC)开发...

    Android个人记账本计算机毕业设计论文.pdf

    其中,Android的最大特点是其开放的体系结构,这不仅为开发者提供了优秀的开发和调试环境,还支持各种可扩展的用户体验,如丰富的图形组件、多媒体支持功能以及强大的浏览器等。 #### 三、Android平台对软件从业...

    UCML应用框架开发平台总体介绍.pdf

    5. **WEB报表**:支持复杂的报表设计,如中国式填报报表、分组报表、交叉报表、标签报表、主从报表、套打报表、分栏报表和图表混排报表,满足各类报表需求。 6. **业务基础支撑体系**:包括工作流引擎、规则引擎、...

    Cognos 8.3培训资料

    Cognos 8.3是一款先进的业务智能(Business Intelligence, BI)软件,其核心功能主要分为两大类:**查询与报表**及**分析**。 - **查询与报表**部分主要包括: - **QueryStudio**:自助服务式的报表生成工具,允许...

    C#开发的,物流系统,基于b/s架构

    首先,C#是一种由微软开发的面向对象的编程语言,它被广泛用于构建Windows应用程序、网络服务以及Web应用,如本案例中的物流系统。C#支持.NET框架,提供了丰富的类库和强大的类型系统,有助于提高代码的可靠性和可...

    cognos中文教程

    - **Cognos8 Query&Report**是一种基于Web的业务智能报表解决方案。 - **核心组件**: - **CognosConnection**:Web门户,包含所有操作模块的入口。 - **QueryStudio/ReportStudio**:报表创建工具。 - **Cognos...

    IBM内部 Cognos培训教材

    - **集成的体系结构**:Cognos8提供了一个统一的产品平台和架构,使得不同模块之间能够无缝协作。 #### 四、Query&Report体系结构详解 - **CognosConnection**: 作为整个系统的门户,不仅提供了进入各个操作模块的...

    毕业设计论文-图书馆管理系统

    2.1 系统体系结构的目的 本系统采用 C/S 架构和 B/S 架构两种设计模式。C/S 架构是一种传统的设计模式,客户端和服务器端进行交互,提供了高效的服务。但是,C/S 架构存在一些缺点,如需要安装客户端软件,维护成本...

    Cognos超详细中文教程

    Cognos8的体系结构基于Web,主要组件包括: - **CognosConnection**:作为Web门户,包含了所有操作模块的入口。 - **QueryStudio**:自助式报表生成工具。 - **ReportStudio**:专业报表构建工具。 - **Analysis...

    cognos8.2的培训文档

    #### 七、Cognos 8 Query & Report 体系结构 Cognos 8 的 Query & Report 解决方案采用了基于 Web 的架构,主要包括以下几个组件: - **Cognos Connection**:作为 Web 门户,提供进入各个操作模块的入口以及报表...

    会员管理系统源码(c# ,net)

    首先,C#是一种面向对象的编程语言,由微软公司开发,主要用于.NET框架。C#具有语法简洁、类型安全、性能高效等特点,适合开发大型企业级应用,如会员管理系统。.NET框架是微软提供的一个开发平台,包含了大量的类库...

Global site tag (gtag.js) - Google Analytics