引言
1.1项目背景
随着网络和信息技术的高速发展及广泛应用,越来越多的管理信息系统被应用于企业、政府、校园及其他单位,这些系统不仅提高了工作人员的办事效率,促进了无纸化办公,同时也提高了公司企业内部的管理水平,极大地促进了公司业务的展开,帮助企业发展。但企业的不同部门往往拥有完成各自工作的管理信息系统,产生了诸多“信息孤岛”和“应用孤岛”。为获取所需的信息资源,不同部门的工作人员需要登录不同的系统,为此导致频繁的在系统间来回的切换。同时,不同系统彼此之间各自孤立,存在了数据分散、数据不一致、功能重复等问题,数据也没有得到充分的挖掘和利用。
各系统面向各自的业务,系统设计幵发时缺乏统一考虑,增加了系统集成应用难度。因此,需要开发相应的资源管理系统,在保证原有历史系统相对独立和有效运行的前提下,整合各个应用系统,充分利用现有系统产生的数据,提高管理决策的效率。EMC2公司现存着许多自主开发或购买的管理信息系统,这些系统或工具各司其职,有些系统还存在重复的功能,各个系统拥有独立的数据库,excel报表文件也是公司重要的信息源,这些信息资源并没有得到挖掘和充分利用。
管理者(如各部门经理)在计划、汇报、管理时,需要花费大量的时间使用不同的一个或多个系统获得需要的信息,再将信息人工的计算、整合。为了在现有纷繁系统的基础上,充分利用现有的数据,将数据可视化地生成统一报表,一站式地对员工、项目、项目进度等进行管理,开发基于数据仓库、整合多数据库的资源管理系统势在必行,2012年3月正式进入研发阶段。该系统用于管理项目、员工及项目进度,定时抓取多个数据源的数据(包括现有管理信息系统的数据库和excel文档),生成用于管理决策的报表。报表主要涵盖了资源配置和Bug状态追踪两个方向。该系统初期承担分布在中国和美国、约500人规模的USD部门的管理、支持的工作,在取得成功经验后,向全公司各个部门推广。该系统需要高效地整合数据,增强信息共享,具有很高的实用价值和普遍性意义。
如何整合并处理不同部门间以及不同产品线的数据,如何将所得的统计结果以最直观的方式将信息潜在的价值提供给用户,是本文主要需要解决的主要问题。同时,采用多维数据库设计与分析技术、数据平面可视化技术,需要构建多维数据块,处理用户需要查询的数据块分析结果,并转化为一维数据,并以各种树表或图表的形式展现给用户。系统需要丰富的人机交互接口,使系统拥有良好的灵活性及实用性。
1.2国内外相关应用现状
1.2.1数据仓库应用现状
自20世纪90年代起,数据仓库技术得到了广泛的关注和应用,目前,其应用领域遍布银行、通信、证券、税务、保险等各个行业。据美国国际数据公司(IDC)调查统计,数据仓库技术的投资回报率(ROI)平均超过400%,平均回报时间为2至3年,而使用数据集市的投资回报率平均超过500%。[何朝红,2006]在经济发达国家,大部分大型企业均建立了自己的数据仓库。
目前,30%至40%的美国公司已经或正在构建本公司的数据仓库。近年来,越来越多的国内企业也逐步认识到采用数据仓库充分利用数据获得决策支持的重要性,许多大型企业开始建立数据仓库。[叶得学等,2009]在数据仓库应用和普及中也遇到了一些问题:数据量不足。数据仓库所提供的决策支持功能是建立在海量数据的基础上的,许多企业的OLTP数据规模较小,无法开展联机分析处理。建立数据仓库需求不明确。一般的数据仓库的用户是企业领导层,但在项目开发中要求领导层与项目开发人员合作明确需求是较为困难的。
需求不明确导致最终开发的产品往往不能解决领导层的需求。数据质量问题。数据是数据仓库的核心,数据仓库中数据来自多个不同种类的数据源,如何保障数据的质量,获得有价值的决策信息是需要解决的难题。
1.2.2 ETL工具发展现状
为了支持数据仓库的推广和使用,各大数据库厂商纷纷宣布产品支持数据仓库,同时提出一整套用以建立和使用数据仓库的产品。各个数据库厂商的产品具有不同的侧重点,对应的ETL工具也各有千秋。表1.1是对几个主要数据库厂商的ETL工具的简单比较,主要有旧M的Visual Warehousing, Oracle的OracleWarehouse Builder, Microsoft 的 DTS 等。这些ETL工具都存在着不够轻量级的问题,流程较为繁琐,而且本系统涉及到的数据源种类较多,数据格式多样化。因此为了更加轻便地进行ETL工作,更好地对不同的数据进行有针对性的处理,本文根据ETL的基本流程幵发了一个ETL工具。
第二章相关技术综述 .................5
2.1 OLAP 技术 .................5
2.2 ETL .................6
2.3 Spring 框架 .................7
2.4 Hibernate 与 iBATIS 比选................. 9
2.5 RIA 技术................. 10
2.6 RPC 技术 .................12
2.7本章小结 .................13
第三章系统分析与设计 .................14
3.1系统用户对象及其需求分析 .................14
3.2系统功能分析 15.................
3.3 ETL数据源分析 .................20
3.4系统架构设计................. 21
3.5模型层设计 .................23
第四章信息可视化模块实现 43
4.1 ETL 实现................. 43
4.2 Server 端实现 .................50
4.3 Client 端实现 .................52
总结
本文分析了 EMC2公司的现状,提出了存在各式各样的管理系统,但系统间各自独立,数据分散、不一致,并且数据没有得到很好的利用的问题。系统面向各自的业务,系统设计开发时缺乏统一考虑,增加了系统集成应用难度。这种信息难以共享问题具有普遍性。针对这一问题,EMC2公司提出幵发一款整合多数据库基于数据仓库的资源管理系统,解决“信息孤岛”、实现企业内部各部门之间信息共享。
本文概要介绍了项目背景,分析了相关应用现状,综述了相关技术,分析了用户对象需求和系统相关数据源,将系统划分为人力资源管理、项目管理、项目进度管理和信息可视化四大功能,提供定时抓取其他多个数据源的数据进行整合,以图表的形式直观地展示资源配置情况和Bug的状况。系统采用B/S结构,使用分层设计的思想将系统分成模型层、ETL层、服务端和客户共四个层次,设计了系统的数据模型。采用了数据仓库和ETL有效地整合了多个数据源的数据,服务器端采用Spring和Hibernate框架,客户端采用基于FLEX的RIA技术开发,充分利用其丰富的界面表现力获得更好的用户使用体验,采用RPC技术有效的连接服务端和客户端。
参考文献
1[毕锟,2010] 毕锟,刘军.ETL系统的设计及其研究[J].软件导汊2010,(05):173-175.
2[何朝红,2006] 何朝红.数据仓库在我国企业的应用现状及实施策略分析[J].广西辟#腐#叛,2006,(04):375-377.
3[胡启敏,2008] 胡启敏,薛锦云,钟林辉.基于Spring框架的轻量级J2EE架构与应用.计算机工程与应風2008,(05):115-118+133.
4[胡泽,2009] 胡泽,廖闻剑,彭艳兵.WebService技术研究及应用[」]?娃存,2009,(05):48+8.
5[林寒超,2006] 林寒超,张南平.Hibernate技术的研究[J].计算机技术与发展2006,(11):112-113+116.
6[彭璐,2010] 彭璐.基于数据仓库的ETL过程优化[J].计算机与数字厂視2010,(05): 166-169.
7[钱枉,2009] 钱钰,陈志云.基于Flex的RIA技术在教学软件中的应用[J].计算机与数字工程160-163.
8[王付山,2007] 王付山.OLAP技术研究与发展述评[J].软件导汊2007,(19):11-13.
9[许伟林,2009] 许伟林.浅析Hibernate与旧atis的区别[J].管理与财富,2009,(12):69.
10[杨胜,2003] 杨胜,孙翱.OLAP技术的发展新动态[J].分思与I/f,2003,(07):20-21.