Chinaunix首页 | 论坛 | 博客
  • 博客访问: 101959919
  • 博文数量: 19283
  • 博客积分: 9968
  • 博客等级: 上将
  • 技术积分: 196062
  • 用 户 组: 普通用户
  • 注册时间: 2007-02-07 14:28
文章分类

全部博文(19283)

文章存档

2011年(1)

2009年(125)

2008年(19094)

2007年(63)

分类:

2008-04-12 10:05:51

 

级别: 初级

Jin Ji Wen (), 高级软件工程师, IBM
Shen Yu (), 软件工程师, IBM

2006 年 3 月 23 日

IBM DB2® Cube Views 和 DB2 Alphablox® 的集成解决方案允许简单快速地构建基于关系数据库的多维 OLAP Web 应用程序。下面介绍如何来实现。

在当今变化莫测的商业世界中,有效地收集、组织和显示有价值的信息是组织能够作出英明商业决策的关键因素。OLAP(Online Analytical Processing,联机分析处理)Web 应用程序是通过交互式网格报告、图表和图像来展示不同企业数据全面视图的正确选择。许多公司已经具有自己的 IT 基础设施,比如 DB2 Universal Database™ (UDB) 和 WebSphere® Application Server,他们希望有效地开发和部署他们自己的 OLAP Web 应用程序。

本文描述如何集成 IBM 的 DB2 Cube Views 和 DB2 Alphablox 以提高业务分析 OLAP Web 应用程序的生产率(参见图 1 中 DB2 Cube Views 和 DB2 Alphablox 的集成架构)。

DB2 Cube Views 是 DB2 UDB 的插件功能,允许 DB2 UDB 感知 OLAP。DB2 Cube View 元数据可以捕获 DB2 数据库的多维结构和设计。Optimization Advisor 可以创建 Materialized Query Tables (MQT) 来提高查询性能。亮点之一是位于 DB2 UDB 顶部的 DB2 Cube View 可以与 OLAP 报告工具集成,比如在本例中是与 DB2 Alphablox 集成。







DB2 Alphablox 是用于在企业中快速构建和广泛部署自定义分析解决方案的主要应用程序开发平台。DB2 Alphablox 提供了一系列分析组件和支持服务,以便于使用 JSP™ 标记快速组装分析应用程序。DB2 Alphablox 开发人员使用 Adapter 连接所有类型的数据源,使用数据 Blox 检索数据源中的信息,并使用可视化 Blox 创建高度交互的自定义图像、图表和报告以满足用户的需要。







图 1 演示了 DB2 Cube Views 和 DB2 Alphablox 的集成架构。



DB2 Cube Views 和 DB2 Alphablox 的集成架构

在 OLAP Center 中,DB2 Cube Views 有效地构建 OLAP Metadata Model,该模型是从 DB2 UDB 中的星形模式转化而来的。同时,使用 Optimization Advisor,可以在 DB2 UDB 中构建 MQT 来提高查询性能。通过使用 Metadata Bridge,可以将 Cube 模型导入到 DB2 Alphablox 的 Cube Manager 中,然后进行定制。DB2 Alphablox 管理和调整这些导入的多维数据集(cube)。Cube Server 定期从 MQT 和事实表中提取数据。当 DB2 Alphablox 应用程序发送 Multidimensional Expressions (MDX) 查询时,Alphablox 编译并执行该查询。然后 DB2 Alphablox 尝试从内存高速缓存中获取结果集合对象,并将该结果发送回 Web 浏览器。







既然已经了解了 DB2 Cube Views 和 DB2 Alphablox 的功能,那就开始吧。演示环境基于下列产品,其中包括 DB2 UDB V8.2、DB2 Cube Views V8.2、DB2 Alphablox V8.2、WebSphere Application Server V5.1 和 j2sdk1.4.2_09。

演示展示了一个虚构公司的人力成本报告。报告数据来自四个维度表 PROJECTDEPARTMENTACTIVITYD_TIME 和一个事实表 HUMANCOST。图 2 演示了关系数据库中的星形模式。



关系数据库中的星形模式

请按照建议的顺序安装下列产品:DB2 UDB V8.2、DB2 Cube Views V8.2、j2sdk1.4.2_09、DB2 Alphablox V8.2 和 WebSphere Application Server V5.1。有关详细信息,请咨询联机产品手册或 、 或 online tutorials

成功安装这些产品之后,接下来应该配置演示环境。







图 3 演示了启动 DB2 Command Window 并运行下列命令来创建数据库 GBPM4ETL



创建数据库

图 4 演示了连接 Database GBPM4ETL 并运行脚本 GBPM4ET.sql 来创建维度表和事实表。



创建维度表和事实表

图 5 展示了如何运行下列命令来将演示数据导入到维度表 ACTIVITYDEPARMENTPROJECTD_TIME 和事实表 HUMANCOST 中。



将演示数据导入到维度表和事实表中






要完成本文讨论的演示,必须在完成配置 DB2 UDB V8.2 之后,将从 Cube Views 中导出的模型文件导入到 DB2 Cube Views 环境中。

打开 OLAP Center 并选择数据库 GBPM4ETL,输入正确的 User namePassword,然后单击 OK,如图 6 所示。



连接数据库

OLAP Center 将在您第一次连接数据库时配置 Cube View。单击 OK,等待数据库配置完毕,如图 7 所示。



OLAP Center 配置 DB2 Cube Views

接下来,在数据库连接成功之后,选择 OLAP Center -> Import,查找系统中的源模型文件 GBPM4ETL.xml,然后单击 Next



查找系统中的源模型文件

图 9 展示了可以如何选择导入选项。如果选择 DO not replace xisting objects,则没有任何新引用添加到现有对象中。在本例中,保留默认值 Replace existing objects,然后单击 Next



选择导入选项

接下来,检查导入摘要。要将当前对象导入到 DB2 中,单击 Finish。要更改选择,单击 Back



检查导入摘要

成功导入 OLAP 对象之后,检查导入的 Cube 模型和多维数据集的详细信息。



检查导入结果






要配置 DB2 Alphablox,应打开 Web 浏览器,输入 DB2 Alphablox Administration 的 URL,即 。图 12 展示了该页面。单击 Administration 选项卡。在 Administration 页面下有一些子选项:GeneralGroupsUsersApplicationsData SourcesCubes



打开 DB2 Alphablox 的 Administration 页面

为了连接已提供的数据源 DB2 Cube Views,首先必须连接底层关系数据库。单击 Data sources 配置底层数据源。键入 GBPM4ETL 作为 Data Source Name。选择 Adapter 类型 IBM DB2 Type 4 JDBC driver。如果 DB2 UDB 和 Alphablox 安装在同一机器上,则输入 localhost 作为 Server Name;如果安装在不同的机器上,输入安装 DB2 UDB 的机器的 IP 地址。Port Number 的默认值是 50,000。键入 GBPM4ETL 作为 Database Name,添加相应的用户名和密码,然后单击 Save 保存,如图 13 所示。



配置 DB2 数据源

测试数据源 GBPM4ETL,以确保配置正确,如图 14 所示。选择 GBPM4ETL,然后单击 Test Selected Data Source。将会看到成功消息。单击 Close 关闭消息窗口。



测试 DB2 数据源

现在单击 Cubes 配置多维数据集。创建一个名为 HUMANCOST 的多维数据集,选择 GBPM4ETL 作为关系数据源。确认选中选项 Enabled。保留 Enabled 为未选中将不允许您成功启动该多维数据集。选择 Enable DB2 Cube Views Settings 时,所有在 DB2 Cube Views 中配置的 Cube 模型和多维数据集都将显示在下拉列表中。选择 DB2ADMIN.HUMANCOST 作为 Cube Model,并选择该 Cube Model DB2ADMIN.HUMANCOST 的一个 Cube。为了让 OLAP 应用程序显示维度和度量的有意义的名称,选择 Use Business Names。然后单击 Import cube definition 将 OLAP 多维数据集对象定义(比如 “pre-populate measures”)和维度从 DB2 Cube Views 导入到 DB2 Alphablox Cube 中。取决于导入的多维数据集定义,DB2 Alphablox Cube Server 尝试指定与 DB2 Cube Views 中的多维数据集最匹配的 DB2 Alphablox 多维数据集。单击 Show Import Log 查看导入结果。然后单击 Save。现在可以在面板 Db2 Alphablox Cube 中看到叫做 HUMANCOST 的 Cube 了。



将 Cube 模型导入到 DB2 Alphablox 中

现在启动刚刚配置的多维数据集。单击 ADMINISTRATION 下的 General 子选项卡。单击左边的 DB2 Alphablox Cubes 链接,选择多维数据集 HUMANCOST,然后单击 Start。多维数据集的状态应为 running



启动多维数据集

就剩最后一步了。要使用 HUMANCOST,必须配置 Alphablox Cube Server Adapter 类型的数据源。只有通过这种类型的数据源,才能使用多维数据集。单击 ADMINISTRATION 下的 Data Sources 子选项卡,然后单击 Create。选择 Alphablox Cube Server Adapter 作为数据源类型。输入 DB2CubeViewCube 作为 Data Source Name 和 Description,然后单击 Save 保存。就创建了名为 DB2CubeViewCube 的数据源,如图 17 所示。



创建 Alphablox Cube Server Adapter 类型的数据源

接下来,测试数据源 DB2CubeViewCube 是否正确配置。选择 DB2CubeViewCube,然后单击 Test Selected Data Source。单击 Close 关闭成功消息窗口。



测试 Alphablox Cube Server Adapter 类型的数据源

成功配置演示环境之后,就可以开发可视化 OLAP 报告和图表了。







下列符号用于表示 DB2 Universal Database、WebSphere Application Server 和 DB2 Alphablox 的安装目录:

  • ,通常为 C:\Program Files\IBM\SQLLIB\java
  • ,通常为 C:\Program Files\WebSphere\AppServer
  • ,通常为 C:\Program Files\IBM\DB2 Alphablox\

首先使用 Alphablox 生成 EAR(Enterprise Application Repository,企业应用程序资源库)文件。单击 ADMINISTRATION 下的 Applications,然后输入 Humancost 作为 NameDisplay NameDescription。保留其他所有字段为默认值。



生成 EAR 文件 Humancost.ear

图 20 演示了文件 Humancost.ear,并展示了将在 \installableApps 目录下生成目录 Humancost



由 DB2 Alphablox 服务器生成的 Humancost.ear 的位置

最后一步是将该 EAR 文件部署到 WebSphere Application Server 上。要将该 Humancost.ear 文件部署到 WebSphere Application Server 上,请打开 Web 浏览器。输入 URL 。WebSphere Application Server V5.1 将使用 SSL(Secure Socket Layer,安全套接字层)导向安全的 URL。单击 Yes 继续。URL 将显示在 Web 浏览器的地址字段中。在登录页面中输入有效的用户名和密码以访问索引页面。

成功登录之后,https://hostname:9043/admin/secure/securelogon.do?action=secure 将显示在 Web 浏览器的地址字段中。单击左边的 Applications 展开应用程序菜单,然后单击 Install New Application。因为 Humancost.ear 文件位于安装 WebSphere Application Server 的同一主机上,所以在右边的 Preparing for the application installation 下,选中单选按钮 Server path,输入 C:\Program Files\IBM\DB2 Alphablox\installableApps\Humancost.ear 并单击 Next

部署 Humancost.ear 的其他所有步骤与其他任何 Web 应用程序相同。有关详细信息,请咨询联机产品手册或 、 或 联机教程。完成所有部署步骤之后,单击 Enterprise Applications 启动 Humancost。选择 Humancost.ear,然后单击 Start,如图 21 所示。然后小红叉将变为绿箭头。



启动 Humancost.ear

导航至 URL apps/。图 22 展示成功添加了一个叫做 HUMANCOST 的新应用程序。



创建应用程序 HUMANCOST

DHTML Query Builder 是 DB2 Alphablox 中作为 Application Studio 一部分的工作台工具,可用于根据应用程序数据、应用程序原型的源和测试来开发和测试查询。单击 ASSEBMLY 选项卡,然后单击 WorkbenchQuery Builder



测试查询

单击 Connection Settings 按钮,选择 Data Source DB2CubeViewCube。单击 Connect,然后将下列 MDX 语句(清单 1)复制到 Query 中。单击 Execute Query。将会看到在 Workbench 中生成了 OLAP 报告。



				
SELECT DISTINCT( crossjoin ( {
[HUMANCOST].[ACTIVITY].[Customer Education],
[HUMANCOST].[ACTIVITY].[Deployment],
[HUMANCOST].[ACTIVITY].[Design],
[HUMANCOST].[ACTIVITY].[Documentation],
[HUMANCOST].[ACTIVITY].[Holiday],
[HUMANCOST].[ACTIVITY].[Illness],
[HUMANCOST].[ACTIVITY].[Manufacture],
[HUMANCOST].[ACTIVITY].[Marketing],
[HUMANCOST].[ACTIVITY].[Meeting], 
[HUMANCOST].[ACTIVITY].[Project Management],
[HUMANCOST].[ACTIVITY].[Public Relations],
[HUMANCOST].[ACTIVITY].[Sales],
[HUMANCOST].[ACTIVITY].[Services],
[HUMANCOST].[ACTIVITY].[Test],
[HUMANCOST].[ACTIVITY].[Training], 
[HUMANCOST].[ACTIVITY].[Vacation]},
{[HUMANCOST].[DEPARTMENT].[Manufacturing], 
[HUMANCOST].[DEPARTMENT].[Marketing],
[HUMANCOST].[DEPARTMENT].[QA], 
[HUMANCOST].[DEPARTMENT].[R&D],
[HUMANCOST].[DEPARTMENT].[Sales]})  )  ON AXIS(0)
, DISTINCT( {[HUMANCOST].[D_TIME].[2004], [HUMANCOST].[D_TIME].[2005]} )  ON AXIS(1)
FROM [HUMANCOST]
WHERE(
[HUMANCOST].[Measures].[HUMANCOST (HUMANCOST)],
[HUMANCOST].[PROJECT].[Demo For GIT])

最后一步是完成 PresentBlox.jsp,用于显示可视化 OLAP 报告。最简单的方法是打开记事本,新建一个文件,将下列代码(清单 2)复制到新记事本文件中,然后另存为 PresentBlox.jsp。将该 JSP 复制到运行 WebSphere Application Server 的机器上;服务器路径为 C:\Program Files\WebSphere\AppServer\installedApps\\Humancost.ear\Humancost.war\。



				



<%@ taglib uri="bloxtld" prefix="blox" %>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>

PresentBlox.jsp



My Present Blox


图 24 展示了 URL () 和将显示的报告。



PresentBlox.jsp






使用 DB2 Cube Views 和 DB2 Alphablox 可以提高业务分析 OLAP Web 应用程序的生产率。DB2 Cube Views 模拟 OLAP Metadata Model 并构建物化查询表;DB2 Alphablox 管理并调整从 DB2 Cube Views 导入的多维数据集,并给出 OLAP 报告。这两个产品结合起来可以使 IT 专家有效地构建商业智能报告。

本文描述了 DB2 Cube Views 和 DB2 Alphablox 的集成架构,并提供了一个简单的代码示例来帮助您理解。有关 DB2 Cube Views 和 DB2 Alphablox 的更多信息,可参考本文末尾的参考资料列表。







感谢 Dr. Zhang 和 Terry Tong 为本文提供了宝贵意见。








描述 名字 大小 下载方法
Source code for article source.zip 23KB
关于下载方法的信息




作者照片

Jin Ji Wen 博士是中国 IBM Software Group 应用程序和集成中间件软件的高级软件工程师。他曾在 DB2 Cube Views、DB2 Alphablox 和 WebSphere DataStage 项目中工作。


作者照片

Shen Yu 是中国 IBM Software Group 应用程序和集成中间件软件的高级软件工程师。Shen Yu 是上海 China Software Development Labotary 的软件工程师。他曾参与了多个解决方案集成项目。在业务时间里,他喜欢绘画。您可以通过 shenyu@cn.ibm.com 与他联系。

阅读(572) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~