Additional Blogs by SAP
cancel
Showing results for 
Search instead for 
Did you mean: 
Former Member
0 Kudos

原文地址(英文):

http://wiki.scn.sap.com/wiki/display/BOBJ/How+to+Migrate+and+Upgrade+Dashboards+based+on+QAAWS

作者:Amit Mathur,现就职于SAP

简介

本文介绍了如何使用Web服务查询(QaaWS) 或添加查询的方式(Dashboards Design 4.0之后的新功能)迁移Dashboard或SWF。使用本文提供的最佳解决方案可以很容易完成迁移。本文旨在帮助所有设计dashboard并希望在不同环境中迁移的人员。

迁移概要

成功迁移dashboards需要完成以下内容:

  • 迁移QaaWS查询使用的全部Universe
  • 迁移Xcelsius dashboards中使用的全部QaaWS WSDL
  • 迁移所有SWF文件

注:本文假定QaaWS查询使用的所有universe已经完成迁移。

迁移QaaWS WSDL

迁移QaaWS有以下两种方法。选择哪种方式取决于您需要迁移多少数量的查询。使用QaaWS Designer可以一次迁移一个查询(适用于当查询数量较少时),使用Import Wizard可以一次迁移多个查询。

方法1:迁移少量查询

可以使用QaaWS Designer进行少量查询的迁移。因为一次只能迁移一个查询,本方法不适合迁移较多数量的查询。

使用QaaWS Designer迁移的步骤:

1.登陆QaaWS Designer。

2.选择需要迁移的查询。

3.如下图所示点击"Deploy to Another Server"。

4.输入另一个服务器的登陆信息。

5.发布查询。

方法2:迁移多数查询

使用Import Wizard可以迁移多个查询。

使用Import Wizard迁移的步骤:
1.打开Import Wizard。
2.从下拉菜单中选择源环境并输入登陆信息。

3.从下拉菜单中选择QAAWS WSDL需要迁移的目标环境或者BIAR文件。

4.选择导入对象。在"Import folders and objects"上打钩。

5.根据指示,选择下一步。
6.在QaaWS folder中选择需要迁移的查询。在"Merge"或者"Update"中选择"Update"以确保web服务的CUID在迁移过程中不会被更改。

7.使用Import Wizard移动WSDL之后,就可以在新的环境中看到QAAWS中的WSDL。

迁移SWF文件

可以使用以下三种方法:

1.使用相关URL(最简单)

2.更改模型用于通过FlashVar创建动态Web服务URL。

3.使用xml文件获取web服务URL

注:推荐使用方法1(最简单)。方法2和3因为使用了遗产系统(Life Cycle Method(LCM))所以有些复杂。

方法1:使用相关URL

确保Universe和WSDL已经完成迁移。

本方法只需在数据连接中更改web服务URL。

注:本方法可以防止在XCelsius中预览dashboard(error #2032*.*)

在发布SWF文件之前需要对XLF文件进行下面的更改:

1.打开SLF文件。
2.点击数据 >连接 > Web服务查询。
3.在下图位置找到Web服务URL。

4.将现有的URL更改为"/dswsbobje/qaawsservices/queryasaservice"。

5.发布SWF到BOE。
6.将SWF文件发布之后,可以使用Import Wizard迁移至新环境。

方法2:更改模型并使用FlashVar

本方法使用遗产系统(Life Cycle Method (LCM))。在这个方法中,我们更改模型用于通过FlashVar创建动态Web服务URL。

1.在数据模型(Excel)中定义一个用来存储动态web服务URL的单元格。
2.在Xcelsius中,在绑定WSDL后,进入Web服务URL并选择步骤1中定义的单元格。

3.对每一个使用QaaWS的Web服务连接进行设置。
4.将全部Web服务URL关联单元格设置完成后,创建一个FlashVar。
5.加入一个flash变量。将其命名为WSDOMAIN并映射到步骤1中指定的单元格。
由于此方法需要将URL通过FlashVar动态分配,需要使用代码将其结合到一起。
示例代码:

<OBJECT classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://macromedia.com/cabs/swflash.cab#version=6,0,0,0" ID=flaMovie WIDTH=250 HEIGHT=250>

<PARAM NAME=movie VALUE="flaMovie.swf">

<PARAM NAME=FlashVars VALUE="WSDOMAIN=[http://servername:port/dswsbobje/services/Session]">

<PARAM NAME=quality VALUE=medium>

<PARAM NAME=bgcolor VALUE=#99CC33>

<EMBED src="flaMovie.swf" FlashVars="WSDOMAIN=[http://servername:port/dswsbobje/services/Session]" bgcolor=#99CC33 WIDTH=250 HEIGHT=250 TYPE="application/x-shockwave-flash">

</EMBED>

</OBJECT>

注:将http://servername:port替换成实际服务器名称和端口号。您可能需要将'/'密码化,可以将movie VALUE动态化以便重复使用相同的代码。

6.(LCM过程开始)测试Xcelsius模型运行与预期一致。

7.在目标环境进行必要文件的备份。

8.使用Import Wizard,将SWF,连接,Universe导入BIAR文件。

9.使用Import Wizard将步骤8中的文件通过BIAR文件导入目标系统。

10.使用QaaWS Wizard将定义拷贝至目标系统。

11.确保上传新服务器的URL分配的代码。

12.测试Xcelsius模型与预期一致。

方法3:使用xml文件获取web服务URL

1.创建XML文件用于保存Web服务URL。此文件需在每个系统(开发,测试,生产)中使用相同的名字和路径。

示例XML文件:

<data>

<variable name="WSDOMAIN">

<row

<column>[http://<server name:8080/dswsbobje/services/Session]</column>

</row>

</variable>

</data>

2.在数据模型(Excel)中定义一个用来存储动态web服务URL的单元格。

3.在Xcelsius中,在绑定WSDL后,进入Web服务URL并选择步骤2中定义的单元格。

4.对每一个使用QaaWS的Web服务连接进行设置。

5.在模型中加入XML数据连接并设置"Enable LOAD"。

6.将位置映射到上述步骤指定的单元格中。

(在上述示例中,在XML文件中定义的变量是WSDOMAIN,故可以将范围命名为WSDOMAIN,确保指向XML文件的全部路径。此文件需在每个系统中使用相同路径。例如:C:\XML\filename.xml)

7.将模型导入BOE。

8.(LCM过程开始)测试Xcelsius模型运行与预期一致。

9.在目标环境进行必要文件的备份。

10.使用Import Wizard,将SWF,连接,Universe导入BIAR文件。

11.使用Import Wizard将步骤8中的文件通过BIAR文件导入目标系统。

12.使用QaaWS Wizard将定义拷贝至目标系统。

13.测试Xcelsius模型与预期一致。

附录

将基于QaaWS的dashboard从XI 3.1移动至BI 4.0/4.1

1.迁移dashboard中使用的全部Universe和QaaWS查询。

2.迁移QaaWS查询之后运行WSDL生成器。

http://<servername>:<port number>/dswsbobje/qaawsservices/wsdlGenerator

3.从SP02移动至SP04 (BI 4.0)时,安装RESTful Web服务。

注:

升级SP04时需手动选择安装RESTful Web服务的选项。在SP04完全安装中,RESTful Web服务是默认选择的。

XI 3.1中的"Flash对象"在BI 4.0之后的版本中被称作"Dashboards设计对象"。

Dashboards设计对象融合了XLF和SWF。

使用Flash变量迁移dashboards

此方法需要考虑下列步骤。

在过去,我们推荐使用QaaWS来设计dashboard,以便很容易的指向不同的服务器。

需要做的内容如下:

1.对于每一个QaaWS Web服务连接,拷贝Web服务URL并使用下面的格式放入数据表格:

=<URL>

使用"="语法使其变为公式以便稍后进行编辑。

2.将Web服务URL与单元格捆绑(每个查询一个单元格)

3.在Excel中,将单元格中的服务器名称放入独有的单元格中(例如:A1)。

4.更新每一个URL单元格使其指向将步骤3中创建的单元格。

=A1&<其余URL>

5.定义Flash变量用于传递服务器名称。

6.将SWF发布到BI平台后,可以在CMC中更改特定dashboard的Flash变量值。

Top kudoed authors