Deploying an Application in Managed Reporting Business Intelligence Dashboard

In this section:

How to:

For the purpose of illustration, you will deploy the sample application created earlier, My_First_Project.mxml.


Top of page

x
Procedure: How to Deploy an Application in Managed Reporting Business Intelligence Dashboard
  1. In Developer Studio, create a new domain in Managed Reporting and name it FLEX_Apps.
  2. Select Standard Reports and create a new group named flex.
  3. Right-click the flex new group and select URL from the menu.
  4. Enter the name FlexDashboard.
  5. Set the URL as follows.
    http://localhost:8080/approot/baseapp/My_First_Project.swf

    URL dialog box

  6. Copy the compiled My_First_Project.swf file from the directory in which you developed it, and paste it into the ibi\approot\baseapp directory or any other directory you are using.
  7. Copy the IBILogo.swf file into the same directory. Any image that is not embedded must be copied into the directory.
  8. Double-click the file name FlexDashboard in Developer Studio to ensure that it is running correctly.
  9. Go to Managed Reporting Administration and log on as an administrator.
  10. Select the public group and add the new FlexDashboard domain to the group domains.
  11. Save the changes and log off.
  12. Go to View Builder in Business Intelligence Dashboard.
  13. Add a public view named FLEX Dashboards.
  14. Select Edit Content and add a page description named FLEX.
  15. Add a block.
  16. Change the domain name from the default to the new one.

    The following image shows how to add a content block to display the WebFOCUS Enable application in Managed Reporting. The content block is added in View Builder.

    Content block in WebFOCUS Enable application

  17. Save the changes, return to public views, and click Done.
  18. From the WebFOCUS window, select Business Intelligence Dashboard public views.

    WebFOCUS window

  19. Select the FLEX Dashboards public view.

    FLEX Dashboards public view

    The WebFOCUS Enable dashboard is displayed in Business Intelligence Dashboard, as shown in the following image.

    Business Intelligence Dashboard

  20. Go back to View Builder and remove the banner since you already have one in the WebFOCUS Enable dashboard. Select Edit Look and uncheck the banner check box.
  21. Save the changes and return to Business Intelligence Dashboard public views.
  22. Select the FLEX Dashboards public view.

    FLEX Dashboards public view


Top of page

x
Deployment Considerations

In this section:

How to:

Note: If you are using Flex Builder or Flash Builder to build and deploy your application, copy the contents of your bin release folder to the host.



x
Using Dynamic Seturl

In order to deploy applications from one environment to another (for example, porting an application across from the development environment to test and production environments, which are on separate machines with separate WebFOCUS configurations) the values for seturl can be set to be relative so it retrieves the host name and port number of the application server where the application is running from, as shown in the code below.

<ibi:seturl>/ibi_apps/WFServlet?IBIF_ex=xmltest&amp;IBIAPP_app=ibiflexdemo</ibi:seturl>

An optional property is also provided that dynamically retrieves the hostname and port number and adds it to the beginning seturl value.

ibiUseOrgHost true/false (optional)


Example: Proper Deployment Procedures

If application1 loads the data from:

http://localhost/ibi_apps/WFServlet?IBIF_ex=xmltest

you can run the application1.swf from your own machine locally by accessing:

http://localhost/approot/baseapp/application1.swf.

But if you or any other users run the application1.swf from any machine including your own by accessing:

http://MyPC.domain.com/approot/baseapp/application1.swf.

the data will not load into the application.

Proper Deployment Procedures diagram

If application2 loads the data from:

http://MyPC.domain.com/ibi_apps/WFServlet?IBIF_ex=xmltest

you can run the application2.swf from any machine by accessing:

http://MyPC.domain.com/approot/baseapp/application2.swf

But if you try to run the application2.swf locally from this machine2 by accessing:

http://localhost/approot/baseapp/application2.swf

the data will not load into the application.

Proper Deployment Procedures diagram

Note: If you have separate instances of WebFOCUS on Development, Test, and Production servers that will be used to load data for each environment separately, you can always set the URL in the application to dynamically load data from the host the application is running by omitting the server name and port number when compiling the Release Build.

In this case, while developing the application, you may be loading data from a machine called "dev" into your flex application so your seturl may contain:

http://dev.domain.com/ibi_apps/WFServlet?IBIF_ex=xmltest.

Once the application is complete and ready to be ported over to Test server where Test instance of WebFOCUS is running on the http://test.domain.com URL, you can change the seturl property to be:

/ibi_apps/WFServlet?IBIF_ex=xmltest

When the application is accessed in Test environment using:

http://test.domain.com/approot/baseapp/application.swf

it will automatically pick up the host name and port number it is running and append http://test.domain.com/ to the seturl property above.



x
Cross Domain Security Considerations

Throughout this documentation, the examples given are simplified to use http://localhost:8080/ibi_apps/WFServlet?IBIF_ex=xmltest as the URL for seturl property to load data into the flex application and http://localhost:8080/approot/baseapp/My_First_Project.swf as the URL for running the application. This is acceptable when you are only running the application on your machine locally.

Adobe® Flash® Player does not allow an application to receive data from a domain other than the domain from which it was loaded, unless it has been given explicit permission.

Because both Adobe Flash Player and the browser considers the name, localhost, and your_machine_name.domain_name.com as two separate domain name spaces, the application that is created to load data from localhost will not be able to load data when the other users access your application from another machine using your_machine_name.domain_name.com in the URL. The same is true when you try to run your own application that loads data from your_machine_name.domain_name.com using the URL request that contains localhost to run the application.

It is recommended that you use your_machine_name.domain_name.com in the URLs inside your application and whenever you are referring to the application in the URL to run it.



x
Procedure: How to Allow Data Access From Any Domain

In some occasions, you may need to allow your application to access data that resides outside the exact web domain that the SWF file that is Adobe Flash Player compatible is running from. You can implement a crossdomain.xml file that explicitly permits all domains to access its data by setting a wild card.

  1. Create an XML file named crossdomain.xml and add the following code:
    <?xml version="1.0"?>
    <cross-domain-policy>
       <allow-access-from domain =" * "/>
    </cross-domain-policy>

    Note: The crossdomain file can also be used to restrict access to only certain domains. For more information, see How to Allow Data Access From a Specific Domain.

  2. Place the crossdomain.xml file in the root directory of the server that is providing that data.


Example: Allowing Access From Any Domain

To retrieve data that is being provided by WebFOCUS running on a machine called datasrv1 using Apache Tomcat stand alone configuration, the seturl in this application will be:

http://datasrv1.domain.com:8080/ibi_apps/WFServlet?IBIF_ex=xmltest

By placing the crossdomain.xml file in the root directory of the server that is providing the data (in this case, it will be the root directory of Apache Tomcat hosting WebFOCUS on datasrv1; typically this is C:\Program Files\Apache Software Foundation\Tomcat 5.5\webapps\ROOT) the data will be loaded into the application no matter where you run your application from, as long as the machine you are running the application from has the network access to datasrv1.



x
Procedure: How to Allow Data Access From a Specific Domain

You can implement a crossdomain.xml file that explicitly permits only specific domains and machines to access the data in the application.

For more details about how to use crossdomain.xml file to allow and restrict domain access, please refer to your Adobe documentation.

  1. Create an XML file named crossdomain.xml and add the following code:
    <?xml version="1.0"?>
    <cross-domain-policy>
       <allow-access-from domain ="*.domain_name.com"/>
    </cross-domain-policy>

    where:

    domain_name

    Is the domain name of the domain that you wish to allow data access to.

    *

    Is the subdomain or machine name that you wish to allow access to. A subdomain or machine name is not necessary.

  2. Place the crossdomain.xml file in the root directory of the server that is providing that data.


Example: Allowing Access From Select Domains

For data that is being provided by WebFOCUS running on a machine called datasrv1 using Apache Tomcat stand alone configuration. The seturl in this application will be:

http://datasrv1.domain.com:8080/ibi_apps/WFServlet?IBIF_ex=xmltest

To allow access to the domain machineA.ibi.com and the IP address, 105.216.0.40, you can create the following crossdomain.xml file and place it in the root directory of the server that is providing the data (in this case, it will be the root directory of Apache Tomcat hosting WebFOCUS on datasrv1; typically this is C:\Program Files\Apache Software Foundation\Tomcat 5.5\webapps\ROOT):

<?xml version="1.0"?>
<cross-domain-policy>
   <allow-access-from domain =" machineA.ibi.com "/>
   <allow-access-from domain =" 105.216.0.40 "/>
</cross-domain-policy>

Now the data will be loaded into the application as long as the application runs with the following URLs:

http://machineA.ibi.com

or

http://105.216.0.40


x
Reference: Domain Comparison

The basis of domain comparison is the domain name, not the IP address. Two domains resolving to the same IP address are not necessarily compatible; the names themselves must be compared.

Examples of incompatible domains:

http://www.informationbuilders.com

http://documentation.informationbuilders.com

http://www.informationbuilders.com

http://informationbuilders.com

http://documentation.informationbuilders.com

http://documentation

http://www.informationbuilders.com

https://www.informationbuilders.com

http://www.informationbuilders.com

http://www.not-informationbuilders.com

http://105.216.0.10

http://105.216.0.20

http://64.74.32.67

http://www.informationbuilders.com


WebFOCUS