Using TIBCO JasperReports for ActiveMatrix BPM



Similar documents
TIBCO ActiveMatrix BPM - Integration with Content Management Systems

TIBCO ActiveMatrix BPM Integration with Content Management Systems Software Release September 2013

TIBCO Silver Fabric Continuity User s Guide

TIBCO ActiveMatrix BusinessWorks Plug-in for TIBCO Managed File Transfer Software Installation

TIBCO ActiveMatrix BusinessWorks Plug-in for Microsoft SharePoint Release Notes

TIBCO Spotfire Metrics Modeler User s Guide. Software Release 6.0 November 2013

TIBCO Spotfire Metrics Prerequisites and Installation

TIBCO ActiveMatrix BPM SOA Development Tutorials

TIBCO Spotfire Automation Services 6.5. User s Manual

TIBCO ActiveMatrix BPM Single Sign-On

TIBCO Spotfire Automation Services Installation and Configuration

TIBCO ActiveMatrix BusinessWorks Plug-in for Big Data Release Notes

TIBCO Administrator User s Guide. Software Release March 2012

TIBCO ActiveMatrix BPM Single Sign-On

TIBCO Enterprise Administrator Release Notes

TIBCO Runtime Agent Authentication API User s Guide. Software Release November 2012

TIBCO Hawk SNMP Adapter Installation

TIBCO Spotfire Statistics Services Installation and Administration Guide

TIBCO Spotfire Server Deployment and Administration

TIBCO Spotfire Automation Services 6.5. Installation and Deployment Manual

TIBCO Spotfire Web Player 6.0. Installation and Configuration Manual

TIBCO Fulfillment Provisioning Session Layer for FTP Installation

TIBCO Spotfire Statistics Services Installation and Administration

TIBCO Spotfire Statistics Services Installation and Administration Guide. Software Release 5.0 November 2012

TIBCO Reward Release Notes August 2015

TIBCO Business Studio ActiveMatrix Decisions Add-in Tutorial

TIBCO Spotfire Server Migration. Migration Manual

TIBCO Spotfire Web Player Release Notes

How To Login To The Mft Internet Server (Mft) On A Pc Or Macbook Or Macintosh (Macintosh) With A Password Protected (Macbook) Or Ipad (Macro) (For Macintosh) (Macros

TIBCO Spotfire Statistics Services Installation and Administration. Release 5.5 May 2013

TIBCO ActiveMatrix BusinessWorks SmartMapper Plug-in Release Notes

TIBCO ActiveMatrix BPM Installation: Developer Server

TIBCO Business Studio - Analyst Edition User's Guide

TIBCO ActiveMatrix BusinessWorks Plug-in for Microsoft SharePoint User s Guide

TIBCO BusinessConnect Trading Partner Administration. Software Release 6.0 November 2011

TIBCO ActiveMatrix Service Bus Getting Started. Software Release 2.3 February 2010

TIBCO ActiveMatrix BPM BPM Deployment

TIBCO ActiveMatrix BusinessWorks Plug-in for Big Data User s Guide

How To Use Libap With A Libap Server With A Mft Command Center And Internet Server

TIBCO ActiveMatrix BusinessWorks Process Monitor Server. Installation

TIBCO Slingshot User Guide

TIBCO ActiveMatrix BusinessWorks Plug-in for sftp Release Notes

TIBCO ActiveMatrix Management Agent for WCF Samples. Software Release July 2009

TIBCO BusinessConnect EDI Protocol powered by Instream X12 Configuration

Audit Management Reference

CA Nimsoft Service Desk

TIBCO NimbusTM. Office Integration Server. Software Release October 2015

SOA Software: Troubleshooting Guide for Agents

TIBCO FTL Installation

TIBCO ActiveMatrix BPM Web Client Developer's Guide

TIBCO Runtime Agent Domain Utility User s Guide Software Release November 2012

TIBCO BusinessConnect Plug-in for SSH Server Release Notes. Software Release May 2012

Integrating LANGuardian with Active Directory

Bitrix Site Manager ASP.NET. Installation Guide

TIBCO Foresight Operational Monitor

Admin Quick Start Guide

StreamServe Persuasion SP4

IBM Configuring Rational Insight and later for Rational Asset Manager

NetIQ Identity Manager Setup Guide

WebSpy Vantage Ultimate 2.2 Web Module Administrators Guide

Installing and Configuring DB2 10, WebSphere Application Server v8 & Maximo Asset Management

Administration Quick Start

Orchestrating Document and Media Management using CMIS

Copyright 2014 Jaspersoft Corporation. All rights reserved. Printed in the U.S.A. Jaspersoft, the Jaspersoft

Request Manager Installation and Configuration Guide

CRM Migration Manager for Microsoft Dynamics CRM. User Guide

Sage 200 Web Time & Expenses Guide

QAD Enterprise Applications. Training Guide Demand Management 6.1 Technical Training

CA NetQoS Performance Center

Sisense. Product Highlights.

Synchronization Agent Configuration Guide

Entrust Managed Services PKI. Configuring secure LDAP with Domain Controller digital certificates

Crystal Reports Installation Guide

CA ARCserve Backup for Windows

CA APM Cloud Monitor. Scripting Guide. Release 8.2

HR Onboarding Solution

WatchDox Administrator's Guide. Application Version 3.7.5

Citrix EdgeSight Administrator s Guide. Citrix EdgeSight for Endpoints 5.3 Citrix EdgeSight for XenApp 5.3

Administration Guide. Novell Storage Manager for Active Directory. Novell Storage Manager for Active Directory Administration Guide

EMC Smarts Network Configuration Manager

WebSphere Business Monitor V7.0: Clustering Single cluster deployment environment pattern

NSi Mobile Installation Guide. Version 6.2

StreamServe Persuasion SP5 Control Center

CA VPN Client. User Guide for Windows

TIBCO BusinessEvents Business Process Orchestration Release Notes

TIBCO ActiveMatrix Adapter for LDAP Configuration and Deployment. Software Release 6.0 August 2010

NetIQ Identity Manager Identity Reporting Module Guide

Windows Azure Pack Installation and Initial Configuration

WhatsUp Gold v16.1 Installation and Configuration Guide

Installing The SysAidTM Server Locally

Oracle Financial Services Data Integration Hub Foundation Pack Extension for Data Relationship Management Interface

VMware vcenter Operations Manager Administration Guide

Portions of this product were created using LEADTOOLS LEAD Technologies, Inc. ALL RIGHTS RESERVED.

Installing OneStop Reporting Products

WhatsUp Gold v16.2 Installation and Configuration Guide

XenClient Enterprise Synchronizer Installation Guide

CA Clarity PPM. Connector for Microsoft SharePoint Product Guide. Service Pack

Version 1.0 January Xerox Phaser 3635MFP Extensible Interface Platform

nopcommerce User Guide

Transcription:

Using TIBCO JasperReports for ActiveMatrix BPM Software Release 3.1 November 2014 Two-Second Advantage

2 Important Information SOME TIBCO SOFTWARE EMBEDS OR BUNDLES OTHER TIBCO SOFTWARE. USE OF SUCH EMBEDDED OR BUNDLED TIBCO SOFTWARE IS SOLELY TO ENABLE THE FUNCTIONALITY (OR PROVIDE LIMITED ADD-ON FUNCTIONALITY) OF THE LICENSED TIBCO SOFTWARE. THE EMBEDDED OR BUNDLED SOFTWARE IS NOT LICENSED TO BE USED OR ACCESSED BY ANY OTHER TIBCO SOFTWARE OR FOR ANY OTHER PURPOSE. USE OF TIBCO SOFTWARE AND THIS DOCUMENT IS SUBJECT TO THE TERMS AND CONDITIONS OF A LICENSE AGREEMENT FOUND IN EITHER A SEPARATELY EXECUTED SOFTWARE LICENSE AGREEMENT, OR, IF THERE IS NO SUCH SEPARATE AGREEMENT, THE CLICKWRAP END USER LICENSE AGREEMENT WHICH IS DISPLAYED DURING DOWNLOAD OR INSTALLATION OF THE SOFTWARE (AND WHICH IS DUPLICATED IN THE LICENSE FILE) OR IF THERE IS NO SUCH SOFTWARE LICENSE AGREEMENT OR CLICKWRAP END USER LICENSE AGREEMENT, THE LICENSE(S) LOCATED IN THE LICENSE FILE(S) OF THE SOFTWARE. USE OF THIS DOCUMENT IS SUBJECT TO THOSE TERMS AND CONDITIONS, AND YOUR USE HEREOF SHALL CONSTITUTE ACCEPTANCE OF AND AN AGREEMENT TO BE BOUND BY THE SAME. This document contains confidential information that is subject to U.S. and international copyright laws and treaties. No part of this document may be reproduced in any form without the written authorization of TIBCO Software Inc. TIBCO, Two-Second Advantage, TIBCO Spotfire, TIBCO Enterprise Runtime for R, TIBCO Spotfire Server, TIBCO Spotfire Web Player, TIBCO Spotfire Statistics Services, S-PLUS, TIBCO Enterprise Message Service, TIBCO Hawk, and TIBCO Spotfire S+ are either registered trademarks or trademarks of TIBCO Software Inc. in the United States and/or other countries. All other product and company names and marks mentioned in this document are the property of their respective owners and are mentioned for identification purposes only. THIS SOFTWARE MAY BE AVAILABLE ON MULTIPLE OPERATING SYSTEMS. HOWEVER, NOT ALL OPERATING SYSTEM PLATFORMS FOR A SPECIFIC SOFTWARE VERSION ARE RELEASED AT THE SAME TIME. SEE THE README FILE FOR THE AVAILABILITY OF THIS SOFTWARE VERSION ON A SPECIFIC OPERATING SYSTEM PLATFORM. THIS DOCUMENT IS PROVIDED AS IS WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, OR NON-INFRINGEMENT. THIS DOCUMENT COULD INCLUDE TECHNICAL INACCURACIES OR TYPOGRAPHICAL ERRORS. CHANGES ARE PERIODICALLY ADDED TO THE INFORMATION HEREIN; THESE CHANGES WILL BE INCORPORATED IN NEW EDITIONS OF THIS DOCUMENT. TIBCO SOFTWARE INC. MAY MAKE IMPROVEMENTS AND/OR CHANGES IN THE PRODUCT(S) AND/OR THE PROGRAM(S) DESCRIBED IN THIS DOCUMENT AT ANY TIME. THE CONTENTS OF THIS DOCUMENT MAY BE MODIFIED AND/OR QUALIFIED, DIRECTLY OR INDIRECTLY, BY OTHER DOCUMENTATION WHICH ACCOMPANIES THIS SOFTWARE, INCLUDING BUT NOT LIMITED TO ANY RELEASE NOTES AND "READ ME" FILES. Copyright 2005-2014 TIBCO Software Inc. ALL RIGHTS RESERVED. TIBCO Software Inc. Confidential Information

3 Contents TIBCO Documentation and Support Services...4 IMPORTANT: Restricted Use Case Licensing for Bundled TIBCO JasperReports for ActiveMatrix BPM...5 Using TIBCO JasperReports for ActiveMatrix BPM to Visualize TIBCO ActiveMatrix BPM Data...6 Example Files Reference... 7 Setting up the Example Dashboards...10 Software Requirements to Use the Example Dashboards...10 Deploying and Setting up the Example BPM Claims Application... 11 Deploying the Claims Application DAAs to the BPM Runtime...11 Mapping Users from the EasyAs LDAP Source to the Claims Organization Model... 11 Generating Sample Data for the BPM Claims Application... 12 Importing Jaspersoft Resources Used by the Example Dashboards to JasperReports Server...13 Configuring the Example JDBC Datasources...14 Adding the Example Dashboard Gadgets to Openspace...15 Changing the Default URL Used by the Openspace Gadget Dashboards...16 The Process Monitor Dashboard...18 Drilling Down and Raising the Priority of a Work Item...21 The Claim Breakdown Dashboard...22 Drilling Down to Find the Current Status of a Particular Claim...24 Process Monitor and Claim Breakdown Dashboard Design...26 Openspace Gadget Dashboard Architecture... 29 Standalone Dashboard Architecture... 31 Calling ActiveMatrix BPM Web Services From the Example HTML Dashboards...33 Authenticating Calls to BPM Web Services...33 Filtering the Data Shown in a Report Based on the Logged in User's Team Membership...33 Raising the Priority of a Work Item...36 Displaying Process Status (Statistical Data) for a Particular Claim (Case Data)... 40 Viewing and Modifying Reports Used by Process Monitor and Claim Breakdown Dashboards...43 Process Monitor Dashboard Reports...43 Claim Breakdown Dashboard Reports... 44 The Process Performance Dashboard... 45 Viewing the Process Performance Dashboard...46 Process Performance Dashboard Architecture... 47 Creating Jaspersoft Domains from BPM Case Data Models...48 How ActiveMatrix BPM Maps A Case Data Model to Case Data Tables...52

4 TIBCO Documentation and Support Services All TIBCO documentation is available on the TIBCO Documentation site, which can be found here: https://docs.tibco.com Product-Specific Documentation Documentation for TIBCO products is not bundled with the software. Instead, it is available on the TIBCO Documentation site. To directly access documentation for this product, double-click the following file: TIBCO_HOME/release_notes/TIB_amx-bpm_version_docinfo.html How to Contact TIBCO Support For comments or problems with this manual or the software it addresses, contact TIBCO Support as follows: For an overview of TIBCO Support, and information about getting started with TIBCO Support, visit this site: http://www.tibco.com/services/support If you already have a valid maintenance or support contract, visit this site: https://support.tibco.com Entry to this site requires a user name and password. If you do not have a user name, you can request one. How to Join TIBCOmmunity TIBCOmmunity is an online destination for TIBCO customers, partners, and resident experts. It is a place to share and access the collective experience of the TIBCO community. TIBCOmmunity offers forums, blogs, and access to a variety of resources. To register, go to: http://www.tibcommunity.com

5 IMPORTANT: Restricted Use Case Licensing for Bundled TIBCO JasperReports for ActiveMatrix BPM The TIBCO JasperReports for ActiveMatrix BPM software included in the bill-of-materials for TIBCO ActiveMatrix BPM must only be used in conjunction with TIBCO ActiveMatrix BPM. This means that the licensed use cases are restricted. The following are the only licensed use cases: TIBCO JasperReports for ActiveMatrix BPM can be used to analyze usage and performance data that was generated by TIBCO ActiveMatrix BPM whether that data resides within a TIBCO ActiveMatrix BPM database or an external database. TIBCO JasperReports for ActiveMatrix BPM can also be used to analyze business data that is associated with a customer application built using TIBCO ActiveMatrix BPM whether that data resides within a TIBCO ActiveMatrix BPM database or an external database. Example Use Case 1 The TIBCO JasperReports for ActiveMatrix BPM software bundled with TIBCO ActiveMatrix BPM can be used to analyze TIBCO ActiveMatrix BPM's operational metadata such as workloads, high priority vs. low priority tasks, or whether Service Level Agreements (SLAs) are being met. Example Use Case 2 TIBCO ActiveMatrix BPM is being used to build a customer application for insurance claims. As part of this application: TIBCO ActiveMatrix BPM is creating, reading, updating and deleting claim data in a Claim database. This data can be analyzed using TIBCO JasperReports for ActiveMatrix BPM. TIBCO ActiveMatrix BPM is reading Policy data from a Policy database: The data read in and used as part of the Claims application can be analyzed by TIBCO JasperReports for ActiveMatrix BPM. The rest of the data in the Policy database cannot be analyzed by TIBCO JasperReports for ActiveMatrix BPM. Example Use Case 3 TIBCO ActiveMatrix BPM is being used to build a customer application to manage Telco orders. As part of this application: TIBCO ActiveMatrix BPM is creating, reading, updating and deleting claim data in an Order database. This data can be analyzed using TIBCO JasperReports for ActiveMatrix BPM. TIBCO ActiveMatrix BPM is being used to read product data from a product catalog database: The product catalog data read in and used as part of the Order Management application can be analyzed by TIBCO JasperReports for ActiveMatrix BPM. The rest of the data in the product catalog database cannot be analyzed by TIBCO JasperReports for ActiveMatrix BPM. In order to provide context to the TIBCO JasperReports for ActiveMatrix BPM dashboard, some additional product data may be required, such as product codes that were inserted in the database by TIBCO ActiveMatrix BusinessWorks (not TIBCO ActiveMatrix BPM) as part of this same TIBCO-based telco order application. Since this data forms part of the application, it can be included in the dataset analyzed by TIBCO JasperReports for ActiveMatrix BPM.

6 Using TIBCO JasperReports for ActiveMatrix BPM to Visualize TIBCO ActiveMatrix BPM Data TIBCO ActiveMatrix BPM provides three example dashboards that demonstrate different techniques that you can use with TIBCO JasperReports for ActiveMatrix BPM to visualize and manipulate ActiveMatrix BPM data. Example Dashboards and ActiveMatrix BPM Data The example dashboards demonstrate how you can access the following types of ActiveMatrix BPM data: BPM statistical data: data about processes, work items and user activity, from the central event database tables in the ActiveMatrix BPM database. case data: data about a particular case data model, or a set of case data models, from the ActiveMatrix BPM case data store. The Process Monitor and Process performance dashboards demonstrate how you can access BPM statistical data. The Claim Breakdown dashboard provides an example of how you can access case data. The standalone version of the Claim Breakdown dashboard accesses just case data. The Openspace gadget version accesses both case data and BPM statistical data. HTML Dashboards - the Process Monitor and Claim Breakdown Dashboards The Process Monitor dashboard and Claim Breakdown dashboard are HTML/JS applications that: use the Visualize.js JavaScript API framework to embed JasperReports Server reports in dashboard HTML pages. can be used either from Openspace (deployed as Openspace gadgets), directly from a browser URL (deployed as standalone web applications) or from an HTTP server. use reports, developed in TIBCO Jaspersoft Studio for ActiveMatrix BPM, that use direct SQL queries to extract data from the ActiveMatrix BPM database. The Openspace gadget versions of the Process Monitor and Claim Breakdown dashboards also demonstrate how you can use ActiveMatrix BPM web services in conjunction with JasperReports Server reports. JasperReports Server Dashboards - the Process Performance Dashboard JasperReports Server domains and Ad Hoc reports offer an elegant and powerful reporting tool that allows users to quickly create reports using business terms and language, hiding the complexity of the underlying data relationships. See the TIBCO JasperReports for ActiveMatrix BPM documentation for more information about domains, Ad Hoc reports and dashboards, what you can do with them and how you can create or modify them. The Process Performance dashboard is a JasperReports Server dashboard that: demonstrates the use of JasperReports Server domains and Ad Hoc reports, in this case to access BPM statistical data. can be used from JasperReports Server (either directly, or embedded in a web page). uses Ad Hoc Views/Reports, that use the AMX-BPM Statistics Domain to extract data from the ActiveMatrix BPM database.

7 JasperReports Server Domains The AMX-BPM Statistics Domain provides a business view of the data available in the following central event database tables in the ActiveMatrix BPM database. See TIBCO ActiveMatrix BPM Event Collector Schema Reference for more detailed information about these tables. Table ec_pe_activity ec_pe_status ec_proc_template ec_stats ec_user_activity ec_wi_status Stores... information about activities that have been registered by Event Collector. information about the current status of process instances. information about process templates. hourly measures about the usage of process templates. information about user activity. information about the current status of work items. A JasperReports Server Claims domain is also provided as an example of how you can create a domain from an ActiveMatrix BPM case data model. No dashboard is provided for this domain. Dashboard Artifacts For each of the example dashboards, ActiveMatrix BPM provides: runtime artifacts, for the BPM runtime and JasperReports Server, which you can quickly deploy so that you can see the dashboards in action. design time artifacts, for TIBCO Business Studio, Jaspersoft Studio and JasperReports Server, so that you can examine the dashboards and reports to see how they work, or use them as the basis for your own dashboard development. An example BPM Claims application provides a business object model, organization model and processes that you can use to generate sample data for use with the example dashboards and reports. See Example Files Reference for a complete list of the provided artifacts. Example Files Reference All the example files used to build and run the example dashboards are supplied as part of the TIBCO ActiveMatrix BPM installation. In the following table: All paths are relative to the root location of the installed example files, which is: TIBCO_HOME\bpm\n.n\samples\jaspersoft where: TIBCO_HOME is the full pathname of the directory where the ActiveMatrix BPM software is installed. n.n is the version number of the ActiveMatrix BPM software - for example, 3.1. dbtype is the identifier for the type of database that this file is for, either mssql (SQL Server), oracle (oracle), db2 (DB2) or postgres (PostgreSQL).

8 Path File Description \Installation Artifacts \DAAs\Claims com.example.companyorg anizationmodel.daa com.example.claimmodel.daa com.example.claimodelp rocess.daa DAAs of the organization model, business object model and process projects used by the example Claims application. See Deploying and Setting up the Example BPM Claim Application. \Installation Artifacts OpenspaceLDAPImport.txt XML data file that can be imported to the Organization Browser to create an EasyAs LDAP Container and set up the resource mappings needed by the example dashboards. See Mapping Users from the EasyAs LDAP Source to the Claims Organization Model. \Installation Artifacts \Jaspersoft Import jaspersoft-importdbtype.zip JasperReports Server resources needed by the example dashboards. See Importing Jaspersoft Resources Used by the Example Dashboards to JasperReports Server. \AMXBPM Statistics\Domain schema_dbtype.xml JasperReports Server domain design file for the AMX-BPM Statistics domain. See the TIBCO JasperReports Server for ActiveMatrix BPM documentation for more information about domain design files. \AMXBPM Statistics \Reports statsreportarchive_dbtype.zip Jaspersoft Studio project containing the reports used by the Process Monitor dashboard. See Viewing and Modifying Reports Used by Process Monitor and Claim Breakdown Dashboards. \Claims Model Demo\Domain schema_dbtype.xml JasperReports Server domain design file for the Claim domain. See the TIBCO JasperReports Server for ActiveMatrix BPM documentation for more information about domain design files.

9 Path File Description \Claims Model Demo \Reports \Claims Model Demo\Studio Projects \Misc\LDAP Configuration \Misc\Openspace Gadget Project claimreportsarchive_dbtyp e.zip claimmodelstudio.zip applicationcontextexternalauth-ldap.xml JasperShowCase.zip Jaspersoft Studio project containing the reports used by the Claim Breakdown dashboard. See Viewing and Modifying Reports Used by Process Monitor and Claim Breakdown Dashboards. TIBCO Business Studio project used to generate the Claim demonstration. The XML used to configure the LDAP connection with the EasyAs LDAP container provided with Active Matrix BPM. TIBCO Business Studio project used to create the Process Monitor and Claim Breakdown dashboards.

10 Setting up the Example Dashboards ActiveMatrix BPM provides a number of different example dashboards that illustrate different ways of using Jaspersoft domains and reports to visualize ActiveMatrix BPM statistical and/or case data. A number of steps are required to set up Jaspersoft Server and ActiveMatrix BPM to be able to use these dashboards. Software Requirements to Use the Example Dashboards Software Version Notes TIBCO ActiveMatrix BPM TIBCO JasperReports Server for ActiveMatrix BPM 3.1 or later 5.6.1 The JasperReports Server must have an appropriate JDBC driver installed for the database used to host the ActiveMatrix BPM database and the Business Data Services (BDS) case data store. Openspace's default configuration assumes that the JasperReports Server is hosted locally and using port 8081. If this is not the case, you will need to update the gadget configuration to point to the JasperReports server to be able to use the example Openspace dashboard gadgets. TIBCO Business Studio - BPM Edition 3.9 or later (Optional) Only required if you want to examine or modify either: the example BPM Claims application that provides the data used in the example dashboards. the GWT web application project that is used to create the Process Monitor and Claim Breakdown dashboards. To be able to open a GWT web application project you must select the Openspace Gadget Development installation profile when installing TIBCO Business Studio. The Openspace Gadget Development installation profile is available when you select Customize Installation during installation. TIBCO Jaspersoft Studio for ActiveMatrix BPM 5.6.1 (Optional) Only required if you want to examine or modify the Jaspersoft reports used in the Process Monitor or Claims Breakdown dashboards. Internet Explorer Security Settings If you are using Microsoft Internet Explorer to view the example dashboards, the following Internet Explorer security settings must be enabled: Miscellaneous > Allow META REFRESH Scripting > ActiveScripting

11 See the Internet Explorer documentation for more information about how to enable these settings. (For example, select Tools > Internet Options > Custom level). If these security settings are disabled the Process Monitor and Claim Breakdown dashboards will not load. Deploying and Setting up the Example BPM Claims Application The example BPM Claims application provides a business object model, organization model and processes that you can use to generate sample data for use with the example dashboards and Jaspersoft reports. The TIBCO Business Studio projects for these artifacts are provided in the TIBCO_HOME\bpm\n.n \samples\jaspersoft\claims Model Demo\Studio Projects\claimmodelstudio.zip file, where: TIBCO_HOME is the full path of the directory in which ActiveMatrix BPM is installed. n.n is the ActiveMatrix BPM version number. You may want to look at these TIBCO Business Studio projects to understand the example application, but you do not need them to be able to deploy and set it up. Deploying the Claims Application DAAs to the BPM Runtime DAAs of the business object model, organization model and process projects used by the Claims application are provided in the TIBCO_HOME\bpm\n.n\samples\Jaspersoft\Installation Artifacts\DAAs\Claims folder. You can deploy these DAAs directly to the BPM runtime. Procedure 1. Log in to TIBCO Administrator. 2. From the Applications tab, use the New Application wizard to create and deploy new applications from the following DAAs, in the order shown: a) com.example.companyorganizationmodel.daa b) com.example.claimmodel.daa c) com.example.claimmodelprocess.daa Result See also "Creating an Application" in TIBCO ActiveMatrix BPM SOA Administration. The com.example.companyorganizationmodel, com.example.claimmodel-2 and com.example.claimmodelprocess applications should all be Running and In Sync. Mapping Users from the EasyAs LDAP Source to the Claims Organization Model The example Claims application uses resources from the EasyAs LDAP source (the sample LDAP server that is supplied with the BPM runtime). Before you can generate sample data, you need to map specific resources from this LDAP server to the runtime organization model. The organization model provides a simplistic model of EasyAs Insurance's claims processing organization, comprising a front desk team and a back desk team, each with a manager. The following resources from the EasyAs LDAP Container must be mapped to the specified organization model groups.

12 Group Team Managers FrontDeskGroup BackDeskGroup Resources Leon Court, Richard Cresswell Richard Cresswell, John Eustace, Liam Lawrence, Tony Pulis Leon Court, Clint Hill, Jon Parkin, Steve Simonsen Additionally, the two team managers must have the following values assigned to the TeamName resource attribute. This value is used within the Process Monitor dashboard to determine which team the manager is responsible for, and then to tailor the displayed data accordingly. Resource Leon Court Richard Cresswell Value of TeamName resource attribute BackDeskGroup FrontDeskGroup Prerequisites An XML data file is provided that you can import to create the EasyAs LDAP Container and set up the required mappings. If the EasyAs LDAP Container already exists, you cannot use this XML file. Instead, you will need to manually map the resources and edit the resource attributes as shown above. In this case, see the Organization Browser User's Guide for more information. Procedure 1. Log in to TIBCO Openspace as tibco-admin. 2. Open the Organization Browser, then select LDAP Container. 3. Click Have a LDAP you wish to import? The Export Resources and Container Definitions dialog is displayed. 4. Copy the contents of the TIBCO_HOME\bpm\n.n\samples\Jaspersoft\Installation Artifacts \OpenspaceLDAPImport.txt file into the dialog, then click Import. Result The EasyAs LDAP Container and the required mappings are created. Generating Sample Data for the BPM Claims Application You can now run the CreateClaimsAutomatic business service to generate a number of claims with a selection of randomized data. The CreateClaimsManual business service allows a user to enter full details of a new claim (claimants, notifiers, witness details, vehicle details and so on), along with a simulated claim state (for example, authorization, notification or settlement). The service invokes the ClaimsProcess business process which simulates an actual claims processing process. The process creates an instance of a Claim object in the case data store, using the data passed down from the business service. It then either, according to the simulated claim state, generates a dummy user activity, or terminates. The CreateClaimsAutomatic business service allows you to quickly generate simulated data for multiple invocations of the CreateClaimsManual business service, without having to manually run

13 that process, enter data and process subsequent work items. The CreateClaimsAutomatic business service invokes a GenerateClaimdata business process, which generates randomized data for a claim and claim state, for a specified number of open and closed process instances, which it passes to the ClaimsProcess business process. Procedure 1. Log in to TIBCO Openspace as the Front Desk Group team leader, Richard Cresswell. (The password is tibco123.) 2. On the Business Services tab, in the All Categories section, expand ClaimModelProcess and select Claims. 3. Select CreateClaimsAutomatic and click. The Get Number Required form is displayed. 4. In the opentocreate field, enter the number of open process instances that you want to create. 5. In the closetocreate field, enter the number of closed process instances that you want to create. 6. Click Submit. 7. On the Process Views tab, select the ClaimsProcess template, then refresh the view until you can see that the requested number of process instances have been created. All the process instances are initially Offered. 8. On the Work Views tab, randomly allocate a selection of work items to members of the Front Desk Group, to provide further variety in the data: a) Select one or more work items then click. The Allocate Work Item to Offer Set dialog is displayed. b) Select the user to whom you want to allocate these work items, then click OK. 9. Log out, then log in again as the BackDeskGroup team leader, Leon Court. (The password is tibco123.) 10. On the Work Views tab, randomly allocate a selection of work items to members of the Back Desk Group. Result The ActiveMatrix BPM database now contains data about the generated process instances of the ClaimsProcess. The BDS case store now contains data abut the claim objects associated with each process instance. You can now use the Process Monitor, Claim Breakdown and Process Performance dashboards to easily access and visualize this data. Importing Jaspersoft Resources Used by the Example Dashboards to JasperReports Server ActiveMatrix BPM includes previously created and exported Jaspersoft resources needed by the example dashboards, which you must import to JasperReports Server. Procedure 1. Log in to JasperReports Server as the superuser user. 2. Select Manage > Server Settings and choose Import in the Settings panel.

14 3. Click Browse and choose the TIBCO_HOME\bpm\n.n\samples\Jaspersoft\Installation Artifacts\Jaspersoft Import\jaspersoft-import_dbType.zip file, where: TIBCO_HOME is the full pathname of the directory where the ActiveMatrix BPM software is installed. n.n is the version number of the ActiveMatrix BPM software - for example, 3.1. dbtype is the identifier for the type of database used by ActiveMatrix BPM, either mssql (SQL Server), oracle (oracle), db2 (DB2) or postgres (PostgreSQL). 4. Leave the remaining Import options unchanged and click Import. The server uploads the jaspersoft-import_dbtype.zip file and imports its contents into the repository. An Import succeeded message is displayed. 5. Select View > Repository and, in the Folders panel, expand the tree to Organizations > Organization > AMX-BPM. Result The Organizations > Organization > AMX-BPM folder contains the following resources. Resource Type Description AMX-BPM Datasource AMX-BPM Global Data Datasource JDBC datasource JDBC datasource Used to connect to the ActiveMatrix BPM database to access statistical data (in the example, about the Claims application). Used to connect to the BDS case data store to access case data (in the example, about the different Claim objects). Claims folder Contains the domain and reports used by the Claim Breakdown dashboard. Statistics folder Contains the domain and reports used by the Process Monitor dashboard. Statistics\Ad Hoc folder Contains the Process Performance dashboard and the Ad Hoc reports and views that it uses. The Process Performance dashboard is a Jaspersoft dashboard, created in JasperReports Server. The Claim Breakdown and Process Monitor dashboards are HTML dashboards, created as web application projects in TIBCO Business Studio. Configuring the Example JDBC Datasources You must configure the example JDBC datasources imported to the JasperReports Server to connect to the correct ActiveMatrix BPM database and BDS case data store, to access the data to be displayed in the dashboards. Prerequisites A JDBC driver for the appropriate database type(s) must be available in the JasperReports server's classpath. See TIBCO ActiveMatrix BPM Installation and Configuration for details of the JDBC drivers needed to connect to the different databases supported by ActiveMatrix BPM. See the JasperReports Server documentation for information about how to upload and make available the required JDBC driver.

15 Procedure 1. Log into the Jaspersoft server as a system administrator (by default, the jasperadmin user). 2. Select View Repository and, in the Folders panel, expand the tree to Organizations > Organization > AMX-BPM. 3. In the Repository panel, select AMX-BPM Datasource and click Edit. The details of the JDBC data source that will be used to connect to the ActiveMatrix BPM database are displayed. Default ActiveMatrix BPM installation values are used, which you should edit as required. 4. Select the correct JDBC Driver for the ActiveMatrix BPM database. 5. Enter the Host IP address, Port number, and database details used by the ActiveMatrix BPM database. (These fields are used to construct the connection URL.) The database detail fields are: Database name, for SQL Server or PostrgeSQL. Service, for Oracle Database, Driver Type and Schema Name, for DB2. 6. If you are using the IBM DB2 JDBC driver, edit the connection URL to remove the ;currentschema=schemaname parameter from the connection string. (If you do not do this the dashboard reports will not show any data, because the underlying queries assume use of a default schema name.) You do not need to do this if you are using the TIBCO DB2 JDBC driver. 7. Enter the User Name and Password of the database server user account that ActiveMatrix BPM uses to connect to the ActiveMatrix BPM database. 8. Click Test Connection. A Connection Passed message indicates that connection to the ActiveMatrix BPM database has succeeded. 9. Click Save. 10. In the Repository panel, select AMX-BPM Global Data Datasource and click Edit. The details of the JDBC data source that will be used to connect to the BDS case data store are displayed (with default ActiveMatrix BPM installation values). 11. Repeat steps 4 to 9 to validate the connection to the BDS case data store. Result You can now use the Process Performance dashboard to view reports about the Claims process. Adding the Example Dashboard Gadgets to Openspace The Process Monitor and Claim Breakdown dashboards can (in the context of the example) be used by the Front Desk and Back Desk team managers. You must add the gadgets for these dashboards to those users' Openspace personas. See the "Adding Gadgets to a Tab" topic in the TIBCO Openspace User's Guide for detailed information about how to add gadgets to Openspace tabs. Procedure 1. Log in as the Front Desk group manager, Richard Cresswell. 2. Create a new tab called JasperReports.

16 3. Add the Process Monitor and Claims Breakdown dashboard gadgets to the JasperReports tab. The default gadget configuration assumes that JasperReports Server is hosted locally and using port 8081. If this is not the case, update the gadget configuration to point to JasperReports Server. 4. Repeat steps 1 to 3 for the Back Desk group manager, Leon Court. Result Openspace users Richard Cresswell and Leon Court can now use the Process Monitor and Claim Breakdown dashboards. Changing the Default URL Used by the Openspace Gadget Dashboards If JasperReports Server is not running on the expected default host and/or port, you must update the URL used by the Process Monitor and Claim Breakdown gadgets to point to JasperReports Server. By default, Openspace expects JasperReports Server to be running on the same machine as ActiveMatrix BPM, on port 8081. The Process Monitor and Claim Breakdown gadgets use the following URLs to access JasperReports Server. Dashboard gadget Process Monitor Claim Breakdown Default URL jaspershowcase/jaspershowcase.html jaspershowcase/claimdashboard.html If JasperReports Server is hosted remotely and/or is using a different port, you must update these default URLs by adding a path parameter in the following format:?jasperserver=http://host:port/jasperserver-pro where: host is the hostname of the machine that is hosting JasperReports Server. port is the port number being used by JasperReports Server. For example, if JasperReports Server is running on port 8083 on the machine devserver1, you should change the Home URL for the gadgets to: Dashboard gadget Process Monitor Claim Breakdown Required URL jaspershowcase/jaspershowcase.html?jasperserver=http://devserver1:8083/ jasperserver-pro jaspershowcase/claimdashboard.html?jasperserver=http://devserver1:8083/ jasperserver-pro Procedure 1. Click Edit gadget properties ( ) on the gadget. 2. Edit the path shown in the Home URL field to include the correct path parameter.

17 3. Refresh the gadget display.

18 The Process Monitor Dashboard The Process Monitor dashboard demonstrates some Jaspersoft reports that can be generated from the central event database tables in the ActiveMatrix BPM database. The reports provide statistical information about processes, work items and user activity. The dashboard is an HTML/JS application. The following table describes the reports used in the Process Monitor dashboard. Report Key Performance Indicators Description Displays statistical information for the outstanding processes on your BPM system: the percentage of processes that have been escalated the percentage of processes that are over 4 hours old the number of processes that are over 4 days old Longest Processes vs Historic Data This report displays: how the average process completion time has improved (or degenerated) over the time period. (All data is shown in minutes.) how the process is behaving currently. The colored bar illustrates how your process has behaved historically. It calculates the average period of time and maximum period of time that your processes took to complete for a given time period. You can select the time period from the Use data from area of the report. The triangular markers show how the longest process currently on your system compares to the historic data.

19 Report Outstanding Processes Outstanding Tasks Work Allocation Description Displays all the outstanding processes on the system and how many outstanding process instances there are for each process. If you select an individual process, the dashboard redraws all the other reports to show the data for the selected process and updates the dashboard title accordingly. This report shows different information depending on which version of the dashboard you are using. Openspace gadget The report displays the outstanding tasks for all the outstanding processes on the system. If you have selected a process in the Outstanding Processes report, it only displays the outstanding tasks for the selected process. It shows how the outstanding tasks are distributed between My Team (depending on whether you are logged in as Leon Court or Richard Cresswell), Unallocated (the outstanding tasks that are not allocated to an organizational entity) or Other (the outstanding tasks that are allocated to other teams in the organization). Standalone The report displays the outstanding tasks for all the outstanding processes on the system. If you have selected a process in the Outstanding Processes report, it only displays the outstanding tasks for the selected process. It shows how the outstanding tasks are distributed between the different work item states. This report shows different information depending on which version of the dashboard you are using. Openspace gadget Displays how the outstanding tasks that are allocated to the team are distributed between individual team members. By default, it shows all the outstanding tasks but if you select a task from the Outstanding Tasks report, the data is filtered for the selected outstanding task (and the dashboard title updated accordingly). Standalone This reports shows how the outstanding tasks are distributed between the different work item states. If you selected a task in the Outstanding Tasks report, it shows the work distribution for the selected task and updates the dashboard title accordingly.

20 Report Work Description The information displayed in this report depends on what you have selected in the Work Allocation report. The information shown is different depending on which version of the dashboard you are using. Openspace gadget If you selected a team member in the Work Allocation report, information displays about the work activity for that team member. The type of information shown is the age of the activity, the date and time there was last activity on that task and its priority. You can also raise the priority of the activity. Standalone If you selected Allocated, the report displays information about the activities that are allocated. The type of information shown is the age of the activity, the date and time there was last activity on that task and its priority. You can select Clear Filter to clear your filters at any time. Two versions of the Process Monitor dashboard are provided - Openspace gadget and standalone. Openspace Gadget Version You can access this dashboard when you are logged in to Openspace as one of the team leaders, Richard Cresswell or Leon Court. If you try to view this dashboard when logged in as any other user - for example, tibco-admin - you will see a This user is not a manger of a team, cannot display dashboard error. To give the user access to this dashboard you must assign a value of FrontDeskGroup or BackDeskGroup to their TeamName resource attribute. See Mapping Users from the EasyAs LDAP Source to the Claims Organization Model for more information. The dashboard demonstrates how you can use ActiveMatrix BPM web services to: filter the displayed data based on the logged in user's team membership. drill down through the reports to view the outstanding tasks for an individual team member and increase a work item's priority. Standalone Version You can access this dashboard in any web browser, using the URL: http://host:port/openspace/jaspershowcase/jaspershowcase_sa.html where: host is the DNS name of the server hosting the BPM runtime. port is the port being used by Openspace. The default value is 8080. If JasperReports Server is hosted remotely and/or is using a different port, you must add a path parameter to the URL, in the following format:?jasperserver=http://host:port/jasperserver-pro

21 where: host is the hostname of the machine that is hosting JasperReports Server. port is the port number being used by JasperReports Server. Using the standalone version of the dashboard, you cannot filter the data based on the logged in user's team membership or increase a work item's priority. Drilling Down and Raising the Priority of a Work Item Prerequisites You must use the Openspace gadget version of the Process Monitor dashboard. This functionality is not available from the standalone version. Procedure 1. Login to Openspace as the Front Desk team leader, Richard Cresswell (password "tibco123"). 2. Open the Process Monitor dashboard on the JasperReports tab. The data displayed is filtered for the Front Desk team. 3. To drill down and see what work is outstanding for the Claims process, click the Claim process on the Outstanding Processes report. The other reports are redrawn to show just the data for the Claims process. 4. On the Outstanding Tasks report, click a bar that shows tasks allocated to My Team. The Work Allocation report is redrawn to show how these tasks are allocated to the team members. 5. Click one of the team members on the Work Allocation report. The Offered Work report is redrawn to show the details of the tasks allocated to this user. The report's title is also updated to show the user's name. 6. To raise the priority of one of this user's tasks, click the arrow in the Raise Priority column on the username Work report. A Priority has been raised message is displayed. Result The dashboard sends a request to the BPM runtime to increase the work item's priority by 10. You will not see the new Priority value until: the BPM runtime has processed the request and audited the event to the ActiveMatrix BPM central event database tables, and you force the dashboard to redraw the username Work report. You can do this by clicking another user on the Work Allocation report, then clicking the original user again. (If no other users have work allocated for the selected task, you will need to first click another task on the Outstanding Tasks report, then click the original task.) See Raising the Priority of a Work Item for more information about how this functionality is implemented by the Process Monitor dashboard.

22 The Claim Breakdown Dashboard The Claim Breakdown dashboard demonstrates some reports that can be generated from the case data for a case data model in the ActiveMatrix BPM case data store. The reports provide business data from the case data model used by the example Claims application. The dashboard is an HTML/JS application. The Claim Breakdown dashboard provides a number of controls that you can use to tailor and filter the dashboard data. Control Details Clear Filter Description Displays the Claim Hot list for the currently displayed data (in a separate window). Clear all of your currently selected filters from the Value, Claim by State and Age of Comp & TP Claims reports.

23 Control Description Refresh Click to manually refresh each report on the dashboard. Use the drop-down menu to select an Auto-Refresh option: Auto-Refresh All - automatically refresh all reports every 15 seconds. Auto-Refresh Exposure - automatically refresh just the Claim Exposure report every 15 seconds. Auto-Refresh None - do not automatically refresh any reports. This is the default option. Claims Select whether you want to show data for All claims or only for Open claims. The default value is Open. The following table describes the reports used in the Claim Breakdown dashboard. Report Claim Exposure Value Claim By State Age of Comp & TP Claims Monthly Breakdown Average Duration to finalise Claims Description Shows the total value of the claims at the indicated timestamp. Shows the number of claims broken down by value band. If you click a specific value band, the dashboard redraws all the other reports to show the data for the selected value band, and updates the dashboard title accordingly. Shows the number of claims broken down by state. If you click a specific state, the dashboard redraws all the other reports to show the data for the selected state, and updates the dashboard title accordingly. Shows the number of claims broken down by age band of the driver. If you click a specific age band, the dashboard redraws all the other reports to show the data for the selected age band, and updates the dashboard title accordingly. Shows the number of claims in the current claims selection, broken down by month and by type. Shows the average number of days taken to close claims in the current claims selection, broken down by claim type. The following table describes the additional reports provided in the Claim Hot list. Report Exposure Breakdown Description Shows the total value of the claims, by claim type.

24 Report Top 5 Highest Claims Description Shows the details of the five highest value claims. The Openspace gadget version of the dashboard also displays a View Audit column. Click selected claim. to display the Claim Status for ID:claimID report for the Claim Status for: ID:claimID Shows the current status of the process associated with the claim selected from the Top 5 Highest Claims report. This report is only available in the Openspace gadget version of the dashboard. Two versions of the Claim Breakdown dashboard are provided - Openspace gadget and standalone. Openspace Gadget Version You can access this dashboard when you are logged in to Openspace, as any user. The dashboard demonstrates how you can use ActiveMatrix BPM web services to access information about a particular case (in this example, a claim) from the case data store in one report, and then use that information in another report to extract and display statistical data about the case (in this example, about the current process instance and work item) from the BPM database. See Displaying Process Status (Statistical Data) for a Particular Claim (Case Data)for more information. Standalone version You can access this dashboard in any web browser, using the URL: http://host:port/openspace/jaspershowcase/claimdashboard_sa.html where: host is the DNS name of the server hosting the BPM runtime. port is the port being used by Openspace. The default value is 8080. If JasperReports Server is hosted remotely and/or is using a different port, you must update these default URLs by adding a path parameter in the following format:?jasperserver=http://host:port/jasperserver-pro where: host is the hostname of the machine that is hosting JasperReports Server. port is the port number being used by JasperReports Server. Drilling Down to Find the Current Status of a Particular Claim You can filter the data shown in the Claim Breakdown dashboard according to your requirements, show the top 5 highest claims for the selected data, then view the current status of the process associated with one of those claims. If necessary, you can also raise the priority of that process. Prerequisites You must use the Openspace gadget version of the Claim Breakdown dashboard. This functionality is not available from the standalone version.

25 Procedure 1. Login to Openspace as the Front Desk team leader, Richard Cresswell (password "tibco123"). 2. Filter the report data as you choose. For example, you may choose to show just Very High Value claims in New York. 3. When you have the data you want, click Details. The Claim Hot List is displayed. 4. On the Top 5 Highest Claims report, click in the View Audit column for one of the displayed claims. A Claim Status for ID:claimID report is displayed, showing: the process ID of the ClaimsProcess process instance associated with this claim. the current task, who (if anybody) owns it, and its status. the task's priority - which you can, if you wish, raise by clicking in the Raise Priority column of the report. See Displaying Process Status (Statistical Data) for a Particular Claim (Case Data) for more information about how this functionality is implemented by the Claim Breakdown dashboard.

26 Process Monitor and Claim Breakdown Dashboard Design The Process Monitor and Claim Breakdown dashboards are defined in TIBCO Business Studio as a GWT web application project, which is available from TIBCO_HOME\bpm\n.n\samples\jaspersoft \Misc\Openspace Gadget Project\JasperShowCase.zip. You can import the project into TIBCO Business Studio, then examine it to see in detail how the dashboards are constructed, modify them or use them as starting points for your own dashboards. Note that: The project provides Openspace gadget and standalone versions of each dashboard. If you modify the Openspace gadget version of a dashboard, when you deploy the application to the BPM runtime it will not overwrite the version that is supplied with Openspace. Instead, you will need to add the dashboard to Openspace as a new gadget, using the following URL. Dashboard Process Monitor Claim Breakdown URL http://server:port/openspace/jaspershowcase/jaspershowcase/ jaspershowcase.html http://server:port/openspace/jaspershowcase/jaspershowcase/ claimdashboard.html See the TIBCO ActiveMatrix Web Client API Developer's Guide for more information about how to recompile and redeploy the application to the BPM runtime, and contribute it as a gadget to Openspace. The dashboards use Visualize.js to obtain and display reports from JasperReports Server. Visualize.js is a JavaScript API framework used to embed JasperReports Server reports & visualizations inside web applications. See the JasperReports Server Programming Guide supplied with TIBCO JasperReports Server for ActiveMatrix BPM for more information about this API. Each dashboard uses asynchronous callback mechanisms for communication between the different components and layers of the application. The following tables outline the structure and key functions of each dashboard application. The files can be found in the war\jaspershowcase folder in the project, with the exception of jaspershowcase.java, which is in the src\com\tibco\jasper\showcase\client folder. Openspace Gadget Variant Process Monitor dashboard Claim Breakdown dashboard Key Functions jaspershowcase.html claimdashboard.html Obtains the credentials that the dashboard will use to authenticate its access to JasperReports Server (from jaspershowcase.java). Initializes the Visualize.js JavaScript API framework. Defines the dashboard layout.

27 Process Monitor dashboard Claim Breakdown dashboard Key Functions jaspershowcase.js claimdashboard.js Provides functions to: get the required reports from JasperReports Server (using Visualize.js). define and update the current context for each report. jaspershowcase.java jaspershowcase.java Calls ActiveMatrix BPM web services using the ActiveMatrix BPM Web Client API. Provides methods that the dashboard page can call to get the username and password needed to access JasperReports Server. These methods are currently hardcoded to return the Jasperadmin/Jasperadmin credentials, but could be used to provide single signon functionality. Provides JSNI calls to export required methods to the dashboard page. osapi.js osapi.js Calls ActiveMatrix BPM web services that are not available via the ActiveMatrix BPM Web Client API, using the ActiveMatrix BPM REST API. bootstrap.js bootstrap.js HTML, CSS, and JS framework. jquery-1.11.1.min.js jquery-1.11.1.min.js JavaScript library used by bootstrap.js. jaspershowcase.nocac he.js jaspershowcase.nocach e.js JavaScript compiled version of jaspershowcase.java.

28 Standalone Variant Process Monitor dashboard Claim Breakdown dashboard Key Functions jaspershowcase_sa.html claimdashboard_sa.html Defines the credentials that the dashboard will use to authenticate its access to JasperReports Server. These credentials are hardcoded as Jasperadmin/Jasperadmin. Initializes the Visualize.js JavaScript API framework. Defines the dashboard layout. jaspershowcase.js claimdashboard.js Provides functions to: get the required reports from JasperReports Server (using Visualize.js). define and update the current context for each report. bootstrap.js bootstrap.js HTML, CSS, and JS framework. jquery-1.11.1.min.js jquery-1.11.1.min.js JavaScript library used by bootstrap.js.

29 Openspace Gadget Dashboard Architecture The Openspace gadget dashboards must be hosted in Openspace on the ActiveMatrix BPM runtime. Process Monitor Dashboard

30 Claim Breakdown Dashboard

31 Standalone Dashboard Architecture The standalone dashboards can be hosted in an HTTP/web server, for example Apache HTTP Server or Internet Information Services (IIS) for Windows Server. Process Monitor Dashboard

32 Claim Breakdown Dashboard

33 Calling ActiveMatrix BPM Web Services From the Example HTML Dashboards The Openspace gadget versions of the Process Monitor and Claim Breakdown dashboards demonstrate different ways in which you can invoke ActiveMatrix BPM web services from Jaspersoft reports. Authenticating Calls to BPM Web Services Security policies are enforced on the endpoint of every TIBCO ActiveMatrix BPM service to ensure that access is restricted to authenticated users. Every API call to a TIBCO ActiveMatrix BPM service must be made using the identity of a user who is registered in the BPM organization model. An API call that does not meet this requirement will be rejected. Calling ActiveMatrix BPM Web Services From the Openspace Gadget Dashboards Because they run within an Openspace context, the Openspace gadget versions of the Process Monitor and Claim Breakdown dashboards automatically use the credentials of the currently logged in Openspace user for authentication whenever they call a BPM web service. Authorization - whether that user has the necessary permissions required by the system actions needed to execute that particular call - is still checked. The dashboard code displays a suitable error message to the user if they do not have the necessary permissions. For example, if you try and use the Process Monitor dashboard as tibco-admin, you will see the error message This user is not a manager of a team, cannot display dashboard because access to this dashboard is by default restricted to the EasyAs team leaders, Richard Creswell and Leon Court. (See Filtering the Data Visible in a Report Based on the Logged in User's Team Membership for details.) Calling ActiveMatrix BPM Web Services From the Standalone Dashboards The standalone versions of the Process Monitor and Claim Breakdown dashboards, as supplied, do not call BPM web services. You could modify them to implement the same functionality as the Openspace gadget versions (or indeed, any functionality available through the BPM web services), but the dashboard code itself would need to provide its own authentication mechanisms. See "Authenticating Access to a TIBCO ActiveMatrix BPM Service" in the TIBCO ActiveMatrix BPM Developer's Guide for more information. Filtering the Data Shown in a Report Based on the Logged in User's Team Membership The Process Monitor dashboard demonstrates how you can use ActiveMatrix BPM web services to obtain organizational information about the dashboard user (in this case, whether they are a team leader, and of which team), and so restrict the data presented to that user based on their team membership and role. In the example Claims application, the organization model provides a simplistic model of EasyAs Insurance's claims processing organization, comprising a front desk team and a back desk team, each with a manager: In TIBCO Business Studio: The front desk team, back desk team and managers are each modeled as a Group. a TeamName resource attribute is added to the CompanyOrganizationModel project.

34 At runtime (see Mapping Users from the EasyAs LDAP Source to the Claims Organization Model): The following resources are mapped to each group. Group Team Managers FrontDeskGroup BackDeskGroup Resources Leon Court, Richard Cresswell Richard Cresswell, John Eustace, Liam Lawrence, Tony Pulis Leon Court, Clint Hill, Jon Parkin, Steve Simonsen The team managers have the following values assigned to their TeamName resource attribute. (Other team members do not have a TeamName value assigned.) Resource Leon Court Richard Cresswell Value of TeamName resource attribute BackDeskGroup FrontDeskGroup

35 When the Process Monitor dashboard (jaspershowcase.html) is opened in Openspace, the onreportloaded function calls getteam (in Jaspershowcase.java). function onreportloaded() { // This method will be called when the GWT onmoduleload has run so we // know at this point that it will have exported any methods we may // need. } // Now call into GWT Layer to trigger it to go and work out the team. // Because this is async it will not return it here, but rather will // call a method later to set it. // We pass in a callback function which we would like to be called when // this operation is complete getteam(setmyteam); 1. getteam calls the BPM Web Client API GetAuthenticatedUserName operation to find the name of the logged in user. 2. getteam now needs to look up the value of that user's TeamName attribute. However, this cannot be done directly from the BPM Web Client API, so it calls getmyresourceattribute, which is a JSNI method that in turn invokes the callgetresource function in osapi.js. 3. callgetresource uses the following BPM REST API calls to obtain the value of the user's TeamName attribute, which it then passes back to the setresourceattribute function (in Jaspershowcase.java): a. findresources - passing in the user's name and extracting the user's GUID from the returned data. b. getresource - passing in the user's GUID and extracting the TeamName resource attribute value. 4. setresourceattribute: a. calls the BPM Web Client API RunResourceQueryForVersion operation to get the names of the users who are members of the group named in the TeamName resource attribute value. b. calls the docallback function, which passes the list of team members back to the setmyteam function in jaspershowcase.htm. If the logged in user is not one of the team leaders (so the list of team members is empty), docallback instead displays the error message This user is not a manager of a team, cannot display dashboard. 5. setmyteam initializes required variables with the team information and updates the context object. function setmyteam(teamname, teamnames) { teamname = teamname; myteam = teamnames; updatecontext(); setteammode(true); //Now we initialise Visualise.js initvisualise(init); } The dashboard does not initialize Visualize.js (and consequently the reports) until it has the required context and team information. The team information can now be passed as a parameter (via context.team) to the various reports when they are called or updated. Each report can use the team information as required to filter, construct and/or display the required data.

36 Raising the Priority of a Work Item Both the Process Monitor and Claim Breakdown dashboards demonstrate a simple way of raising the priority of selected work items. This provides an example of how you can both monitor BPM data, and then react to and update that data, in real-time (often referred to as "closing the loop"). The user interface to raise a work item's priority is provided as part of the Offered Work report on the Process Monitor dashboard. When the user clicks the Raise Priority arrow for a specific activity, a Priority has been raised message is displayed, and the work item's priority is raised by 10.

37 To provide this functionality: In the Jaspersoft Studio AMX-BPM Statistics Reports project, in the Work report, the Raise Priority column of the report table contains the arrow_up.png graphic. This graphic is configured as a RemoteAnchor hyperlink. When the user clicks the arrow for a particular activity (work item), the click event in the getteamunallocatedreport function (in jaspershowcase.js) is invoked. This event calls the setpriority function in Jaspershowcase.java, passing the WorkItemId of the selected activity as a parameter. function getteamunallocatedreport(v) { unallocated = v.report( { resource : pathroot + "Work", container : "#unallocated", linkoptions : { events : { "click" : function(ev, link) { if (link.type == "RemoteAnchor") { setpriority(link.parameters.workitemid); } } } ) } } }

38 setpriority invokes the BPM Web Client API PrioritiseWorkItem method to increase the work item's priority by 10. /** * This method is called by any dashboard which wishes to modify the work * item priority of an item. Within the demonstration it is used by * Jaspersoft page hyperlinks */ public static void setpriority(string workitemid) { Set<ManagedId> items = new HashSet<ManagedId>(); items.add(new ManagedId(Long.parseLong(workItemId), -1)); BPMWebClientService.getInstance().execute( new PrioritiseWorkItem(items, 10, false), new AsyncCallback<VoidResult>() { @Override public void onfailure(throwable caught) { Window.alert("Failed to change Work Item Priority. Original error message: "+caught.getmessage()); } } }); @Override public void onsuccess(voidresult result) { Window.alert("Priority has been raised"); } Authorization To be able to execute the PrioritiseWorkItem method the calling user - in this case, the user who is logged in to the Openspace session - must have permission to use the changeanyworkitempriority or changeallocatedworkitempriority system action. Access to this functionality should be restricted to the team leaders, Leon Court and Richard Cresswell. This is configured in TIBCO Business Studio, in the CompanyOrganizationModel project: 1. A privilege, Privilege1, is defined. 2. Privilege1 is associated with the Change Any Work Item Priority system action. 3. Privilege1 is assigned to the TeamManagers group.

39 At runtime, Leon Court and Richard Cresswell inherit Privilege1 as a result of their membership of the TeamManagers group.

40 They are therefore authorized to execute the PrioritiseWorkItem method when they click the Raise Priority arrow for a specific activity in the Offered Work report. Displaying Process Status (Statistical Data) for a Particular Claim (Case Data) The Claim Breakdown dashboard demonstrates how you can access information about a particular case (in this example, a claim) from the case data store in one report, and then use that information in another report to extract and display statistical data about the case (in this example, about the current process instance and work item) from the BPM database. In the Claims Breakdown dashboard, if the user clicks Details to display the Claims Hot List, then clicks View Audit for one of the Top 5 Highest Claims, a Claim Status report for that claim is displayed. This report: displays statistical data (from the BPM database) about the current process instance and work item associated with the selected claim ID. allows the user to raise the priority of that work item.

41 To provide this functionality: In the Jaspersoft Studio ClaimsModelReports project, in the DisplayTopClaims report, the View Audit column of the report table contains the audit.png graphic. This graphic is configured as a ReportExecution hyperlink. When the user clicks the audit button for a particular Claim Id, the click event in the dotopclaimsreport function (in claimdashboard.js) is invoked. function dotopclaimsreport(v) { topclaims = v.report({ resource: pathroot+"displaytopclaims", container: "#claimtop5", params: context, linkoptions: { events: { "click": function (ev, link) { calllookupcaseref(link.parameters.claim_id, function reloadclaimstatus(caseref) { removeclassfromelement (document.getelementbyid("claim_status"),'hide'); $('#claim_status_text').text ("Claim Status for: "+link.parameters.claim_id); claimstatus.params({ "CASE_REFERENCE": [caseref] }).run(); } ); } } }, error: handleerror } ); } This event: 1. calls calllookupcaseref (in osapi.js). That function uses the BPM REST API findbyid operation to get the case reference associated with this claim Id. openspaceclientapi.prototype.lookupcaseref = function (id, onsuccess) { var baseurl = this.host + "/bpm/rest/globaldata/model/com.example.claimmodel.claim/2.0.0/findbyid"; var callback = function (data) { data = JSON.parse(data); onsuccess(data.casereference); }; var payload = "<xml-fragment><casepayload><![cdata[<?xml version=\"1.0\" encoding=\"utf-8\"?><claimmodel:claimelement xmlns:xsi=\"http://www.w3.org/2001/xmlschema-instance\" xmlns:claimmodel=\"http://example.com/claimmodel\" xsi:type=\"claimmodel:claim\"><claimid>"+id+"</claimid> </claimmodel:claimelement>]]></casepayload></xml-fragment>"; call(baseurl, callback,"post",payload); 2. passes that case reference as a parameter to the reloadclaimstatus function, which loads the Claim Status report.

42 The Claim Status report: queries the BPM database (the ec_proc_template table) and displays the details of the current work item associated with that case reference. All other reports used in the Claim Breakdown dashboard run their queries against the case data store. provides the ability to raise the work item priority when a user clicks the Raise Priority arrow. (The report calls the setpriority function in Jaspershowcase.java, passing the WorkItemId of the selected activity as a parameter, in the same way as the Offered Work report on the Process Monitor dashboard.) function doclaimstatusreport(v) { claimstatus = v.report( { resource: pathroot+"claimstatus", container: "#claimstatusdiv", linkoptions: { events: { "click": function (ev, link) { setpriority(link.parameters.workitemid); } } }, error: handleerror, } ); }

43 Viewing and Modifying Reports Used by Process Monitor and Claim Breakdown Dashboards You can view and modify the reports used by the Process Monitor and Claim Breakdown dashboards in Jaspersoft Studio for ActiveMatrix BPM. Jaspersoft Studio allows you to create sophisticated layouts containing charts, images, subreports, crosstabs, and more. Procedure 1. Open Jaspersoft Studio. 2. Use the Import wizard to import the Jaspersoft Studio projects containing the reports used by the Process Monitor and/or Claim Breakdown dashboards. These projects are supplied as part of the TIBCO ActiveMatrix BPM installation: Process Monitor dashboard reports: TIBCO_HOME\bpm\n.n\samples\Jaspersoft\AMXBPM Statistics\reports\statsreportsarchive_dbType.zip Claim Breakdown dashboard reports: TIBCO_HOME\bpm\n.n\samples\Jaspersoft\AMXBPM Statistics\reports\claimreportsarchive_dbType.zip where: TIBCO_HOME is the full pathname of the directory where the ActiveMatrix BPM software is installed. n.n is the version number of the ActiveMatrix BPM software - for example, 3.1. dbtype is the identifier for the type of database used by ActiveMatrix BPM, either mssql (SQL Server), oracle (oracle), db2 (DB2) or postgres (PostgreSQL). See Example Files Reference for more information. Process Monitor Dashboard Reports Default Dashboard Title KPI-Performance - Processes escalated KPI-Performance - Processes over 4 hours KPI-Performance - Processes over 4 days Longest Processes Vs Historic data Report HighPriorityKPI FastResolvedKPI FullyResolvedKPI ProcessPerformance jaspershowcase.js Function That Invokes the Report gethighprioritykpireport getfastresolvedkpireport getfullyresolvedkpireport getperfreport Outstanding Processes TemplateAssessment gettemplatereport Outstanding Tasks TaskBreakdown (in standalone dashboard) gettasksreport

44 Default Dashboard Title Work Allocation Offered Work Report TaskTeamBreakdown (in team dashboard) OutstandingWork (in standalone dashboard) OutstandingWorkForTeam (in team dashboard) Work_Standalone (in standalone dashboard) Work (in team dashboard) jaspershowcase.js Function That Invokes the Report getteamtasksreport getworkreport getteamworkreport getunallocatedreport getteamunallocatedreport Claim Breakdown Dashboard Reports Default Dashboard Title Report claimdashboard.js Function That Invokes the Report Claim Exposure TotalClaimExposure dototalexposurereport Value ClaimValueBreakdown doclaimvaluereport Claim by State ClaimsByState dostatereport Age of Comp & TP claims ClaimAgeBreakdown doclaimagereport Monthly Breakdown ClaimsMonthBreakdown doclaimbymonthreport Average Duration to finalize Claims Claim Hot List > Exposure Breakdown Claim Hot List > Top 5 Highest Claims Claim Hot List > Claim Status for: Claim Id AverageTimeToCloseClaim ClaimExposureBreakdown DisplayTopClaimsNoAudit (in standalone dashboard) DisplayTopClaims (in team dashboard) ClaimStatus (only available in team dashboard) doclaimdurationreport doexposurebreakdownreport dotopclaimsnoauditreport dotopclaimsreport doclaimstatusreport

45 The Process Performance Dashboard The Process Performance Dashboard demonstrates the use of JasperReports Server domains and Ad Hoc reports to generate reports from the central event database tables in the ActiveMatrix BPM database. The reports display performance data for a selected process template for a given period of time. The dashboard is a JasperReports Server dashboard. You can view the Process Performance dashboard from Jaspersoft Server. The Process Performance dashboard provides a number of controls that you can use to tailor and filter the dashboard data. Control Process Template Name Historic Data shown between: Description Select the process template for which you want the reports to show performance data. Select the start and end dates of the period for which you want to show performance data. Select a different style of chart to display in the current report. This control is shown for each report.

46 Control Description Refresh the current report or display it in a new window. This control is shown when you hover over a particular report. The following table describes the reports used in the Process Performance dashboard. Report Outstanding Tasks for Process Process Priorities Work Item Status Process and Work Item Duration Averages Process Counts Description Shows the currently outstanding tasks for the selected process, grouped by task name. Shows the number of processes, grouped by priority, for the selected process and time period. Shows the number of work items, grouped by status, for the selected process and time period. Shows different process and work item average measures for the selected process and time period: Average duration of processes Work item action average Work item active average Work item wait average Work item work time average Shows different process and work item counts for the selected process and time period: Total number of process instances started Total number of process instances suspended Total number of process instances completed Total number of work items completed Total number of work items opened Viewing the Process Performance Dashboard You can view the Process Performance dashboard from Jaspersoft Server. Procedure 1. Enter http://host:port/jasperserver-pro in a web browser, where: host is the name of the computer that hosts JasperReports Server. port is the port being used by JasperReports Server. 2. Log in to JasperReports Server as jasperadmin. (The default password is jasperadmin.) 3. Click View List from the Dashboards panel.

47 4. Click Process Performance Dashboard. 5. On the Process Template Name drop-down list, select ClaimsProcess. 6. On the Historic Data shown between control, select the calendars to specify the time period for which you want to see data. Result If your parameter supports relative date expressions, you can enter expressions such as WEEK+1 in this field. The Process Performance dashboard is displayed. Process Performance Dashboard Architecture

48 Creating Jaspersoft Domains from BPM Case Data Models Creating effective domains from ActiveMatrix BPM case data models requires the domain designer to have a good understanding of the case data model and how it is used. Particular care is needed to ensure that potentially ambiguous data relationships can be resolved so that Ad Hoc reports return the expected data. Understand the ActiveMatrix Business Object Model To be able to create effective domains from ActiveMatrix BPM case data models, the domain designer needs to have a good understanding of: the underlying business object model and how it is used by ActiveMatrix BPM processes. how the business object model classes are mapped to case data tables when the model is deployed to the ActiveMatrix BPM runtime. the domain's intended or potential reporting use cases. Use Derived Tables and Joins to Resolve Potentially Ambiguous Relationships in the Data Domains and Ad Hoc Views/Reports offer an elegant and powerful reporting tool that allows users to quickly create reports using business terms and language, hiding the complexity of the underlying data relationships. However, because you do not have control over the underlying SQL queries generated by Ad Hoc Views/Reports, you must ensure that your domain design deals with any potentially ambiguous relationships in the data. Ambiguous relationships, if executed as part of a report, can result in unexpected or incorrect data being returned. You can do this by: creating derived tables to access objects that you cannot otherwise uniquely access via the existing tables. carefully managing the joins used by the domain so that object relationships can be uniquely identified and traversed. For example, the Claim business object model defines the global classes Claimant, Notifier and Witness, which are used by the Claim class, as specializations of the Person class.

49 When the ClaimModel project is deployed, the Claimant, Notifier and Witness classes are all mapped to the same database table, BDS_2_CLMMDL_PERSON. The DTYPE column in that table identifies whether the Person is a Driver, Claimant, Notifier or Witness, using the notation namespace.classname - for example, com.example.claimmodel.driver. Foreign keys are created representing the claimants, notifier and witnesses relationships in the Claim business object model. The Claim domain has been created to represent the Claim business object model, using the data from the BDS_2_CLMMDL* tables. Suppose that you now want to create an Ad Hoc report from the Claim domain that displays a table containing claim IDs (BDS_2_CLMMDL_CLAIM.CLAIMID) and the last name of the person who is the notifier (BDS_2_CLMMDL_PERSON.LASTNAME). Using the JasperReports Server Ad Hoc Editor, when you add the Claim ID field to the view, a preview list of claim IDs is displayed. (You can use the View SQL Query button to see the underlying query that has been executed.)

50 However, if you now add the Last Name field, the query returns a null data set, instead of the expected list of claimant last names matching these claim IDs. This happens because:

51 1. The Claim domain includes three INNER JOINs between the BDS_2_CLMMDL_CLAIM and BDS_2_CLMMDL_PERSON tables, one for each of the foreign keys that represent the claimants, notifier and witnesses relationships in the Claim business object model. 2. The underlying query generated by the report does not know which of these joins it should use to obtain the LASTNAME from BDS_2_CLMMDL_PERSON. In this particular case, it uses all three, and evaluates the query using AND rather than OR logic. As a person cannot be a claimant, a notifier and a witness, no data is returned. (Again, you can use the View SQL Query button to see the underlying query that has been executed.) If you have large business object models with complex data relationships, this problem can easily grow exponentially. To overcome this problem, the Claim domain: 1. Creates derived tables called Driver, Claimant, Notifier and Witness from the BDS_2_CLMMDL_PERSON table. The query uses the DTYPE value, which identifies whether the Person is a Driver, Claimant or Notifier. For example, the query used to generate the Notifier table is: select * from amxbpm.bds_2_clmmdl_person where DTYPE='com.example.claimmodel.Notifier'

52 2. Creates explicit joins from each of these tables to the BDS_2_CLMMDL_CLAIM table, representing the claimants, notifier and witnesses relationships in the Claim business object model. You can now create an Ad Hoc report from the Claim domain that displays a table containing claim IDs (BDS_2_CLMMDL_CLAIM.CLAIMID) and the last name of the notifier (NOTIFIER.LASTNAME). The generated query is able to uniquely identify the join that it needs to follow to resolve the query. Design Domains on a Use Case Basis If you are converting a complex business object model you should create domains that are tailored to specific reporting use cases. Creating multiple domains from the same business object model for different use cases is likely to produce better results than attempting to use a single domain that encompasses the entire model. This will avoid problems such as having to map data that is used rarely or not at all in your reports, or exponentially increasing complexity when trying to resolve joins. How ActiveMatrix BPM Maps A Case Data Model to Case Data Tables An object model and a relational database have fundamentally different objectives and requirements, so when a business object model is converted to a set of database tables, the result is seldom a simple 1:1 mapping of classes to tables. The domain designer needs to understand the resulting mappings and table relationships and their significance for the domain design. When a business object model has been deployed to the ActiveMatrix BPM runtime, you can access the Create script used to install the case data from the Openspace Data Admin tab. The comments at the beginning of the Create script identify which business object model classes have been mapped to which database tables. The following example shows the (SQL Server) Create script for the example Claim model: ---------------------------------------- TIBCO HEADER ------------------------------ -- BOM Name : ClaimModel.bom -- ClaimBusinessDataModel.bom -- BOM Namespace : com.example.claimmodel -- com.example.claimbusinessdatamodel -- Namespace Tag : CLMMDL

53 -- CLMBSNSSDTMD -- BOM Major Version : 2 -- Table Mappings : (BOM Class -> DB Table) -- com.example.claimmodel.disasterdetails BDS_2_CLMMDL_DISASTERDETAILS -- com.example.claimbusinessdatamodel.incidentnotifications BDS_2_CLMBSNSSDTMD_NCDNTNTFCT1 -- com.example.claimbusinessdatamodel.incidentnotification BDS_2_CLMBSNSSDTMD_NCDNTNTFCTN -- com.example.claimmodel.address BDS_2_CLMMDL_ADDRESS -- com.example.claimmodel.contactinfo BDS_2_CLMMDL_CONTACTINFO -- com.example.claimmodel.claim BDS_2_CLMMDL_CLAIM -- com.example.claimmodel.incidentdetails BDS_2_CLMMDL_INCIDENTDETAILS -- com.example.claimmodel.vehicle BDS_2_CLMMDL_VEHICLE -- com.example.claimmodel.policy BDS_2_CLMMDL_POLICY -- com.example.claimmodel.disasterdata BDS_2_CLMMDL_DISASTERDATA -- com.example.claimmodel.disasterdata.disasterstatelist BDS_2_CLMMDL_DSSTRDTDSSTRSTTLS -- com.example.claimmodel.claimant BDS_2_CLMMDL_PERSON -- com.example.claimmodel.driver BDS_2_CLMMDL_PERSON -- com.example.claimmodel.witness BDS_2_CLMMDL_PERSON -- com.example.claimmodel.notifier BDS_2_CLMMDL_PERSON -- com.example.claimmodel.person BDS_2_CLMMDL_PERSON -- com.example.claimmodel.disasterstate BDS_2_CLMMDL_DISASTERSTATE ------------------------------------------------------------------------------------ You can examine the script to see the foreign keys that have been created to enforce the class relationships defined in the business object model. For example, the following foreign keys allow the identification of the driver, notifier, witness and claimant associated with a claim. alter table [BDS_2_CLMMDL_PERSON] add constraint FKD5E018085F92DAC4 foreign key ([VEHICLE_DRIVER_BDSID]) references [BDS_2_CLMMDL_VEHICLE]; alter table [BDS_2_CLMMDL_PERSON] add constraint FKD5E01808BF71D702 foreign key ([CLAIM_NOTIFIER_BDSID]) references [BDS_2_CLMMDL_CLAIM]; alter table [BDS_2_CLMMDL_PERSON] add constraint FKD5E01808F340137D foreign key ([CLAIM_WITNESSES_BDSID]) references [BDS_2_CLMMDL_CLAIM]; alter table [BDS_2_CLMMDL_PERSON] add constraint FKD5E01808645A84BE foreign key ([CLAIM_CLAIMANTS_BDSID]) references [BDS_2_CLMMDL_CLAIM]; You may also find it useful to generate a database diagram or chart so that you can more easily see the created relationships. For example, the following diagram shows part of the (SQL Server) database diagram for the Claim model case data tables.

54