BPM Explorer

BPM Explorer is a Windows application (native – not browser) that is designed for IBM BPM developers and administrators.  It provides access to information maintained within your own instance of IBM BPM.  Using this tool you can examine the state of your server, processes and tasks and perform BPM related functions.

Installation

BPM Explorer can be downloaded as a Windows installation file.  The download location is:

http://www.neilkolban.com/ibmdata/BPMExplorer.msi

Once downloaded, launch it to perform the installation.

2014-05-31_19-24-54

Once installed, you will find the application in your Windows startable applications.

2014-05-31_19-28-52

Initial Configuration

In order to connect to the correct instance of your BPM server, you need to provide the connection URL and the userid/password pair that you wish to use.  These settings are made from the File > Settings menu and need only be made once.

2014-05-31_19-31-17

The settings dialog provides the location into which the requires settings must be made:

2014-07-03_11-52-30

 

 

Using BPM Explorer

Once installed, launched and configured, you are now ready to use the tool.  When you right-click in the table, you will be presented with a context menu.  Within that menu is an option called “Refresh”.  Selecting this causes the tool to refresh itself with the process and task data known on the BPM server.

2014-07-03_11-53-33

 

After a refresh, the data will be displayed.  Clicking on an individual element in the table will select it.  Once selected, the details of that process and task will be shown in the lower half of the window:

2014-05-31_19-53-41

 

Within the lower half we can see the details of the process within the Process tab.  This contains both the process details as well as the current values of variables for that process instance.  Commands are also available to:

  • Suspend the process
  • Resume the process from suspension
  • Terminate the process
  • Delete the history of the process

Within the variables tab, we can see the details of the variables associated with the process:

2014-05-31_19-57-20

 

Note that the Edit and Save buttons are not yet operational.  To be continued ….

Within the Tasks tab, we can see a list of the tasks (completed and in-flight) associated with this process instance.  Selecting a task shows us the details of it including its variables.

2014-07-03_11-55-02

There are also commands available:

  • Claim a task to me
  • Cancel the claim and return it back to the original open team
  • Assign a task to a specific user (not yet implemented)
  • Assign a task to a specific group (not yet implemented)

Documentation

As BPM Explorer becomes richer in function, the documentation for individual panels can be found in their own sections:

Wishlist

It is extremely early days in the existence of this application.  It is safe to say that it is not yet fully baked.  I plan on enhancing it quickly but only when it becomes known that there is a clear interest in its existence.

Wishlist

DateDescription
2014-11-03In the Launch page, show the link that would be opened if the entry were launched.
2014-10-31Provide ability to delete the file that is being watched through log watcher through a context menu.
2014-08-15Add the ability to created saved searches, pull up previous saved searches, delete saved searches and import/export saved searches.
2014-06-21Change REST technology to use Apache HTTP Client.
2014-06-21Examine the prospect of handling cookies.
2014-06-19Provide ability to edit values of variables at process and Task levels.
2014-06-16Ability to save the details of multiple BPM servers and be able to choose which one to use.
2014-06-15Ability to find values within the table by local searching.
2014-06-15Add caching of the process and task details to reduce the number of calls made when retrieving data from the runtime.
2014-06-04In variables tree view, provide an option to allow names and types to be in one column. For example “MyVarName (String)”.

Feedback, problem reports and wishlist submission

There is a thread on the IBM developerWorks BPM forum dedicated to the BPM Explorer application.  The link to it can be found here.  Please feel free to post any problems, feedback or wishlist items to that forum thread and I will respond just as quickly as I can.

Background and History

It is unlikely that there will be anything found within BPM Explorer that you won’t be able to find in the out of the box IBM product.   This then begs the question “Why build this?”.   The answer to that comes with the arrival of the Java 8 release.  This is the latest release of the Java programming environment.  One of the major new features of Java 8 is the incorporation of the user interface technology called “JavaFX” as part of the base Java 8 environment.  Although JavaFX has been around for a while, bundling it with the base Java environment has, in my opinion, supremely solidified it as a stable part of the Java platform.  As a student of different UI environments, I like to be aware of different technologies as they become important and JavaFX was no exception.  As I study a new technology, I like to give myself mini objectives to direct my study.  As I read what JavaFX could do, I was very interested in its “custom component” capabilities.  This is the notion that with JavaFX I can build rich and self contained new building blocks that can then be composed into larger applications.  Having built such building blocks previous in Dojo and GWT in order to provide interaction with IBM BPM, I undertook the same task with JavaFX.  I built building blocks for showing tasks in tables, panels for details of process instances, trees for showing data associated with processes and more.  As I built these out and built a test framework to validate that they were working, I quickly realize that, almost by accident, I had built what has now become BPM Explorer.   As I started to use it myself for examining and debugging BPM projects, I realized that others may be able to find use in it as well.  And here we are.

Wait … a thick application … surely not?

Yup.  The JavaFX technology is used to build thick (or desktop) applications.  Although JavaFX can run within a browser environment, it requires the availability of a Java 8 installation in order to do so.  At this time, I have packaged BPM Explorer exclusively as a stand-alone application (you don’t need to install Java 8 as a pre-requisite in order to use BPM Explorer).  What JavaFX is not is a browser hosted UI platform.  That is left to Dojo, jQuery, Angular and friends.  JavaFX is the UI capability for Java desktop applications.