在当今越来越复杂的企业应用中,企业业务数据包含的信息具有时间跨度长,范围跨度大(如跨越多个部门)等特点。在进行数据分析时,如果仅仅对这些业务数据进行单维度的静态分析,不但无法满足统计要求,而且也会错过很多有利于改善企业业务的有用信息。因此,需要对企业的业务数据进行多维度的数据分析,从中获取满足企业各种业务需求的信息,从而改进企业业务过程。
Webphere Business Integration V6.0系列产品提供了完备的OLAP支持,使得对企业应用中的业务数据进行多维度分析成为可能。本文通过实现一个简单的订单业务过程,展示了如何使用Webphere Business Integration V6.0系列产品进行多维度分析。在实现的过程中涉及到业务过程的建模、实现、部署,分别通过Websphere Business Modeler、Websphere Integration Developer、Websphere Process Server实现,而业务过程的监控和多维度分析,则是通过Websphere Business Monitor及Dashboard Client来实现。
业务需求及分析
Stick To公司是一家大型的采购公司,下属多个采购部门,目前各采购部门采购的产品大同小异,同质化相当严重。为了提高公司的竞争力,公司打算根据采购产品对采购部门进行优化重组。为此,公司希望实施一个流程管理系统,用来对未来的一段时期的各采购部门和采购员的业绩及采购的产品进行分析,为将来的优化重组提供依据。
联机分析处理(OLAP)可以满足Stick To公司的要求。通过对采购订单进行员工、产品和时间三个维度的联机分析处理,我们可以分析出采购部门/员工、产品和时间之间的关系:
每个维度下面的层次关系为:
- 员工维度:采购部门、采购员
- 产品维度:产品目录、产品
- 时间维度:年、月、日


|
回页首 |
|
建模
1. 打开Websphere Business Modeler 6,启动新建项目向导。在Project name中输入StPurchase Project,Process name中输入StPurchase Process,点击next按钮。
2. 在Business item name中输入PurchaseOrder,点击Finish按钮。
3. 在Project Tree视图中,双击打开Business Items下的PurchaseOrder,修改它的属性如下图:
其中Id是采购订单的编号,Product Catalog是本订单所采购的产品所属的产品目录,Product Name是产品的名字。Purchase Department是本订单采购员所属的部门,Purchase Operator是采购员的名字。Quantity是采购的产品的数量。
这个订单的结构比较简单,这是为了描述方便而简化处理的,并不意味着Webphere Business Integration V6.0产品只支持简单的订单处理。事实上,您可以在WebSphere Business Modeler中对复杂的订单进行建模。
4. 在Project Tree视图中,双击打开Processes目录下的StPurchase Process,修改该业务流程如下图所示:
这个流程中有两个任务,Accept Purchase Order和Approve Purchase Order,前者接收采购订单输入,后者审核采购订单。
这里也是为了描述简单,而简化了业务流程。事实上,企业的业务错综复杂,一个业务流程远远不止两个任务这么简单,WebSphere Business Modeler也提供了对复杂业务流程的建模支持。
5. 在Project Tree视图中,右击Processes目录下的StPurchase Process,选择Create Business Measures…,在弹出的对话框中点击OK按钮关闭对话框,在StPurchase Process下出现StPurchase Process Business measures,双击打开它。
6. 点击编辑视图下方的Diagram选项卡,切换到Diagram页。在Attribute视图中的General选项页中,将Valid From修改为当前时间之前的某一个时间,比如一年前。然后增加两个维度,如下图:
这里我们定义了两个维度Staff Dimension和Product Dimension,分别对应前面我们分析中的员工维度和产品维度。而Webphere Business Integration V6.0产品内建了一个名为CreationTime的维度,我们使用它作为时间维度。
7. 切换到Attribute视图中的Metrics选项页,为上面的两个维度建立层及对象:
这里的Purchase Department和Purchase Operator分别对应员工维度中的采购部门和采购员两个层;Product Catalog和Product Name分别对应产品维度中的产品目录和产品两个层;而Quantity则是我们的对象。
这些量的值取自PurchaseOrder中的同名字段,对应关系的定义也是在这个界面,这里不再赘述。
8. 利用WebSphere Business Modeler的导出功能导出模型:在Project Tree视图中右击项目名,选择export,打开导出向导:
选择Websphere Business Monitor and development tool,然后跟随向导完成导出。


|
回页首 |
|
实现
1. 打开Websphere Integration Developer,创建一个名为StPurchase_Module的新模块:
2. 在Business Integration中,右击StPurchase_Module,在弹出菜单中选择Import,打开导入向导:
在Select an import source列表中,选择File system,单击Next按钮。
3. 在File system对话框中,在From directory中输入上面WebSphere Business Modeler导出文件所在的目录的Websphere Process Server子目录,并在其下的左边列表中选中它。Into folder中的值应该默认为StPurchase_Module,如果不是,点击其右的Browser按钮进行修改。
点击Finish按钮开始导入。
4. 导入完成后,Business Integration如下图所示:
5. 双击打开StPurchase Process Export:
6. 右击Accept Purchase Order,选择Generate Implementation下的Java,为其生成Java实现,并修改Java实现中的InputCriterion(DataObject input)方法的实现,直接返回input。
用相同的方法为Approve Purchase Order生成实现。
7. 生成并导出Ear包:对模块进行编译,等编译完成后,右击Business Integration中的StPurchase_Module模块,选择Export,启动导出向导:
在Select an export destination列表中,选择EAR file,点击Next按钮。
8. 在EAR Export窗口,EAR project选择StPurchase_ModuleApp,然后在Destination中指定一个目录作为导出目录:
点击Finish按钮进行导出。


|
回页首 |
|
部署
1. 将从Websphere Integration Developer导出的EAR包部署到Websphere Process Server中,并启动它:
2. 从左边导航菜单中,点击Websphere Business Monitor下的Schema Generator下的Configuration,打开Schema Generator的配置界面:
修改Business Measures Model的值为Websphere Business Modeler导出的Monitor.zip文件的目录名与文件名,如C:\WIB\StPurchase\Monitor.zip;修改Output Directory的值为Websphere Business Modeler导出的Monitor.zip文件所在的目录名,如C:\WIB\StPurchase\。修改完后,点击OK按钮。
3. 切换到State to Runtime Configuration,修改Runtime Database Population Interval的值为2,点击OK按钮;再切换到Runtime to Historical Configuration,修改Historical Database Population Interval的值为2点击OK按钮。最后点击页面上部的Save链接进行保存:
更改这两个选项是为了让流程数据更快地反映到后面的多维度分析报表中。
4. 从左边导航菜单中,点击Websphere Business Monitor下的Schema Generator下的Generate,然后在右面界面上点击Generate按钮进行生成:
5. 打开第2步中为Output Directory指定的值对应的目录,其中有一个名字schemagen的子目录,打开它,将其下的DS_Datamart_setup.zip、DS_Runtime_setup.zip、DS_State_setup.zip解压到当前目录,并将本文附带的MonitorBatch.zip也解压到该目录:
6. 先双击运行monitorRun1-Ddl.bat,结束后双击运行monitorRun2-Rep.bat,这个脚本会运行较长的一段时间,结束后双击运行monitorRun3-DaemonStart.bat,这个脚本会另外打开四个窗口:
7. 回到Websphere Process Server的Web管理页面,从左边导航菜单中,点击Websphere Business Monitor下的Server下的Business Measures Model下的Model Import,将上面schemagen子目录中的Monitor.zip导入到Websphere Business Monitor数据库中。
8. 为了演示多维度分析,需要具有流程数据。打开Websphere BPC Explorer,为流程启动几个实例并完成它们。


|
回页首 |
|
配置
1. 在Dashboard Client所在的服务器上,打开DB2的OLAP Center,导入在部署时用Schema Generator生成的Cube View定义文件(model_cv.xml):
2. 打开DB2 Alphablox的Web管理页面,增加相应的Alphablox Cube,并启动它们:
3. 进入Portal管理的界面下,打开Protlet Management下的Portlets,找到名为Dimension View的Portlet,复制一个取名为StPurchase Multidimension Analysis。
4. 打开Portal User Interface下的Manage Pages,在My Portal下增加一个名为Stick To的页面,并将第3步增加的Portlet加入到该页面:
5. 点击页面顶部的My Portal链接,打开My Portal页面,在菜单的右方已经增加了一个名为Stick To的菜单项,点击它打开Stick To页面:
6. 点击StPurchase Multidimension Analysis这个Portlet右上角的 (配置)图标,打开配置向导:
在Subject area选择StPurchase Process,然后将Staff Dimension加入Row dimensions,将Product Dimension及Measures加入Column dimensions,将CreationTime加入Page Dimensions,然后点击next按钮。
7. 点击Finish按钮结束Portlet配置,Stick To页面如下图所示:
8. 右击Measures列,在弹出菜单中选择Expand All展开该列:
9. 右击Measures列,在弹出菜单中选择Hide隐藏该列
10. 重复上一步隐藏Working Duration、Elapsed Duration和InstancesCount三列:


|
回页首 |
|
分析
1. 右击Staff Dimension,在弹出菜单中选择Drill Down:
三个采购部门的业绩如下图:
2. 右击部门,例如Purchase Dept. 1,在弹出菜单中选择Drill Down,得到采购员的业绩情况:
3. 右击Product Dimension,在弹出菜单中选择Drill Down,可以看到采购部门和采购员在各产品目录下的业绩:
4. 右击某一产品目录,例如TV,在弹出菜单中选择Drill Down,得到采购部门和采购员的各产品的业绩。
5. 点击CreationTime下拉框,选择More…:
打开Member Filter对话框。
6. 在Member Filter对话框中,点击Remove All按钮,然后展开右边的列表,选中2006下的5,点击Add按钮加入右边列表。
点击OK按钮关闭对话框。
7. 点击CreationTime下拉框,选择2006下的5的22,得到2006年5月22日的多维度分析报表:
8. 点击CreationTime下拉框,选择2006下的5的23,得到2006年5月23日的多维度分析报表:


|
回页首 |
|
结束语
本文通过对一个虚拟公司的需求进行分析和实现,演示了Webshpere业务整合产品的多维度分析功能。Webshpere业务整合产品提供了对联系分析处理(OLAP)的强大支持,尽管这里只演示了三个维度的分析,Webshpere业务整合产品也支持超过三个维度的联系分析处理(OLAP)。
当然,Webshpere业务整合产品的功能远远不只是联系分析处理(OLAP),它还可以对实际流程的各项业务和技术指标进行分析,从而为流程改进等提供科学的依据。 |