Registration

Dear SAP Community Member,
In order to fully benefit from what the SAP Community has to offer, please register at:
http://scn.sap.com
Thank you,
The SAP Community team.
Skip to end of metadata
Go to start of metadata
BI
Upgrade Series

This page is part of the...

Introduction

This guide explains how to migrate the Dashboard or SWF using Query as a Web Service (QaaWS) or the Add Query (new feature on Dashboards Design 4.0 onwards). Following the best practices listed in this guide will help you avoid complications while migrating. This guide is useful to anyone who wishes to design the dashboard and plans to migrate or move to different environments. 

Overview of Migration

Migrating the dashboards successfully requires all of the following to be completed:

  •  Migration of all the Universes that are being used by the QaaWS query.
  •  Migration of all the QaaWS WSDL used in the Xcelsius dashboards.
  •  Migration of all the SWF files

Note: This guide assumes that you have already migrated all the universes that are being used by the QaaWS query.

Migrating QaaWS WSDL

There are two options for migrating the QaaWS The option you choose depends on how many queries you wish to migrate. You can migrate queries one at a time (suitable for a small number of queries) using QaaWS Designer, or you can migrate many queries at once using the Import Wizard. Both methods are described below. 

Option 1: Migrating a small number of queries

If you do not have that many QaaWS queries to be migrated, you can use QaaWS Designer to migrate. The QaaWS method of migration is unsuitable for migrating many queries because the queries must be migrated one at a time.

Steps to migrate using QaaWS Designer:

  1. Log into QAAWS Designer
  2. Select the query that you wish to migrate.
  3. Click on "Deploy to Another Server" as shown in the image.
  4. You should be asked for the log-in credentials of the other server.
  5. Publish the query. 

Option 2: Migrating many queries

Use the Import Wizard to migrate many queries.

Steps to migrate using Import Wizard:

  1. Open the Import Wizard.
  2. Select the source environment from the drop-down menu and enter the credentials.
  3. Select the destination environment from the drop-down menu where you want to migrate the QAAWS WSDL.
    (Optional) You can select a BIAR file as one of the options.
  4. Select the objects to import. Tick the check-box labeled "Import folders and objects".
  5. Follow the instructions, then click Next.
  6. Select the queries to be migrated from within the QaaWS folder. You will be prompted to "Merge" or "Update" to the destination environment. Choose "Update" to ensure the CUID's of the web services do not change when they are migrated.
  7. After moving the WSDL with the Import Wizard, you should be able to see the WSDL inside the QAAWS of the new environment.

Migrating SWF files

There are three approaches you can use:

  1.  Use a relative path URL (easiest)
  2.  Modify the model so that the Web Service URL is dynamically created and populated via a FlashVar
  3.  Use an XML file to retrieve the Web Services URL. 

Note: It is recommended to use Option 1 because it is the easiest option. Options 2 and 3 use a legacy system known as the Life Cycle Method (LCM) which is somewhat complex.

Option 1: Using a relative path URL

Make sure that you have already migrated the Universe and the WSDL.

This method incurs the least overhead and only requires changes to be made in the Web Service URL in the data connection.

Note: This method will prevent the previewing of the dashboard within XCelsius. (error #2032*.*)

The XLF file needs the following changes before it can be published as an SWF file:

  1. Open the SLF file
  2. Click on Data  > Connection > "Query as a web service"
  3. Find the Web Service URL. It should appear as it does in the image below.
  4. Change the existing Web service URL to "/dswsbobje/qaawsservices/queryasaservice" as in the image below
  5. Publish the SWF to BO Enterprise.
  6. Once the SWF files are published, you can migrate or move them to the new environment using the Import Wizard. The SWF files will work without any issues.

Option 2: Modifying the model and using a FlashVar

This is a legacy system that involves using the Life Cycle Method (LCM). In this approach, we modify the model so that the Web Service URL is dynamically created and populated via a FlashVar.

  1. In the data model (Excel) define a cell that will be used to store the dynamic Web Services URL. 
  2. In Xcelsius, after binding your WSDL, go to the WebService URL box and select the cell reference defined in step 1. 
  3. Do this for each defined Web Services connector in the model that uses QaaWS.
  4. Once you have changed all Web Service URLs to reference cells, then create a FlashVar.
  5. Add a flash variable. Name it something like WSDOMAIN and map it to the cell defined in step 1.

    Since this approach requires the assignment of the URL dynamically via a FlashVar, some scripting is required to glue this together.
    A sample script might be:

    <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>

    Note: Replace the http://servername:port with the actual server name and port number. You may have to encode the '/'. You may want to populate the movie VALUE dynamically so that you can re-use the same script.

  6. (Beginning of the LCM process) Test that the Xcelsius Models perform as expected.
  7. Take appropriate back-up steps for the target environment.
  8. Use the Import Wizard to extract the desired SWFs, Connections, and Universes into a BIAR file.
  9. Use the Import Wizard to push the above files into the target repository from the BIAR file.
  10. Use the QaaWS Wizard to copy the definitions to the target repository. 
  11. Ensure that you load the correct script with the new server URL assignments.
  12. Test that the Xcelsius Models work as expected.

Option 3: Using an XML file to retrieve the Web Services URL

This is a legacy system that involves using the Life Cycle Method (LCM). In this approach we use an XML file to retrieve the Web Services URL.

  1. Create an XML file that will be used to hold the Web Services URLs. This file will need to be stored on each system (Dev, Test, and Prod) with the same name and path location.
    A sample XML file might be:

    <data>

    <variable name="WSDOMAIN">

    <row

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

    </row>

    </variable>

    </data>

  2. In the data model (Excel) define a cell that will be used to store the dynamic Web Services URL.
  3. In Xcelsius, after binding your WSDL, go to the Web Service URL and select the cell reference defined in step 2.
  4. Do this for each defined Web Services connector in the model that uses QaaWS.
  5. Add an XML data connection to the model and set the "Enable LOAD".
  6. Map the location to be the cell defined in above step.
    (In the above example the Variable defined in the XML file is WSDOMAIN therefore you would name the range WSDOMAIN. Make sure to point to the full path to the XML file. This file should be in the same path location on each system. i.e., C:\XML\filename.xml)
  7. Export the model to Business Objects Enterprise.
  8. (Beginning of the LCM process) Test that the Xcelsius Models perform as expected.
  9. Take appropriate back-up steps for the target environment.
  10. Use the Import Wizard to extract the desired SWFs, Connections, and Universes into a BIAR file.
  11. Use the Import Wizard to push the above files into the target repository from the BIAR file.
  12. Use the QaaWS Wizard to copy the definitions to the target repository.
  13. Test that the Xcelsius Models work as expected.

Additional Notes

Moving the dashboard from XI 3.1 to BI 4.0/4.1 based on QaaWS

  1. Migrate all related Universes and QaaWS queries used in the dashboard.
  2. Run the WSDL generator after migrating the QaaWS queries: 
    http://<servername>:<port number>/dswsbobje/qaawsservices/wsdlGenerator&nbsp;

  3. Install the RESTful Web Service when moving from SP02 to SP04 (BI 4.0).

Notes:

  • You need to manually select the option for installing the RESTful Web Service for an SP04 upgrade. In the full build of SP04, the option to install the RESTful Web Service is selected by default.
  • In XI 3.1 what was known as a "Flash Object" is now known as a "Dashboards Design Object" in BI 4.0 onwards.
  • Dashboard Design Objects are a combination of XLF and SWF.

Migration of dashboards using Flash Variables

This method requires you to consider the below steps while you are designing the dashboards.

One thing we have recommended with QaaWS in the past is to try to design your dashboard to make it easier to point to a different server.

What you can do is:

  1. For each QaaWS Web Service connection, copy the Web Service URL and put it into the spreadsheet using this format:

    =<URL>

    Using the "=" syntax makes it a formula that we can edit later.

  2. Bind the Web Service URL to each cell (one per query)
  3. In Excel, take the server name from one of the cells and put that in its own cell (e.g., A1)
  4. Update each of the URL cells to refer to the cell created in step 3. 

    =A1&<rest of the URL here>

  5. Define a Flash Variable to pass in the server name

  6. Once you publish the SWF to the BI platform, you may change the Flash Variable value for a specific dashboard using the CMC\\\\

 

 

  • No labels