User Reports Sample
This sample provides reporting samples and
information which will help you design and deploy your own reports. In
order to begin creating your own reports it is important for you to
know where to begin. First the reporting module in ActiveVOS is built
on the robust BIRT reporting engine. That engine has eclipse plug-in
support, which ActiveVOS Designer includes for you. These plug-ins
contain a rich editing environment for the construction of new reports.
Once you have created a report you can then use a Business Process
Archive (BPR file) to deploy it to the server as a resource. After
deployment it will be available on the Report page of the console. This
sample’s documentation supplies information about using reports with
ActiveVOS, but only helps supplement the reporting module’s (BIRT)
documentation. Please refer to the BIRT documentation for more details
on advanced reporting features.
Getting Started
You can add a new report to any project. It is good practice to
separate the reporting files from other files in your project. In this
example the reports that have been supplied are stored in the folder
called “report”. When you use File>New and choose to create a
new report always use the ActiveVOS Template. The template has a script,
which when the report is deployed automatically detects the Data Source
connection information by using the supplied AeBirtContext class. If
you are interested in what this script open a report which uses the
template and select the ActiveVOS Data Source and then click on the
“Script” tab in the report editor. The Data Source while in ActiveVOS Designer
does not use the server settings, but instead is predefined to point to
your embedded ActiveVOS’ server derby database. The embedded Derby
database has a limitation that only one application can connect to it
at a time, so if you are creating reports using derby make sure you
stop the embedded ActiveVOS Server first. If you need to change that
default simply edit the data source properties to point to the database
you have stored your ActiveVOS data. Once you have created a new report
the next step is to define a Data Set. A Data Set is the SQL and
parameters needed to return the results from the database. Appendices I
and II have information about the ActiveVOS data model, which will help
you understand where the data is stored in the database. Once you have
created your select statement you can simply drag the Data Set onto the
canvas and a simple table will be created for you. After the table has
been created go ahead and make any of the formatting changes for your
report that you need. Charts and other reporting types are also
available please consult the BIRT documentation. A chart sample has
been included to give you a sense of the capabilities.
Sample Reports
| Report |
Description |
| IndexedPropertyValues |
Displays all the indexed values in the system grouped
by property name. Additionally it can show an individual property’s
values via the filter. |
| ProcessDistribution |
Displays a pie chart of the distribution of process
executions by process deployment (plan id, process name). Additionally
it has a listing of the counts. |
| OpenTaskRoles |
Displays the users and groups and their roles for open
tasks. |
Deploying Reports
Reports are easily deployed simply by selecting them or the folder where they
reside using the context menu (RMB - right mouse button) to select Export.
Export will display a dialog from which you select
Orchestration->Business Process Archive export option. Select a
location for your BPR file and typically choose Web service deployment
with the location of your server (the default is localhost on port
8080). Also make sure to check the “Replace existing resources”
checkbox or the system may not overwrite the previous report
deployments, unless you have set that as the default on the server
properties. You can also choose to save the deployment script, which is
an ant script which can be used to deploy your reports again simply by
using the RMB execute option. Note the sample project has a saved
deployment script in the deploy folder, which can be used to
automatically deploy the sample reports. Selecting the next button
brings you to a page where you will see your reports in the additional
resources list. Choose a “Process Group” name for both your entries,
for example Sample Reports.
Appendix I - ActiveVOS Process
Data Model
Table 1 -
ActiveVOS Process Tables
| Table |
Description |
Notes |
AeUserProcessView
(AeProcess) |
Holds the main state of a process instance. The primary
state of the process (ex. running, started, completed, etc.) is stored
in the ProcessState column. |
Actual BPEL language information and related services
are stored in a related table, called AePlan. |
| AeVariable |
This is the set of variable data associated with the
process. |
|
| AeIndexedPropertyValue |
During deployment you can choose to index fields from
variables in your process. This table stores those values, which are
typically your key performance indicators (KPI). |
In order to find the property name associated with the
value data you need to link to the AeIndexedPropertyForPlan (plan is
the deployment information/table for a process definition) and the
AeIndexedProperty tables. |
| AeProcessLogData |
Contains the logging information associated with a
process instance. |
This is used to do root cause analysis (show process
state at a point in time) of issues. But it also contains very useful
reporting information. |
| AeProcessAttachment |
Contains any attachments to variables in the process. |
The actual attachment data is stored in the
AeAttachment table as a BLOB. |
| AeAttachment |
Stores the BLOB of an attachment. |
|
| Others ... |
|
|
ActiveVOS Process Data Model Entity
Relation Diagram Subset
Figure 1 – ER Diagram for some
of the process centric tables.
 |
Appendix II - ActiveVOS Human Task
Data Model
In order to create new human task centric reports you will need a basic
understanding of the ActiveVOS human task data model. The data model is
of course centered on the task, which in the database is the AeB4PTask
table. The primary key of the AeB4PTask table is the ProcessId and
other tables have keys which relate back to the ProcessId in this
table. As mentioned in the process section of the data model a system
process actually handles the task state management so it is no surprise
to see this relation between the AeB4PTask table and the AeProcess
table. Table 2 contains a short list and descriptions of task tables
for which you may have monitoring or other interests. Figure 2 contains
a portion of the full ActiveVOS data model that is centered on the
AeB4PTask table.
Table 2 -
ActiveVOS
Human Task Tables
| Table |
Description |
Notes |
| AeB4PTask |
Holds the main state of a task instance. The primary
state of the task (ex. unclaimed, claimed, started, completed, etc.) is
stored in the State column see table 4 below The TaskType
column indicates whether the row contains a task or notification,
(0=task, 1=notification). |
Much of the task state interaction is accomplished
through processes so in order to actually change anything in a task one
must use the WS-HT Service API. Not also that the task access
information is also stored in CLOB columns in this table as
organization entities, but for quicker access for login to inbox it is
also separated into its own table (AeB4pTaskACL). |
| AeB4pTaskACL |
This table contains the access control list for the
task. Type is zero for user and 1 for group. See Table 3 below for
generic human role column values. |
This table controls access to task information when
using the WS-HT API. Thus it controls what is visible to a user who is
logged into the ActiveVOS inbox, or another client application. |
AeB4PTaskPa
AeB4PTaskEventDetail |
Contains all events which change the state of the task. |
This is used to produce the history of a task. |
| AeB4PTaskAttachments |
Contains the attachments associated with a task. |
This is used to store attachments which are associated
with a task and typically available in the task detail display. |
| Others ... |
|
|
Table 3 -
AeB4PTaskACL – GenericHumanRole Column
| Role |
Value |
Description |
| Initiator |
0 |
Task Initiator |
| Stakeholder |
1 |
Task Stakeholder |
| Potential Owner |
2 |
Potential Owner |
| Actual Owner |
3 |
Actual Owner |
| Excluded Owner |
4 |
An excluded owner |
| Business Administrator |
5 |
Business Administrator |
| Notification recipient |
6 |
Recipient of a notification task type |
Table 4 –
AeB4PTask – State Column
| State |
Value |
| Deferred |
0 |
| Unclaimed |
1 |
| Claimed |
2 |
| Started |
3 |
| Completed |
4 |
| Skipped |
5 |
| System Error |
6 |
| Faulted |
7 |
| Exited |
8 |
| Suspended |
9 |
Figure 2 – ActiveVOS Human Task
ER Diagram Subset
 |
Copyright (c) 2004-2009 Active
Endpoints, Inc.