The TIBCO Platform is a real-time, composable data platform that will bring together an evolving set of your TIBCO solutions - and it's available now!
A chart showing the TIBCO Platform vision
Jump to content

Live Dashboard for TIBCO Fulfillment Order Management


1 Screenshot

About This File

Live Dashboard for TIBCO Fulfillment Order Management

Using this shared component, you can display real-time analytics using TIBCO® Live DataMart.

You must have the following software installed to use this feature:

  • TIBCO® Fulfillment Order Management 4.0.1
  • TIBCO Live Datamart 10.2
  • TIBCO Enterprise Messaging Service? 8.3
  • Apache Maven 3.x (or above)

Configuring for the Live Dashboard for TIBCO Fulfillment Order Management (LD4FOM)

Complete the following configurations before running the Live Datamart dashboard.

Procedure

  1. Setting the following Environment Variables

    1. Set the TIBCO_EP_HOME environment variable to the file system location of your TIBCO StreamBase installation. This is the same location identified by the STREAMBASE_HOME environment variable. For example, $TIBCO_HOME/sb-cep/10.2.
    2. Add TIBCO_EP_HOME/distrib/tibco/bin to the PATH environment variable.

    3. Set the environment variable SB_MAVEN_REPO to $TIBCO_EP_HOME/sdk/maven/repo.

  2. Installing External Dependencies

    The dashboard project requires the jms-2.0.jar and tibjms.jar files to be in the local Apache Maven repository, which is specific to the current user on the current machine. By default, this is the .m2 directory of the user's home directory. As per the POM currently available with fom-notification-dashboard project, it will try resolve the dependencies by checking in $TIBCO_EP_HOME/sdk/maven/repo but you can add multiple repositories in the POM.

    Procedure

    Use the following command syntax (the command is shown on multiple lines, but must be entered as one long command):

     mvn install:install-file -Dfile=<path-to-file>                          -DgroupId=<group-id>                          -DartifactId=<artifact-id>                          -Dversion=<version>                          -Dpackaging=jar                          -DgeneratePom=true

  3. Setting the Outbound Notifications

    To generate the live or real-time analytical reports, the Live DataMart dashboard uses outbound TIBCO Enterprise Messaging Service messages from TIBCO® Fulfillment Order Management. Set the following properties in Fulfillment Order Management Configurator so the application can send the outbound notifications.

    Procedure

    Set the following properties in Fulfillment Order Management Configurator to true:

    For the provided dashboard reports, only these outbound notifications are used.

    • Order Status Change Notification
    • Plan Status Change Notification
    • PlanItem Status Change Notification
    • OrderLine Status Change Notification
  4. Setting TIBCO Enterprise Messaging Service Configurations

    Update the fom-notification-dashboard/src/main/resources/adapter-configurations.xml file with the respective TIBCO Enterprise Messaging Service configurations.

    Procedure

    1. Under the "jms-server" section, update the following attributes:provider-url attribute with the TIBCO Enterprise Messaging Service server?s IP and port.

      It is recommended when you modify the password field, you encrypt your password using the command sbcipher -c "admin" from TIBCO Streambase. For example:

       C:tibcosb-cep10.2bin>sbcipher -c "admin" Vzz+hSVqZjrTyiA08RL87YgAnPxI/AygAnrXVWeS0IspfKihwJ/YJ8hCzyTLpFVlIg/6eD/EvYaEmVNmB1NFRQ==

      1. Update the provider URL attribute with the TIBCO Enterprise Messaging Service server?s IP and port.
      2. Update the username attribute with the TIBCO Enterprise Messaging Service username.
      3. Update the password attribute with the TIBCO Enterprise Messaging Service password.
    2. Under the "destination" section, update the message-selector attribute with the value of your specific tenant. The default TENANTID is kept as TIBCO. For example, if you have a tenant ID ?A?, the message-selector attribute should be updated as message-selector="TENANTID='A'".
  5. Setting Configuration Parameters

    Change the configuration parameters in fom-notification-dashboard/src/main/resources/configurationparameters file before running the dashboard.

    Procedure

    Set the following configuration parameters:

    The values of the parameters in this file must be updated and the configuration-parameters file reference must be passed in the epadmin command. For more information on epadmin commands and how it works, refer to the TIBCO StreamBase documentation on epadmin.

    1. clean_up_completed_orders_days = 1

      For more information on this parameter, see CLEAN_UP_COMPLETED_ORDERS_DAYS in the "Automatic Deletion" topic.

    2. completed_orders_clean_up_frequency_seconds = 3600

      For more information on this parameter, see COMPLETED_ORDERS_CLEAN_UP_FREQUENCY_SECONDS in the "Automatic Deletion" topic.

    3. eventflow_engine_tcp_port = 10000

      This is the default port where the TIBCO StreamBase engine starts.

    4. liveview_tcp_port = 10080

      This is the default port where the LiveView engine starts.

  6. Creating the TIBCO Enterprise Messaging Service Channels

    Setting up JMS-routing is not a mandatory setup, but is recommended to reduce the load on the TIBCO Enterprise Messaging Service server used by TIBCO® Fulfillment Order Management. It is recommend to use a separate TIBCO Enterprise Messaging Service server for the Live DataMart dashboard and enable routing on the application's TIBCO Enterprise Messaging Service server, and use the second TIBCO Enterprise Messaging Service server for the Live DataMart dashboard.

    Procedure

    Execute the channel creation script fom-reporting-dashboard/bin/af-dashboard-create-ems-channel.txt.

    This script creates all the required queues and bridges between TIBCO® Fulfillment Order Management application?s topics and the dashboard?s queues.

TIBCO Live Datamart Dashboard Deployment

You have to import the provided source code in TIBCO StreamBase Studio and make the required configuration changes as stated above and then deploy the TIBCO Live Datamart dashboard to start the dashboard service with the provided reports.

Deploying the Live Datamart Dashboard with Provided Source Archives

This is the deployable option to extend the existing Dashboard functionality by adding new reports to the dashboard.

Procedure

  1. Following are two project source directories:

    • fom-reporting-dashboard/src/deploy-fom-dashboard
    • fom-reporting-dashboard/src/fom-notification-dashboard
  2. Import the fom-notification-dashboard and deploy-fom-dashboard projects into TIBCO StreamBase Studio.

Result

fom-notification-dashboard is ready to run in your designer.

Building the source from command prompt

You can use the ant script fom-reporting-dashboard/src/build.xml to trigger the build and generate the deployable archive.

 $ fom-reporting-dashboard/src> ant

Starting TIBCO Live Datamart Dashboard

After doing the above mentioned changes, you are ready to start the dashboard using epadmin

  1. Install the application as a service and create a node by running the following command:

     $> epadmin install node application=fom-reporting-dashboard/src/deploy-fom-dashboard/target/deploy-fom-dashboard-0.0.1-SNAPSHOT-ep-application.zip nodename=A.fom_notification_dashboard nodedirectory=<any-tmp-directory> substitutionfile=<path-to-configuration-parameters-file>

    When running this command, the nodename identifies a unique service name. A service name consists of the following parts:

     servicename = <nodename-label>.[[<group-label>.]*]]<clustername.label>

    The following are some example service names:

    These service names uniquely identify five different nodes, all in the same cluster.

    • a cluster name
    • an optional grouping
    • a node name
    1. applicationcluster
    2. eastcoast.applicationcluster
    3. eastcoast.applicationcluster
    4. westcoast.applicationcluster
    5. westcoast.applicationcluster
  2. Start the created node by running the following command:

     $> epadmin servicename=A.fom_notification_dashboard start node

  3. You can stop the node by running the following command:

     $> epadmin servicename=A.fom_notification_dashboard stop node

  4. You can remove the node by running the following command:

     $> epadmin servicename=A.fom_notification_dashboard remove node

  5. Access the dashboard on browser using -
     http://<IP-Address>:<port>

    default port to access the dashboard is 10080.

LDM Dashboard Reports

The dashboard provides out-of-the-box reports based on the outbound notifications.

 

The following table describes the provided reports:

Report NameWhat is Shown
Orders Inflow RateThis graph shows the number of orders currently coming in TIBCO® Fulfillment Order Management. By default the order's inflow is shown on a per minute scale but you can change the scale to per hour or per day. To customize this graph, see Customizing the Orders Inflow Rate Graph
Process Component Average Completion TimeThis graph shows the average completion time for all the completed process components (Y- Axis) on the scale of millisecond (X-Axis). To find the average, this graph considers the last 100 process components which are marked as complete in the system.
Order Average Completion Rate TimeThis graph shows the average number of orders completed in TIBCO® Fulfillment Order Management on a time scale. By default the order's inflow is shown on a per minute scale, but you can change the scale to per hour or per day. To customize this graph, see Customizing the Average Order Completion Rate Graph.
Order Completion RateThis graph shows the number of orders completed in TIBCO® Fulfillment Order Management on a time scale. By default the order's inflow is shown on a per minute scale, but you can change the scale to per hour or per day. To customize this graph, see Customizing the Order Completion Rate Graph.
Ordered ProductsThis pie chart displays the number of ordered products and the percentage it has against other products.
Order StatusThis table shows all the orders' current state. When you click on any of the orders, the corresponding Plan, Plan Item and Order Line grids are populated.
Order Line StatusThis table shows order-lines with its current state that are related to the order selected in the Order Status table.
Plan StatusThis table shows all plans with its current state that are related to the order selected in the Order Status table.
Plan Item StatusThis table shows all plan-items with its current state that are related to the order selected in the Order Status table.
Process Component Competition RateAfter clicking any of the plans in the plan status table, this bar graph is populated for the process components that are completed.
Stuck Plan Items GridThis table shows all plan-items with a state as ERROR or ERROR_HANDLER.
Long Running OrdersThis table shows all orders in the system that exceeded a specified time. You can form multiple grids for this type with different specified times. To customize this table, see Customizing the Long Running Orders Grid.
Customer and LocationThis heat chart displays the density of customers in every country. To create your own custom heat chart on a country level, see Customizing the Customer and Location Heat Chart.

Customizing Provided LDM Dashboard Reports

Customizing the Orders Inflow Rate Graph

You can change the order's inflow on a per minute (default), per hour, or per day scale.

  1. Click the edit button on the Orders Inflow Rate graph.
  2. Change the x-axis based on what time scale you want shown on the graph:
    • Per Minute (default)
      1. From the Data tab, change the query to SELECT count_distinct(orderID) AS Orders, roundOffTimestampToMinutes FROM SubmittedOrders GROUP BY roundOffTimestampToMinutes.
      2. Select the Visualization tab. From the Field drop-down menu, select roundOffTimestampToMinutes.
    • Per Hour
      1. From the Data tab, change the query to SELECT count_distinct(orderID) AS Orders, roundOffTimestampToHours FROM SubmittedOrders GROUP BY roundOffTimestampToHours.
      2. Select the Visualization tab. From the Field drop-down menu, select roundOffTimestampToHours.
    • Per Day
      1. From the Data tab, change the query to SELECT count_distinct(orderID) AS Orders, roundOffTimestampToDay FROM SubmittedOrders GROUP BY roundOffTimestampToDay.
      2. Select the Visualization tab. From the Field drop-down menu, select roundOffTimestampToDay.
  3. Update the Axis Name to Time.
  4. Click Save.

Customizing the Average Order Completion Rate Graph

  1. Click the edit button on the Average Order Completion Rate graph.
  2. Change the x-axis based on what time scale you want shown on the graph:
    • Per Minute (default)
      1. From the Data tab, change the query to SELECT count_distinct(orderID) AS Orders, roundOffTimestampToMinutes FROM CompletedOrders GROUP BY roundOffTimestampToMinutes.
      2. Select the Visualization tab.
      3. From the Field drop-down menu, select roundOffTimestampToMinutes.
    • Per Hour
      1. From the Data tab, change the query to SELECT count_distinct(orderID) AS Orders, roundOffTimestampToHours FROM CompletedOrders GROUP BY roundOffTimestampToHours.
      2. Select the Visualization tab.
      3. From the Field drop-down menu, select roundOffTimestampToHours.
    • Per Day
      1. From the Data tab, change the query to SELECT count_distinct(orderID) AS Orders, roundOffTimestampToDay FROM CompletedOrders GROUP BY roundOffTimestampToDay.
      2. Select the Visualization tab.
      3. From the Field drop-down menu, select roundOffTimestampToDay.
  3. Update the Axis Name to Time.
  4. Click Save.

Customizing the Order Completion Rate Graph

  1. Click the edit button on the Average Order Completion Rate graph.
  2. Change the x-axis based on what time scale you want shown on the graph:
    • Per Minute (default)
      1. From the Data tab, change the query to SELECT count_distinct(orderID) AS Orders, roundOffTimestampToMinutes FROM SubmittedAndCompletedOrders GROUP BY roundOffTimestampToMinutes.
      2. Select the Visualization tab.
      3. From the Field drop-down menu, select roundOffTimestampToMinutes.
    • Per Hour
      1. From the Data tab, change the query to SELECT count_distinct(orderID) AS Orders, roundOffTimestampToHours FROM SubmittedAndCompletedOrders GROUP BY roundOffTimestampToHours.
      2. Select the Visualization tab.
      3. From the Field drop-down menu, select roundOffTimestampToHours.
    • Per Day
      1. From the Data tab, change the query to SELECT count_distinct(orderID) AS Orders, roundOffTimestampToDay FROM SubmittedAndCompletedOrders GROUP BY roundOffTimestampToDay .
      2. Select the Visualization tab.
      3. From the Field drop-down menu, select roundOffTimestampToDay.
  3. Update the Axis Name to Time.
  4. Click Save.

Customizing the Long Running Orders Grid

  1. Click the edit button on the Long Running Orders grid.
  2. Change the x-axis based on what time scale you want shown on the graph:
    • Per Minute (default)
      1. From the Data tab, change the query to SELECT orderID, status, eventTimestamp, orderRef FROM OrderNotifications WHERE status != 'COMPLETE' WHEN eventTimestamp BETWEEN epoch() and now()-minutes(1) .
    • Per Hour
      1. From the Data tab, change the query to SELECT orderID, status, eventTimestamp, orderRef FROM OrderNotifications WHERE status != 'COMPLETE' WHEN eventTimestamp BETWEEN epoch() and now()-hours(1).
    • Per Day
      1. From the Data tab, change the query to SELECT orderID, status, eventTimestamp, orderRef FROM OrderNotifications WHERE status != 'COMPLETE' WHEN eventTimestamp BETWEEN epoch() and now() - days(1).
  3. Click Save.

Customizing the Customer and Location Heat Chart

  1. Click New Cart.
  2. Paste the following query in the "Type your LiveQL" section:
     SELECT region, count(customerID) as customers from CustomerHeatMap WHERE region != "null" GROUP BY region

  3. Click the Visualization tab.
  4. Select Region Map.
  5. Select region.
  6. In the Region field, select the desired country.
  7. Name the cart as per your region.
  8. Click Save and close the edit mode.

Apart from the out of box reports, you can also create your own analytical reports based on the notification data TIBCO Fulfillment Order Management sends.

LDM Data Deletion

There are two ways for deleting data from the LDM tables: automatic and manual. Manual trimming is only for the tables that do not have the auto trimming mechanism.

Automatic Deletion

Periodic trimming of the LiveView reports's older data ensures that the LDM service does not run out of memory.

The automatic LDM reports data deletion is already set-up for deleting completed orders, but the default value can be overridden.

 

The following two parameters are used for deleting data:

  • CLEAN_UP_COMPLETED_ORDERS_DAYS - This variable defines how old the completed orders should be when deleted from the reports. The unit of value is days, and the default is set to 1 day. So any order which is in COMPLETE status for more than 1 day is removed from the reports.
  • COMPLETED_ORDERS_CLEAN_UP_FREQUENCY_SECONDS - This variable defines how frequent an older completed order should be deleted. The unit of value is seconds, and the default is set as 3600 seconds. So the completed orders deletion is triggered every 3600 seconds (1 hour).

If you want to override the default value for any of the above stated variables, use substitutions as one of the parameters passed to the epadmin command when installing the node.

Manual Deletion

 

For the tables that do not have the auto trimming mechanism, such as the Ordered Products pie chart, you have to use the lv-client delete command. For ad-hoc manual deletes, you can use the lv-client delete command. For more information, see the TIBCO Streambase LiveView Command Reference documentation on lv-client. The Ordered Products pie chart data can be cleaned up from the productID, orderLine, orderRefcolumns by running the following command:

 lv-client -u lv://lvserver:<port> "delete from ProductPieChart where predicate"

Multi-Tenant Environment for LDM Dashboard

The LDM dashboard supports multi-tenancy through the TIBCO EMS message-selector property. You can have one node started for a single tenant. The following diagram shows one-to-one mapping between nodes and tenants based on TIBCO EMS message selector:

Multi-Tenancy for Dashboard Diagram

To use a multi-tenant LDM Dashboard, configure the message selector in TIBCO EMS before starting the node to run dashboard as described in the "Setting TIBCO EMS Configurations" topic.

Data Persistence for LiveView Table

Data persistence allows you to restore data even if the node goes down and gets removed. Data persistence for the LiveView table is enabled by default. Navigate to the node directory, the directory you have defined while installing the node as described in the "Deploying the LDM Dashboard" topic, and navigate to the engine directory: lv_tablespace/persisted_data. The LDM table-wise directories are created inside the persisted_data directory and contains the database files. It is highly recommended to periodically take a backup of the persisted_data directory, so that this directory can be restored whenever required.


×
×
  • Create New...