(计算机软件与理论专业论文)商业智能前端展示工具的设计与实现.pdf_第1页
(计算机软件与理论专业论文)商业智能前端展示工具的设计与实现.pdf_第2页
(计算机软件与理论专业论文)商业智能前端展示工具的设计与实现.pdf_第3页
(计算机软件与理论专业论文)商业智能前端展示工具的设计与实现.pdf_第4页
(计算机软件与理论专业论文)商业智能前端展示工具的设计与实现.pdf_第5页
已阅读5页,还剩42页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

中山大学硕士论文商业智能前端展示工具的设计与实现 商业智能前端展示工具的设计与实现 计算机软件与理论 李英日 印鉴教授 摘要 本论文是软件实现技术型工程论文。项目基于广州菲奈特软件公司的商业 智能平台产品b i o f f i c e 3 0 ,采用了j a v a 技术,基于b s 结构实现了b i 前端展 示企业信息门户模块。项目采用了开放源代码的j a v a 组件实现了报表的动态展 示及基本的统计分析功能,并能够支持各种常用统计分析图形;同时对于 o l a p 报表能够完全支持上、下钻操作,能够支持图形钻取、分页等操作。面 向低端市场,可以部署到开放源代码的p o r t a l 服务器j e t s p e e d :而面向高端市 场,则可以部署到b e a 和i b m 的p o r t a l 服务器中,方便地跟其它企业应用集 成到一起。 论文还进一步探讨了基于l d a p 服务器建立统一身份认证系统的技术实 现,保证了与公司原有产品基于用户一角色一功能一资源的权限控制机制无缝 地结合在一起。 关键词:企业信息门户,l d a p ,商业智能,多维数据集,p o r t l e t 中山大学硕士论文商业智能前端展示工具的设计与实现 d e s i g n a n d i m p l e m e n t a t i o n o f r e p o r t i n g t o o l s i nb u s i n e s s i n t e l l i g e n c e c o m p u t e r s o f t w a r ea n dt h e o r y l iy i n g r i d i r e c t e db yp r o f y i nj i a n a b s t r a c t t h i sp r o j e c ti sb a s e do ng u a n g z h o uf e n e ts o f t w a r ec o r p o r a t i o n sb u s i n e s s i n t e l l i g e n c ep r o d u c tb i o f f i c e k n i g h t i saf r o n t e n dr e p o r t i n gt o o li nb u s i n e s s i n t e l l i g e n c eb a s e d o nb ss t r u c t u r ew i t hj a v at e c h n o l o g y i tw a sa l s oi m p l e m e n t e da s p o r t l e t s ,s oi tc a l lb ed e p l o y e d n o t o n l y o n j e t s p e e d ( a no p e n s o u r c ei m p l e m e n t a t i o no f a l le n t e r p r i s ei n f o r m a t i o n p o r t a l ) ,b u ta l s oo n u n i v e r s a lp o r t a ls e r v e r s ( f o r e x a m p l e , i b m w e b s p h e r ep o r t a l ) i tm a k e s b i o f f i c ec a nb ee a s i l yi n t e g r a t e dw i t ho t h e r e n t e r p r i s ea p p l i c a t i o n s t h e p a p e r a l s op u tf o r w a r di d e a sa b o u th o wt ob u i l dau n i f o r m i d e n t i t y a u t h e n t i c a t i o ns y s t e mb a s e do nl d a p s e r v e r ,i tc a nb es e a m l e s s l yi n t e g r a t e dw i t h b i o f f i c e su s e r - r o l e g r o u p r e s o u r c ep e r m i s s i o nc o n t r o lm e c h a n i s m k e yw o r d s :e n t e r p r i s ei n f o r m a t i o np o r t a l ,l d a p ,b u s i n e s si n t e l l i g e n c e , m u l t i d i m e n s i o n a ld a t a s e t ,p o r t l e t 中山大学硕士论文商业智能前端展示工具的设计与实现 1 1 行业背景 第1 章前言 1 1 1 企业信息门户 随着企业信息化技术的发展,企业内信息系统的应用越来越广泛,但是系 统间的接口也越来越复杂,一个企业内部采用不同的应用来解决企业各个业务 上存在的问题,由于系统与系统缺乏整体的考虑,有些系统已经阻碍了企业的 高速发展。 当前,企业在信息化建设方面为了适应业务需要纷纷建立了不同的应用系 统,但与此同时出现了这样的问题:企业拥有财务系统、业务流程系统、人力 资源系统等众多内部管理系统,但系统彼此之间各自孤立,数据分散;用户为 自身工作的需要必须要频繁的登录不同的系统,安全性缺乏统一的管理机制与 控制;对于企业内部不同工作岗位的工作人员来说,所需要的资源存放在不同 的系统当中,导致频繁的在系统间来回的切换。 由于所有系统间缺乏统一的考虑,也为系统的集成应用带来一定的困难, 为此,人们希望站在统一的高度来规划企业的应用,企业信息门户( e i p : e n t e r p r i s ei n f o r m a t i o np o r t a l ) 的概念应运而生。 作为w e b 应用程序简单统一的访问点,e i p 提供了集成的内容和应用,以 及统一的协作工作环境,同时增加了许多有价值的附加功能,包括系统整合和 内容管理、个性化、存取搜索、与移动设备的连接和门户资源管理功能。系统 整合就是将业务系统及不同用户透过协作功能连接起来,形成共同工作的统一 平台。 一个门户必须能够集成应用和信息源,搜索和索引文档,方便协作并提供 一个可以个性化的接口,不仅充当人们获取信息的入口点,同时也是一种集成 企业应用的基础框架。当前国内外的门户解决方案分为四类【1 】: ( 1 ) 面向业务的门户 这主要包括围绕各自的旗舰产品开发的门户产品供应商。如b r i o 公司的 b r i op o r t a l7 0 ,正朝着一个通用的门户产品迈进,不仅能集成自己的商业智能 方案,而且能集成外部信息。 中山大学硕士论文商业智能前端展示工具的设计与实现 ( 2 ) 协同型门户厂商 这些供应商的产品通常包含协同、知识管理和分类应用程序,如l o t u s 和 m i c r o s o f t 等都属于这一类,他们在其门户产品中提供协同工具( 任务列表,共 享日程,项目管理等) ,还有就是在其传统的文件管理系统增加了在w e b 上自 动生成摘要、审核和发布,又或者是搜索和目录服务等功能。 ( 3 ) 通用门户厂商 例如,i b m 、b e a 、o r a c l e 和s y b a s e 为他们的门户提供一个高质量的技术 基础平台,这些门户产品完全基于他们各自的应用服务器,并提供一个为创建 门户及开发的框架。 ( 4 ) 提供单一的门户模块 这些门户模块产品包括t i b c o 、y a h o o ! 等,这些门户比较突出的特点是关注 门户本身的创建,因而只能提供门户的模块,经常需要使用第三方的应用服务 器产品。 1 。1 2 引前端展示工具 作为数据库领域的下一个应用热点,商业智能应用受到越来越多企业的关 注。尤其是作为其重要组成的前端工具。几十年来。信息技术人员一贯向信息 用户提供“预制好的”报表和分析。商业智能( b u s i n e s s i n t e l l i g e n c e ) 工具的出 现戏剧化地改变了这种依赖性,它创造了一个环境,使信息技术人员可有效地 向用户提供信息及各种正确的商业智能工具来“武装”用户,同时减少他们自 己堆积如山的报表和全面的技术支持的负荷。 目前,国内外厂商非常看好b i 前端展现工具的发展,通过公司并购、公司 重组或注重资等多种方式进行产品的开发和升级,国外的b i 前端展示工具有 b r i o 、b o 、c o g n o s 、m i c r o s t r a t e g y 等等。 1 2 项目背景 1 2 1 产品简介 b i o f f i c e 是由菲奈特软件公司自行研发的商业智能平台产品,其核心技术 是商业智能相关技术,包括数据仓库,联机分析处理数据挖掘技术,以及报表 处理、数理统计、人工智能、神经网络、经济学、管理学等,在目前国内市场 2 中山大学硕士论文 商业智能前端展示工具的设计与实现 的商业智能技术和产品中,处于领先水平。b i o f f i c e 全面整合企业信息,让决 策者从多角度分析企业信息,发现潜在的商机、寻找隐藏的客户消费规律、监 控企业潜在的风险。 1 2 2 项目开展的必要性 目| j 仃b i o f f i c e 是c s 模式,在报表设计与功能定制方面非常灵活与方便, 并可以在客户端承担很多计算任务。随着业务的拓展和互联网技术广泛应用于 企业信息化当中,原有产品的技术选型已不能满足客户的需要。由于产品初期 推出的w e b 版本是在浏览器端下载a c t i v e x 控件,导致只能局限于在w i n d o w s 平台使用,不能做到跨平台,也不能在对砸安全有某些特殊要求的行业中使 用,也难以和第三方应用很好地集成在一起。 由于上面的原因,公司开始致力于探索建立基于b s 结构的b i 前端展现工 具的原型研究,并将该项目命名为k n i g h t ,并准备第一期在北京光大银行信 贷风险项目投入实施使用。 1 3 项目目标和研究内容 1 3 1 项目目标 最终目标是在实现b s 结构下无控件的动态报表展示平台基础上,采用 j 2 e e 的技术标准来探索基于w e b 的企业信息门户原型,实现面向业务的、统 一入口的企业信息f 户平台系统,既可以部署到各种主流的p o r t a l 服务器上 面,也可以方便地跟第三方应用集成到一起。 1 3 2 项目限制 公司基于市场和产品升级等方面的考虑,不会对现有b i o f f i c e 应用服务器 后台代码作大量的改动。所以k n i g h t 只能是基于现在服务端提供的功能模 块,同时为了不影响和破坏原有产品的架构,暂不考虑实现复杂报表、后台管 理、报表定制等功能。另外,公司也在考虑在下一阶段将部分客户端功能移到 服务器端完成,这样的话,给k n i g h t 进一步研究带来更大的空间。 3 中山大学硕士论文商业智能前端展示工具的设计与实现 1 3 3 研究内容 p o r t a l 是一个内容聚集的平台,提供了一个统一访问的界面和一致的显示风 格,而将b i 前端的表格展示、图形展示发布为p o r t l e t ,可以将客户所关心的多 个主题集中在一个页面上展示,企业管理人员通过一个页面就能够了解到整个 企业的运营状况,进而更为快速、更为准确的做出决策,提高管理绩效。 本文着重探讨在b s 模式下如何实现报表的表格显示及图形显示。同时也 探讨基于l d a p 服务器建立统一身份认证系统的技术实现,并结合p o r t a l 对 p o r t l e t 的布局控制与属性定制来完成展现方式的个性化。通过这些p 0 n i e t ,客 户可以简单快捷地搭建自己的p o r t f l 应用。 4 中山大学硕士论文商业智能前端展示工具的设计与实现 2 1 维度 第2 章o l a p 多维数据集的基本概念 维度是多维数据集的结构性特性。它们是事实数据表中用来描述数据的分 类的有组织层次结构( 级别) 6 1 。这些分类和级别描述了一些相似的成员集 合,用户将基于这些成员集合进行分析。 2 2 度量值 在多维数据集内,基于该多维数据集的事实数据表中的某列的一组值,它 们通常是数字。度量值是进行聚合和分析的主要值f6 1 。 例如,如果一个多维数据集的度量值是“生产计数”,维度是“产品”、 “时间”和“工厂位置”,则访问此多维数据集的最终用户就可以将“生产计 数”分成“产品”、“时间”和“工厂位置”等不同的分类。 遵 蓄 缅因州俄亥俄州 l 一。j 东部 爱迭荷州德克萨斯州 l 一、广j 西部 工厂位置 5 中山大学硕士论文商业智能前端展示工具的设计与实现 2 3 单元 单元是多维数据集的原子元素,或者为来自与该多维数据集相关联的每个 维度的某个成员的唯一逻辑交集 们。实质上,多维数据集由按度量值、级别以 及维度组织的单元组成。 例如,下列关系图描述的多维数据集有一个带阴影的单元。 路线j 【 度量值 厂矿 工= 沃1 第一季度第= 季度第三季度第四季度 l t _ jl 1 j 上半年下半年 i - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - _ j 对闻 带阴影的单元是下列成员和维度的交集 “源”维度的“航空”成员。 “路线”维度的“非洲”成员。 “时间”维度的“第四季度”成员。 “度量值”维度的“包”成员 6 中山大学硕士论文商业智能前端展示工具的设计与实现 2 4 空单元 并非多维数据集中的每个单元都必须包含一个值;没有值的多维数据集也 可以有交集。这些称为空单元的交集经常出现在多维数据集中,因为并非维度 的每个交集都可在事实数据表中包含一个相应的记录。经常将多维数据集中空 单元与多维数据集中单元总数的比率称为多维数据集的稀疏度【6 1 。 7 中山大学硕士论文 商业智能前端展示工具的设计与实现 第3 章k n i g h t 技术框架 3 1b i o f f i c e 技术框架 1 3 1 o f f i c e3 0 是采用目前流行的w e bs e r v i c e 框架搭建的多层结构体系,在 逻辑上共分为五层,包括 o l o b r o w s e r - - 用户界面层 w e bs e r v e r 一数据传输层 a p p l i c a t i o ns e r v e r 一业务逻辑层 o l a ps e r v e r - - o l a p 数据访问层 d a t aw a r e h o u s i n gs e r v e r - - o l t p 数据访问层 业务逻辑层与数据传输层通过简单对象存取协议( s o a p ) 进行x m l 数据 交换,也就是说,用户发出的请求,服务器返回的结果都是x m l 数据。 图3 - 1b i o f f i c e 网络服务框架 结合b i o f f i c e 的技术框架与项目目标,我们所需要实现的是图3 1 最右边 的一层,创建基于w e b 的报表展示平台,实现与现有客户端应用程序一致的 报表展示、统计分析功能,而不考虑实现报表创建与设计、后台管理等与服务 器交互比较频繁的功能。只要接口定义的粒度足够小与耦合度足够低,这样在 发布为p o r t l e t 时,就可以直接调用这些a p i 。 8 一 一蜩i寸们n;er 一 一 eb口wcgs 一 一!:旧舶恤舟并恪陪苎皇!僻 一 r旧啸!营阳学旧萤蓍一 中山大学硕士论文 商业智能前端展示工具的设计与实现 3 2 技术实现框架 仅仅是作为多维数据集的前端展示工具的k n i g h t ,在整个1 3 i o f f i c e 多层 架构中是属于比较“薄”的一层,它把服务器端的报表展示功能提炼出来并最 终以w e b 方式实现,最后以比较好的接口形式公开出来。 图3 - 2 技术实现框架 孵翼委纛需露覃霉飘 一翻烫瓣瓤 篙募萎i 可叩f z 霸: 浏览器发出访问请求,w e b 服务器通过访问b i o f f i c e 的e j b 得到报表对 象,如果需要进行另外的统计分析,则调用统计分析模块完成计算,生成相关 的页面,然后整合展示元素,返回给浏览器展示。 3 2 1 报表对象 当向服务器请求打开一张报表时,服务器将返回三段x m l 文档,一段记 录了表格的列表,每张表格包括维度成员和度量值成员信息:另一段是度量值 的数据集列表,还有一段保存了报表的布局信息。当用户对其中的一个表格进 行钻取操作后,将返回当前表格的最新的维度成员列表信息。 下面就服务器端返回的x m l 的原始文档作一简单介绍: 记录表格信息的x m l 文档 o u e r y t y p ep a g e r o w s = 。r e t u r n r o w s = 。t o t a l r o w s = ”1t y p e = ”、 其中每一个f i l t e r 节点就对应一个表格,每一个表格里面有一个重要的节 点t a b l e h e a d l n f o r ,记录着各维度成员和度量值成员,其子节点m e m b e r 对应于 行头或列头的一个单元格。 9 rfi;1瞻矽1l 国黼 中山大学硕士论文商业智能前端展示工具的设计与实现 记录度量值的数据集的x m l 文档 d ) 其中r 0 节点表示数据是第0 行( 下标从零丌始) ,其子节点c o 表示是第 0 列( 也是从零开始) ,属性c a p t i o n 用于显示,v 记录其度量值的原始数值, 对数据进行进一步的统计分析就是基于此值。 记录报表布局信息的x m l 文档 l a y o u tr e p o r t i d = 。r e p o r t n a m e = 。”v e r = ”、 在使用j a x f 进行x s l t 转换时,通过下列方法为属性赋值: t r a n s f o r m e ra t r a n s f e r m e r = g e t t r a n s f o r m e r ( x s l d o c ) ; a t r a n s f o r m e r s e t p a r a m e t e r ( 。c e l l s e t _ c o l o r ”,”# 0 0 0 0 f f ”) ; a t r a n s f o r m e r s e t p a r a m e t e r ( 1a l t _ c e l l s e t _ c o l o r 。”# 0 0 0 0 0 0 。) 1 9 中山大学硕:士= 论文商业智能前端展示工具的设计与实现 5 1 。3o l a p 分析功能的实现 s 1 3 1 钻取功能 用户在察看报表时,往往需要对关心的数据作进一步的分析。这里的分析 功能主要为钻取功能。b i o f f i c e 后台的e j b 提供了支持对维度成员进行上钻、 下钻、层钻和展开式钻取的统一访问接口。下表是该接口一些说明: 表5 3 钻取功能接口说明 方法名 d r i l l e x t e n d b i o f f i c e 最新版本的钻取操作接口函数名 参数 d r i l l d i r e c t i o n 钻取的方向,值为以下其中之一 0 :上钻( 展开式钻取) 1 :上钻( 覆盖式钻取) 2 :下钻( 展开式钻取) 3 :下钻( 覆盖式钻取) 4 :层钻,在钻取后显示指定维度某层次的成员 5 :在特定成员上的层钻 d i m e n s i o n n a m e 设置要钻取的维 l e v e l n a m e 设置要钻取的层次,为可选参数。当不是层钻时 该参数不起作用 p a t h 成员的完整路径。这个参数是必须的 m e m b e r n a m e 设置要钻取的成员名 5 1 3 2 分页功能 b i o f f i c e 原有的分页接口设计得似乎有些不合理,它的调用流程是这样 的:用户在客户端点击下拉框选中要访问的成员( 只能选中其中一个) ,然后 重新生成3 2 1 中记录表格信息的x m l 文档( 当前选中m e m b e r 节点的子节点 s e l e c t e d 的值设为t r u e ,而其它非选中节点设为f a l s e ) ,最后把x m l 文档字符 串作为一个参数( 数据量太大) 调用s e t r e g i o n f i l t e r 接1 = i 向服务器发出请求。 服务端根据传过来的x m l ,重新生成表格的q u e r y 和c e l l s e t 对象返回客户 端,然后以表格形式或者图形形式将筛选后的数据在浏览器显示出来。 2 0 中山大学硕士论文 商业智能前端展示工具的设计与实现 5 2 图形展示功能的实现 在本项目中,我们使用了开放源代码项目j f r e e c h a r t 实现图形的展示。 5 2 。1j f r e e c h a r t 简介 j f r c e c h a r t 是开放源代码站点s o u r c e f o r g e n e t 上的一个j a v a 项目,使用是 许可属于g n ul e s s e rg e n e r a lp u b l i cl i c e n c e ( l g p l ) ,l g p l 许可意味着其可 以与非自由软件混合使用。j f r e e c h a r t 主要用来生成各种各样的统计图表,这些 图表包括:饼图、柱状图、线图、区域图、分布图、混合图、甘特图以及一些 仪表盘等等。 5 2 2 生成图象 生成图象需要确定所生成的统计图的类型和数据集来源。 5 2 2 1 创建数据集对象 柱状图、线形图、区域图对应的数据集为m n 的矩阵,而饼图则是m 1 或者1 n 的矩阵。 在创建m n 矩阵时,数据集来源于一个查询里c e l l s e t 所有的c e l l d e f a u l t c a t e g o r y d a t a s e td a t a a e t = d e wd e f a u l t c a t e g o r y d a t a s e t ) ; d a t a s e t a d d v a l u e ( v a l u e ,c o l n a m e ,e o w n a m a 其中v a l u e 为c e l l 的数值,c o l n a m e 为该c e l l 所在列的列头对应的度量 值,r o w n a m e 为所在行的行头对应的维度成员。当体现在统计图时:按列作图 时,行体现为分类轴( x 轴) ,列为系列,数值为数值轴( y 轴) :按行作图 时,列体现为x 轴,行为系列,数值为y 轴。 对于饼图时,可以通过下列方法生成数据集 d a t a s e t u t i l l t i e s c r e a t e p i e d a t a s e t f o r c o l u m n ( d a t a s e t r o w i n d e x ) 选择其中的一行或者 d a t a s e t u t i l i t i e s c r e a t e p i e d a t a s e t f o r r o w ( d a t a s e t , c o l u m n i n d e x ) 选择其中的一列,而d a t a s e t 则是上面得到矩阵对应的数据集。 2 1 中山大学硕士论文商业智能前端展示工具的设计与实现 5 2 2 2 统计图的类型 柱状图、线形图、区域图等图例可以指定x 辅( 也称为分类轴) 和y 轴 ( 也称为数据轴) 的标签,分别为s e t d o m a i n o 和s e t r a n g e 0 。而饼图只是分析 其中的一行或- - y l j 数据,只需通过s e t t i t l e 0 来表示。而所有统计图都是用 s e t t i f l e 0 来指定标题。 图5 - 1 柱状图 图5 - 2 饼图 中山大学硕士论文 商业智能前端展示工具的设计与实现 5 2 3 输出图象 j f r e e c h a r t 可以生成两种格式的图片文件,有j p g 和p n g 。比如将生成的 c h a r t 输出为j p g 文件,其中方法之一是调用图表工具类的静态方法 c h a r t u t i l i t i e s w r i t e c h a r t a s j p e g ( j a v a i o o u t p u t s t r e a mo u t , f l o a tq u a l i t y ,j f r e e c h a r tc h a r t ,i n t w i d t h ,i n th e i g h t ) 把 c h a r t 输出到指定的输出流中。在w e b 应用中,我们通过s e r v l e t 输出,只要设 定h t t p s e r v l e t r e s p o n s e 的内容类型为i m a g e j p e g ,这时参数o u t p u t s t r e a mo u t 应 为s e r v l e t 的s e r v l e t o u t p u t s t r e a m 。 默认地,如果用户不指定生成图象的大小,我们设计并使用了以下的规 则: 1 宽度= 表格的行数表格的列数6 0 ( 单位为像素) 2 高度= 表格的行数6 0 ( 单位为像素) 3 如果上面得到的高度大于6 0 0 像素,则强制其为6 0 0 像素;如果上面得 到的宽度大于8 0 0 ,则强制其为8 0 0 像素。 这样保证了图片在页面显示时整体布局的美观性。 5 2 4 生成帮助提示和u r l 链接 在网页中是通过i m g 标签来嵌入图片,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论