求知 文章 文库 Lib 视频 iPerson 课程 认证 咨询 工具 讲座 Modeler   Code  
会员   
 
  
 
 
     
   
分享到
以集成和管理为主要手段的企业报表中心架构设计
 

作者:张永刚 ,发布于2012-12-20,来源:CSDN

 

1.背景

报表和报告是企事业单位日常管理中最为重要的信息管理载体,同时也是企事业单位各层级人员进行信息共享和交流的主要手段。许多单位通过多年的信息化建设经验积累,已经建立了支持业务运作的基础系统,并且开始希望将各业务系统的数据和报表进行集中管理。然而由于现有业务系统既有的建设思路和技术框架等原因,很难基于需要大量编程的传统报表开发方式来满足多层次的报表需求,主要表现为数据环境复杂、报表应用类型多、报表需求变化快等特点。

目前市场上主流的“报表中心”的解决方案大多由各类BI厂商基于自身的工具产品提出来的,其本质是基于自己产品已有功能之上的报表开发。通过BI工具提供的相关功能来实现各类报表的开发。这种方式的弊端是只是发挥了工具的作用,解决了报表的技术开发问题,但是缺乏对开发完成后的报表的集中管理职能,比如:报表的版本控制、报表的分类查询统计等等。借鉴以往报表中心的经验,同时为了充分发挥报表中心的集中管理职能,笔者在此提出了一种企业级报表中心的设计思路,以解决在分散业务系统和异构数据环境下的报表数据质量不高、制作过程复杂、开发维护代价高、数据决策支持不到位等报表应用问题,重点解决如下几个方面的问题:

统一工具

改变以往各应用系统自行使用不同类型的报表工具进行开发的模式,统一企业范围内的报表工具。通过统一报表工具,一方面统一了相关系统开发商的技术平台,保证开发出来的报表形成一致的风格,同时又便于后期的维护;另一方面,通过统一工具,也可以更方便的对各类系统的报表进行集成,达到集中管理、集中维护的目的。

统一发布

通过报表中心建立一套规范的报表发布流程,将报表设计开发过程和报表的发布过程衔接起来,形成报表的发布机制,同时建立报表的元数据信息、版本管理、订阅机制、快照等功能,从而形成完整的报表生命周期过程控制。

集中管理

给各类用户建立一种集中的、统一的报表访问环境、报表管理环境,报表中心本身能够与用户现有的用户认证、权限控制模式、运行平台融合,并且还需要支持相关Portal产品的规范要求,以保证输出的报表能够在门户中进行展示。

分级应用

报表中心根据用户信息系统部署模式的不同,可以支持企业集中一个报表中心,以及省、市多级报表中心的应用模式,通过完整的权限控制机制和发布机制,能够将报表物理上发布到报表中心或其它应用系统中,并根据用户的不同权限实现授权使用,以保证报表操作的安全性。

笔者认为当前企事业单位里面重点的问题并不是报表开发的问题,而是要解决报表管理分散、应用分散的问题,因此,围绕上面几个方面的目标,笔者在此提出一种以集成整合、报表管理为主要手段的企业级报表中心的架构设计思路。

2.技术架构

根据上述总体设计思路,企业报表中心的总体技术架构如下图所示:

整个报表中心总体分为数据层、集成层和应用层三部分:

应用层

报表中心的应用逻辑上分为三大部分,报表设计中心、报表管理中心和报表应用中心。

报表设计中心:主要通过报表开发工具提供的开发环境,完成报表的设计和开发工作,是一个集成的设计和开发环境。报表设计中心具备连接各类数据源,并通过对数据源的访问、数据的过滤、转换等数据集成操作,实现报表的展示。报表设计中心应具备的功能见功能架构部分内容。除了提供报表开发环境外,报表设计中心还应提供对外的接口,一方面便于将报表结果导出成EXCEL、PDF等常用的格式;另一方面也应具备将开发完成的报表发布的应用服务器上,以便于用户方便的访问报表。另外,报表设计中心也应该具有和其它系统(比如:数据中心系统、企业门户系统等)在界面层面的集成能力,以实现将报表设计开发环境和其它应用系统环境在功能层面实现整合,方便用户的统一使用。

报表管理中心:报表管理中心为报表使用者提供了一个集中的管理环境,目的是对报表设计中心开发完成的报表进行统一管理,提供报表目录管理、发布管理、版本管理、元数据管理、订阅管理、报表统计分析、权限管理等功能。通过报表管理中心,为使用者提供授权后的、可订阅的报表功能。同时也建立了一个报表集中管理平台,信息人员可以对报表的发布、分发、使用等环节进行控制,为企业范围内的报表应用提供了一种控制和持续优化的手段。报表管理中心同时对外提供一些接口服务,以实现报表应用中心和管理中心之间的功能调用和信息访问。通过报表管理中心发布出去的报表最终可以部署在报表应用中心,也可以发布到现有的各类应用系统之上。

报表应用中心:报表应用中心为企业提供了一个集中的、统一的报表集散地,未来企业范围内的所有报表(或面向管理层、领导层的报表及分析功能)都可以在报表应用中心进行集中部署,作为用户访问报表的统一门户。报表设计中心开发完成的报表最终都发布并部署在报表应用中心。报表应用中心提供了报表的访问入口和报表输出服务,其它各类系统可以通过多种方式(portlet、URL连接或服务)的方式来获得报表的操作。

数据层数据层作为报表中心的集中存储环境,为报表管理中心和报表应用中心提供相关信息的存储,同时包括报表元数据的信息。报表元数据可以和企业级的元数据存储库合并为一个存储区域。报表中心数据库包括了管理中心所需的各类目录信息、配置信息、概要信息,以及报表的快照数据。

集成层集成层作为报表中心内部模块之间、报表中心与报表工具和应用系统之间进行信息交换的平台,其中集成了各种信息交换的技术实现,包括:web服务、ETL、消息队列、FTP等。根据报表工具的不同、业务系统的平台不同有选择的采用不同的交换技术。集成层的数据交换服务平台实质上和数据中心系统中的数据交换服务平台是一个概念,集成层为报表中心完成了数据交换、信息访问的职能。

3.功能架构

企业级报表中心功能上分为报表设计中心,报表管理中心和报表应用中心,功能架构如下:

#p#

3.1报表设计中心

报表设计中心主要是由报表工具的开发和管理环境构成,是报表设计者设计和开发管理报表的环境。报表设计中心的报表工具提供的功能包括动态查询、业务报表、数据分析、数据预警等,概括起来大体上可以描述为强大的查询功能、灵活的报表功能和智能的分析功能,以及和其它平台的集成功能

3.2报表管理中心

目录管理

报表中心的目录管理功能,提供对企业范围内报表的分类管理,可以根据业务主题、组织机构特征对报表进行分类,并支持分类的多级设置。通过报表分类树,让用户可以对报表按照一定的树型特征进行归类,为用户提供了一个报表的快速导航界面。同时,基于报表分类目录,可以对每一个报表进行表样预览、报表元数据查阅、报表历史版本查询、报表发布者及订阅者等信息的快速检索。并支持按照上述树型的快速检索,以便于从大量的报表中快速定位查找出指定所需的报表。

元数据管理

报表的元数据管理主要为每一个报表提供报表元数据的维护功能,对报表相关的业务和技术元数据进行维护。如果企业已经建立了企业级元数据管理系统,本功能可以在维护完报表元数据之后自动将报表元数据维护的结果同步到元数据管理系统,进而在元数据系统中对报表元数据进行查询。基于报表元数据,可以为报表使用者提供基于元数据的报表快速定位查找。

发布管理

以往的报表开发模式都是由设计和开发人员开发完成报表,然后发布到指定的服务器上,经过一定的授权策略后才能被用户所访问。这样往往造成陆续新开发的报表,或者改动过的报表不被用户所知晓。报表发布管理主要为报表设计中心开发完成的报表提供一种统一的、快速的发布途径。通过报表发布管理统一对各类报表的发布过程进行配置和定义,如:谁发布的?什么时间发布?谁来使用?如何使用?并且通过报表发布管理可以适当的与报表工具相结合,实现报表程序文件向应用服务器指定路径下的文件复制,从而实现报表的发布。发布管理过程涉及的元数据也可以一并纳入到元数据管理系统,为报表信息的检索和查找提供支撑。发布管理的过程需要与权限管理策略相结合,以实现报表发布后能够被指定的授权人员所访问使用。发布管理同时会与信息反馈模块相结合,自动生成相关的信息通知,让用户第一时间知晓报表的变动情况。

文档库管理

在某些特殊情况下,用户会希望查看和保留过去某一时段内的报表数据,即快照信息。比如:由于数据源发生了变化,目前时间点查询的上个月的经济运行分析报告,和本月初查询的上月经济运行分析报告在报表和报告额数据上会有差异,客户会期望保留本月初查询的报表数据作为凭据。所以,就有必要对报表的历史快照信息进行保存和留痕,将设计好的报表页面连同数据保存为Excel、文本、html、图片等格式。文档库管理就是为了实现这一目的而设计的。根据用户报表的分类特性,对指定的报表设置“生成报表快照”标识,有了这个标识,客户每次在查询报表时系统会自动生成一个快照记录,将报表的内容以文档的形式存储起来,便于后期的查看、对比和分析。

数据采集

目前企业的某些报表数据来源是无法从现有的信息系统中获取的,比如:外部经济运行数据、宏观经济指标数据等,而这些数据又往往是某些报表,尤其是考核和分析类报表中必不可少的、或者需要参照的数据,所以有必要对这些外部数据进行统一的管理。数据填报模块就是为了实现这一目的而设计的。系统通过提供EXCEL模板导入、指定模板录入等方式为外部数据的采集和获取提供了一个技术平台,并且支持根据不同数据分类进行模板格式、数据项的自定义,可以根据不同的组织层级、不同的业务领域进行定制。

报表统计与分析

以往随着业务系统使用的深入,报表日积月累会越来越多,但是哪些报表时评频率较高?哪些报表使用频率较低?哪些人在使用这个报表?哪些人有类似的报表需求?哪些报表可以合并?这些问题都可以通过报表统计与查询分析模块来解决。报表中心中通过对每个报表的点击次数、点击人信息的搜集,提供根据时间、组织、频率等条件下的报表统计和分析功能,从而为搜集报表需求、找出潜在的用户需求点提供参考。同时也可以提升用户对报表的使用频度,逐步减少甚至淘汰不必要的报表,对报表系统进行“瘦身”。

权限管理

为了保证报表中心的各类报表能够被授权访问、各取所需的使用,需要为各类报表提供统一的报表权限控制机制。

访问权限:提供基于系统+角色的授权模型,为多个系统、多种报表对象进行授权,授权对象包括系统、用户、组织、岗位、职级和用户组(多种授权模式相结合)。多样的授权方式保障了强大的权限管理能力,适应烟草公司的现状。

权限控制:系统应支持多级权限控制方式,支持省、市多级组织机构的用户和权限管理。

数据权限:对访问权限进行了完全的统一管理,但是鉴于数据权限的多样性和复杂性,对数据权限的控制通过报表设计中心来完成。报表设计中心可以基于访问权限进行数据权限的扩展。

报表中心和应用系统在前端展现层面应能够将报表和企业信息门户进行统一身份认证和应用展现。

信息反馈

报表管理中心需要向报表使用者提供便捷的信息处理反馈渠道,如:短信、邮件、消息等,将报表的发布等信息反馈给相关人员,以提高报表应用的效率和效果。

3.3报表应用中心

报表应用中心即是一个报表的集中应用环境,包括发布后的报表程序、报表运行时环境、应用服务器等资源。通过报表应用中心为报表使用者提供了一个集中的、统一的报表平台。通过报表应用中心,用户可以查找、查看所需的报表和报告,可以和报表进行交互操作,并将报表内容进行导出操作,可以理解为一个独立的报表信息系统。报表应用中心同时也提供对外的访问接口(如:url连接、web服务、portlet),将报表中心的报表功能输出给业务系统、企业门户、元数据管理系统等。

3.4总结

通过建立上述的企业级报表中心解决方案:

1.首先,实现了企业范围内报表资源的集中管理,形成报表的“统一开发平台、统一管理平台、统一应用平台”的集成环境,简化了报表的开发和运维工作,并为后续系统的报表需求从技术、流程和规范方面提供了一种完整的机制。

2.通过企业报表中心的建设,将原来分散建设的报表数据源、开发平台、元数据以及报表需求进行了集中管理,一方面提高的报表的数据质量,同时也提高了报表的使用程度。

3.通过企业报表中心的建设,对企业信息化的建设也提供了一种新的模式:为不同的系统开发商提供了一套完整的、统一的报表开发规范,各开发商可以在统一的规范下准确、高效的进行协作开发,将更多的精力关注于报表逻辑的实现,将数据来源、发布策略、底层的技术实现交给报表中心来实现。从而提高了报表的开发效率,提高了报表的使用水平。

4.通过企业报表中心,可以逐步的对原有系统的一些报表进行迁移和整合,对业务系统进行“瘦身”,从而提高业务系统的性能。


 
分享到
 
 


专家视角看IT与架构
软件架构设计
面向服务体系架构和业务组件
人人网移动开发架构
架构腐化之谜
谈平台即服务PaaS


面向应用的架构设计实践
单元测试+重构+设计模式
软件架构师—高级实践
软件架构设计方法、案例与实践
嵌入式软件架构设计—高级实践
SOA体系结构实践


锐安科技 软件架构设计方法
成都 嵌入式软件架构设计
上海汽车 嵌入式软件架构设计
北京 软件架构设计
上海 软件架构设计案例与实践
北京 架构设计方法案例与实践
深圳 架构设计方法案例与实践
嵌入式软件架构设计—高级实践
更多...