The Client Applications

OBE comes with several client applications:

CLAdmin

CLAdmin is a simple menu-driven command-line administration tool. You can start CLAdmin by executing the cladmin shell script in $OBE_HOME/bin, as appropriate for your operating system. At present, CLAdmin is the only way to load and manage workflow definitions when you're using the EJBProcessRepository implementation (the default in the J2EE configuration). The BasicProcessRepository, being disk file-based, can be managed using native file management tools and uniform data transfer (UDT) techniques such as copy/paste and drag/drop.

usage: java [<system-property>...] org.obe.admin.CLAdmin [<host-url> [<userid> [<password>]]]
    host-url ::= the URL of the server
    userid ::= the user ID to login as
    password ::= the credentials to pass on login

CLAdmin supports the following operations:

Keystroke Command/Menu Action
1 Set Client Protocol Sets the client protocol to use when connecting to the server.
2 Connect Connects to the server.
3 Disconnect Disconnects from the server.
4 Process Definitions Displays the Process Definitions menu.
1
List Process Definitions
Lists the process definitions currently registered in the ProcessRepository.
2
Change Process Definition State
Changes the state of a specified process definition (enabled|disabled).
3
Import Package
Imports an XPDL package from the specified disk file.
4
Update Package
Updates an existing XPDL package from the specified disk file.
5
Export Package
Exports the specified XPDL package to a disk file.
6
Delete Package
Deletes the specified package.
5 Process Instances Displays the Process Instances menu.
1
List Process Instances
Lists the process instances currently registered in the InstanceRepository.
2
List Process Instance Audit Entries
Lists the audit entries for the specified process instance.
3
List Process Instance Attributes
Lists the attributes for the specified process instance.
4
Show Process Instance Attribute
Displays details of an attribute of the specified process instance.
5
Assign Process Attribute
Assigns a new value to an attribute of the specified process instance.
6
Create Process Instance
Creates a new instance of the specified process definition.
7
Change Process Instance State
Changes the state of a specified process instance (running|suspended|closed).
8
Start a Process Instance
Starts the specified process instance.
9
Delete a Process Instance
Deletes the specified process instance and all of its activities and work items.
a
Delete Process Instances
Deletes all instances of the specified process definition.
6 Activity Instances Displays the Activity Instances menu.
1
List Activity Instances
Lists the activity instances for the specified process instance.
2
List Activity Instance Attributes
Lists the attributes for the specified activity instance.
3
Show Activity Instance Attribute
Displays details of an attribute of the specified activity instance.
4
Change Activity Instance State
Changes the state of a specified activity instance (running|suspended|closed).
7 Worklist Displays the Worklist menu.
1
List Work Items by Activity
Lists the work items for the specified activity instance.
2
List Work Items by Performer
Lists the work items assigned to the specified Performer (defined in the workflow).
3
List Work Items by Participant
Lists the work items assigned to the specified Participant (as resolved to specific security principals at runtime.
4
List Work Items by Process Instance
Lists the work items associated with the specified process instance.
5
List Work Item Attributes
Lists the attributes for the specified work item.
6
Show Work Item Attribute
Displays details of an attribute of the specified work item.
7
Change Work Item State
Changes the state of a specified work item (running|suspended|closed).
8
Execute a Work Item
Executes the specified work item (typically launches any associated tools).
8 Set Logging Level Sets the logging level (info|warning|error|debug).
e Print Last Exception Prints the stack trace of the last exception (if any).
m Menu Redisplays the current menu.
q Quit Quits the application or the current menu, depending on the level.

Here's a screen-shot of CLAdmin:

[adrian@linux bin]$ ./cladmin
OBE client environment established

--- OBE Command Line Administration Console ---

--- Main Menu ---

Enter choice:
1) Set Client Protocol
2) Connect
3) Disconnect
4) Process Definitions
5) Process Instances
6) Activity Instances
7) Worklist
8) Set Logging Level
E) Print Last Exception
M) Redisplay menu
Q) Quit
>


CLWorklist

CLWorklist is a simple menu-driven command-line worklist handler. You can start it by executing the clworklist shell script in $OBE_HOME/bin, as appropriate for your operating system.

usage: java [<system-property>...] org.obe.admin.CLWorklist [<host-url> [<userid> [<password>]]]
    host-url ::= the URL of the server
    userid ::= the user ID to login as
    password ::= the credentials to pass on login


CLWorklist supports the following operations:

Keystroke Command/Menu Action
1 Set Client Protocol Sets the client protocol to use when connecting to the server.
2 Connect Connects to the server.
3 Disconnect Disconnects from the server.
4 Workflow Processes Displays the Process Definitions menu.
1
List Process Definitions
Lists the process definitions currently registered in the ProcessRepository.
3
Create & Start Process Instance
Creates a new instance of the specified workflow and starts it.
4
List Process Instance Audit Entries
Lists the audit entries for the specified process instance.
5
List Process Instance Attributes
Lists the attributes for the specified process instance.
6
Show Process Instance Attribute
Displays details of an attribute of the specified process instance.
5 Worklist Displays the Worklist menu.
1
List Work Items by Performer
Lists the work items assigned to the specified Performer (defined in the workflow).
2
List Work Items by Participant
Lists the work items assigned to the specified Participant (as resolved to specific security principals at runtime.
3
List Work Items by Process Instance
Lists the work items associated with the specified process instance.
4
List Work Item Attributes
Lists the attributes for the specified work item.
5
Show Work Item Attribute
Displays details of an attribute of the specified work item.
6
Change Work Item State
Changes the state of a specified work item (running|suspended|closed).
7
Execute a Work Item
Executes the specified work item (typically launches any associated tools).
6 Set Logging Level Sets the logging level (info|warning|error|debug).
e Print Last Exception Prints the stack trace of the last exception (if any).
m Menu Redisplays the current menu.
q Quit Quits the application or the current menu, depending on the level.

The 'Execute a Work Item' command invokes whatever tool or tools are associated with the work item's activity definition. The tools are invoked by a downloaded Tool Agent, which may interact with the user via the command line, by opening Swing dialogs, or by launching native executable programs, or whatever other interaction technology you may have integrated in a custom Tool Agent implementation.

Here's a screen-shot of CLWorklist in pure console mode, executing a work item that uses the obe.updateProcessAttributes tool to request the user to enter new values for specified process instance attributes:

List work items for PerformerId: guest
 
Work Items:
workItemId name                priority state          participant performer
-----------------------------------------------------------------------------
0          Update Attributes   5        open.running   guest       guest
 
---   Worklist   ---
 
Enter choice:
1) List Work Items by Performer
2) List Work Items by Participant
3) List Work Items by Process Instance
4) List Work Item Attributes
5) Show Work Item Attribute
6) Change Work Item State
7) Execute a Work Item
E) Print Last Exception
M) Redisplay menu
Q) Back to previous menu
> 7
 
Enter work item ID: 0
Update Process Attributes
Enter value for 'String Value' (STRING) [string]: a new string
Enter value for 'Float Value' (FLOAT) [3.14159]: 2.7182814
Enter value for 'Integer Value' (INTEGER) [108]: 666
Enter value for 'Date Value' (DATETIME - yyyy-MM-dd'T'HH:mm:ssZ): 2005-10-16T12:35:22+0100
Enter value for 'Boolean Value' (BOOLEAN) [true]: false
Enter value for 'Performer ID' (PERFORMER) [system]: guest
Enter value for 'Schema Value' (SchemaType - specify XML file to upload):

The obe.updateProcessAttributes tool is also capable of displaying a Swing GUI:

CLWorklist displaying a Swing window

The configuration property obe.client.stdio  determines whether the command line clients use line-oriented console I/O or a Swing GUI for such interactions.

JMSClient

JMSClient is a command-line test application that can be used to read or write to a JMS destination. You can start it by executing the  jmsclient shell script in $OBE_HOME/bin, as appropriate for your operating system. JMSClient can:
usage: jmsclient[-f <msg-file>] [-t <msg-type>] [-p <props-file>] <action> <destination> [<host-url>]

    msg-file ::=
file from which to read the message (default = STDIN)
   
msg-type ::= text | object | bytes | map
    props-file ::= message properties file
    action ::= publish | subscribe | send | receive
    destination ::= topic-name | queue-name
    host-url ::= the URL of the server

    (Specify JMS connection factory JNDI names in obe.properties)


OBEClient

OBEClient is a command-line test application that can be used to start any arbitrary Java program as an OBE client. You can start it by executing the obeclient shell script in $OBE_HOME/bin, supplying the class name and any parameters it requires as arguments.

usage: obeclient<java-class-name> [<args>]...


OBEDesigner

OBEDesigner was an early attempt at creating a graphical process design tool. It is not complete and has received little attention of late. It is included for its illustrative value and in case any components might prove useful as 'spare parts'. You can start it by executing the  designer shell script in $OBE_HOME/bin.

usage: designer[<args>]...

Web-based Worklist Handler

OBE comes with a full-featured Web-based Worklist Handler that's a great tool to use for experimentation and during development. You can start it by pointing your browser at the URL: http://localhost:8080/obeworklist/ (adjusted to suit your application server). The Web Worklist also a good starting point for anyone wishing to integrate a custom worklist handler into their own application. Web Worklist uses the Apache MyFaces open source implementation of JSF 1.1 and as such requires a servlet container that supports JSP 2.0 (such as JBoss 4.x).

Here's a screen-shot of the Web Worklist executing the same work item you saw earlier. As you can see, the obe.updateProcessAttributes tool is also capable of displaying a Web UI. The HTML form has input controls which are appropriate for the type of data requested:

The web worklist displays a popup window containing a form listing all the process attributes to be set, with appropriate GUI widgets for displaying &amp; setting their values.