Author: mcaspers
Date: 2011-01-19 00:44:47 -0500 (Wed, 19 Jan 2011)
New Revision: 28397
Modified:
trunk/jbpm/docs/reference/en-US/tasks.xml
Log:
General Updates
Modified: trunk/jbpm/docs/reference/en-US/tasks.xml
===================================================================
--- trunk/jbpm/docs/reference/en-US/tasks.xml 2011-01-19 04:39:33 UTC (rev 28396)
+++ trunk/jbpm/docs/reference/en-US/tasks.xml 2011-01-19 05:44:47 UTC (rev 28397)
@@ -1,671 +1,577 @@
<?xml version="1.0" encoding="UTF-8"?>
<chapter>
- <?dbhtml filename="jboss_jbpm_runtime_installation.html"?>
- <chapterinfo>
- <keywordset>
- <keyword>jBPM</keyword>
- <keyword>designer</keyword>
- <keyword>process</keyword>
- <keyword>JBoss Developer Studio</keyword>
- <keyword>jBPM runtime</keyword>
- <keyword>JBoss</keyword>
- <keyword>Process</keyword>
- <keyword>Definition</keyword>
- </keywordset>
+ <?dbhtml filename="jboss_jbpm_runtime_installation.html"?>
+ <chapterinfo>
+ <keywordset>
+ <keyword>jBPM</keyword>
+ <keyword>designer</keyword>
+ <keyword>process</keyword>
+ <keyword>JBoss Developer Studio</keyword>
+ <keyword>jBPM runtime</keyword>
+ <keyword>JBoss</keyword>
+ <keyword>Process</keyword>
+ <keyword>Definition</keyword>
+ </keywordset>
- </chapterinfo>
- <title>Tasks</title>
-<section id="jboss_jbpm_runtime_installation">
+ </chapterinfo>
+ <title>Tasks</title>
+ <section id="jboss_jbpm_runtime_installation">
- <title>JBoss jBPM Runtime Installation</title>
- <para>The main purpose of this chapter is to let you know how to launch the
<property>JBoss
- jBPM</property> (business process management).</para>
- <para>The jBPM plugin (jBPM Designer) is already included into the
<property>JBoss Tools</property>.
- To make it work, you should only download the jBPM runtime (<ulink
-
url="http://sourceforge.net/project/showfiles.php?group_id=70542&...
- >jbpm-jpdl-3.2.3</ulink> currently) and specify the directory where
you extracted the runtime
- either when you create a jBPM project or by using the jBPM preference
pages.</para>
-
- <note>
- <title>Note:</title>
- <para>Try to avoid using spaces in the names of installation folders. It
can provoke problems in
- some situations with Sun-based VMs.</para>
- </note>
-
- <para>Navigate to <emphasis>
- <property>Window > Preferences > JBoss jBPM > Runtime
Locations</property>.
- </emphasis> Here you can add, edit and remove JBoss jBPM installation
locations. Click <emphasis>
- <property>Add</property>
- </emphasis> button. In the dialog that appeared enter a name for a newly added
jBPM runtime and
- point to the correct location of this package on your harddrive. Click
<emphasis>
- <property>OK</property>
- </emphasis> then click <emphasis>
- <property>OK</property>
- </emphasis> again.</para>
-
- <figure>
- <title>Adding jBPM Location</title>
- <mediaobject>
- <imageobject>
- <imagedata
fileref="images/runtime_installation/runtime_installation_1.png"/>
- </imageobject>
- </mediaobject>
- </figure>
- <para>Now, when you have a runtime installed, we are going to demonstrate some
powerful features of
- the jBPM.</para>
-</section>
- <section id="GuidedTourJBossjBPMGPD"
xreflabel="GuidedTourJBossjBPMGPD">
- <?dbhtml filename="GuidedTourJBossjBPMGPD.html"?>
+ <title>JBoss jBPM Runtime Installation</title>
+ <para>This chapter describes how to execute <property>JBoss
jBPM</property> (business process management).</para>
+ <para>
+ The jBPM plugin (jBPM Designer) is already included in <property>JBoss
Tools</property>. To run it the jBPM runtime needs to be downloaded (<ulink
url="http://sourceforge.net/project/showfiles.php?group_id=70542&...
currently), and the directory where you extracted the runtime to needs to be specified,
either when you create a jBPM project or through the jBPM preference pages.
+ </para>
- <title>A Guided Tour of JBoss jBPM GPD</title>
- <para>In this chapter we suggest a step-by-step walk-through of creating
and configuring your
- own simple process. Let's try to organize a new jBPM
project.</para>
- <para>A wizard for creating a jBPM project is included in the GPD plugin.
We have opted to
- create a project based on a template already containing a number of advanced
artifacts that
- we will ignore for this section. In the future we will elaborate this wizard
and offer the
- possibility to create an empty jBPM project as well as projects based on
templates taken
- from the jBPM tutorial.</para>
- <section id="CreatingjBPMProject">
- <?dbhtml filename="CreatingjBPMProject.html"?>
- <title>Creating a jBPM Project</title>
- <para>This section will show you how to use the Creation wizard for
creating a new jBPM
- project with already included source folders.</para>
- <para>At first you should select <emphasis>
- <property>File >New Project...</property>
- </emphasis> and then <emphasis>
- <property>JBoss jBPM > Process Project</property>
- </emphasis> in the New Project dialog:</para>
- <figure>
- <title>New Project Dialog</title>
- <mediaobject>
- <imageobject>
- <imagedata
fileref="images/guided_tour_jboss_jbpmgpd/guided_tour_1.png"/>
- </imageobject>
- </mediaobject>
- </figure>
- <para> Clicking <emphasis>
- <property>Next</property>
- </emphasis> brings us to the wizard page where it's necessary
to specify the
- name and location for the project. We choose, for example,
<emphasis>
- <property>HellojBPM</property>
- </emphasis> as the name and accept the default location.
</para>
- <figure>
- <title>Process Name and Location</title>
- <mediaobject>
- <imageobject>
- <imagedata
fileref="images/guided_tour_jboss_jbpmgpd/guided_tour_2.png"/>
- </imageobject>
- </mediaobject>
- </figure>
- <para>Thus, our project will be created in the workspace root directory
by default. If you
- want to change the directory for your future project, deselect
<emphasis>
- <property>Use default location</property>
- </emphasis> and click <emphasis>
- <property>Browse...</property>
- </emphasis> button to set needed location or simply type
it.</para>
- <para>On the next screen you'll be prompted to select the core
jBPM location that
- we have defined in the previous chapter.</para>
- <figure>
- <title>Core jBPM Location Specifying</title>
- <mediaobject>
- <imageobject>
- <imagedata
fileref="images/guided_tour_jboss_jbpmgpd/guided_tour_9.png"/>
- </imageobject>
- </mediaobject>
- </figure>
- <para>Clicking on <emphasis>
- <property>Finish</property>
- </emphasis> results in the project being generated. The wizard creates
four source
- folders: one for the processes (<emphasis>
- <property>src/main/jpdl</property>
- </emphasis>), one for the java sources (<emphasis>
- <property>src/main/java</property>
- </emphasis>), one for the unit tests (<emphasis>
- <property>src/test/java</property>
- </emphasis>) and one for the resources such as the jbpm.properties
and the
- hibernate.properties files (<emphasis>
- <property>src/main/config</property>
- </emphasis>). In addition a classpath container with all the core
jBPM libraries is
- added to the project</para>
- <figure>
- <title>Layout of the Process Project</title>
- <mediaobject>
- <imageobject>
- <imagedata
fileref="images/guided_tour_jboss_jbpmgpd/guided_tour_3.png"/>
- </imageobject>
- </mediaobject>
- </figure>
- <para>Looking inside the different source folders will reveal a number
of other artifacts
- that were generated, but we will leave these untouched for the moment.
Instead, we will
- look at another wizard that enables us to create an empty process
definition.</para>
- </section>
- <section id="creating_an_empty_process_definition">
- <?dbhtml
filename="creating_an_empty_process_definition.html"?>
- <title>Creating an Empty Process Definition</title>
- <para>Now when the project is set up, we can use a Creation wizard to
create an empty
- process definition. Bring up the <emphasis>
- <property>New</property>
- </emphasis> wizard by clicking the <emphasis>
- <property>File > New > Other...</property>
- </emphasis> menu item. The wizard opens on the <emphasis>
- <property>Select Wizard</property>
- </emphasis> page.</para>
- <figure>
- <title>The Select Wizard Page</title>
- <mediaobject>
- <imageobject>
- <imagedata
fileref="images/guided_tour_jboss_jbpmgpd/guided_tour_4.png"/>
- </imageobject>
- </mediaobject>
- </figure>
- <para>Selecting the <emphasis>
- <property>JBoss jBPM</property>
- </emphasis> category, then the <emphasis>
- <property>Process Definition</property>
- </emphasis> item and clicking on the <emphasis>
- <property>Next</property>
- </emphasis> button brings us to the <emphasis>
- <property>Create Process Definition</property>
- </emphasis> page.</para>
- <figure>
- <title>The Create New Process Defining Page</title>
- <mediaobject>
- <imageobject>
- <imagedata
fileref="images/guided_tour_jboss_jbpmgpd/guided_tour_5.png"/>
- </imageobject>
- </mediaobject>
- </figure>
- <para>We choose <emphasis>
- <property>hello</property>
- </emphasis> as the name of the process archive file. Click on the
<emphasis>
- <property>Finish</property>
- </emphasis> button to end the wizard and open the process definition
editor.</para>
- <figure>
- <title>The Process Definition Editor</title>
- <mediaobject>
- <imageobject>
- <imagedata
fileref="images/guided_tour_jboss_jbpmgpd/guided_tour_6.png"
- scale="60"/>
- </imageobject>
- </mediaobject>
- </figure>
-
-
- <para>You can see in the Package Explorer that creating a process
definition involves
- creating a folder with the name of the process definition and populating
this folder
- with two .xml files : <emphasis>
- <property>gpd.xml</property>
- </emphasis> , <emphasis>
- <property>processdefinition.xml</property>
</emphasis> and a .jpg file:<emphasis>
-
<property>processimage.jpg</property></emphasis>.</para>
- <para>The <emphasis>
- <property>gpd.xml</property>
- </emphasis> contains the graphical information used by the process
definition editor.
- The <emphasis>
- <property>processdefinition.xml</property>
- </emphasis> file contains the actual process definition info.
- The graphical view of the process is automatically saved in
<emphasis>
- <property>processimage.jpg</property>
- </emphasis>file.
- At present, the GPD assumes that these three files are siblings. More
- sophisticated configuration will be supported later.</para>
-
- <section id="minimal_process_definition">
- <?dbhtml filename="minimal_process_definition.html"?>
- <title>A Minimal Process Definition</title>
- <para>Now we are ready to create a very simple process definition
consisting of a begin
- state, an intermediate state and an end state.</para>
- <para>To make the configuration of actions much easier
it's better to use the
- <emphasis>><property>"jBPM jPDL
3"</property></emphasis> perspective. It provides the tabbed Properties
Editor which allows to configure
- all the relevant properties of the current selected item.
</para>
-
- <section id="adding_the_nodes">
- <?dbhtml filename="adding_the_nodes.html"?>
- <title>Adding the Nodes</title>
- <para>At first select respectively <emphasis>
- <property>Start</property>, </emphasis>
- <emphasis>
- <property>State</property>
- </emphasis> and <emphasis>
- <property>End</property>
- </emphasis> on the tools palette and click on the canvas to
add these nodes to
- the process definition. The result should look similar to
this:</para>
- <figure>
- <title>A Simple Process With Three Nodes</title>
- <mediaobject>
- <imageobject>
- <imagedata
fileref="images/guided_tour_jboss_jbpmgpd/guided_tour_7.png"
- scale="60"/>
- </imageobject>
- </mediaobject>
- </figure>
- </section>
- <section id="adding_transitions">
- <?dbhtml filename="adding_transitions.html"?>
- <title>Adding Transitions</title>
- <para>Then, we will connect the nodes with transitions. To do
that select the <emphasis>
- <property>Transition</property>
- </emphasis> tool in the tools palette and click on the
<emphasis>
- <property>Start</property>
- </emphasis> node, then move to the <emphasis>
- <property>State</property>
- </emphasis> node and click again to see the transition being
drawn. Perform the
- same steps to create a transition from the <emphasis>
- <property>State</property>
- </emphasis> node to the <emphasis>
- <property>End</property>
- </emphasis> node. The result will look like:</para>
- <figure>
- <title>A Simple Process With Transitions</title>
- <mediaobject>
- <imageobject>
- <imagedata
fileref="images/guided_tour_jboss_jbpmgpd/guided_tour_8.png"
- scale="60"/>
- </imageobject>
- </mediaobject>
- </figure>
- <para>Now, when you've got background knowledge of
simple project creation,
- let's move to more advanced tools.</para>
- </section>
- </section>
- </section>
- </section>
- <section id="The_JBoss_jBPM_Int_Mech"
xreflabel="The_JBoss_jBPM_Int_Mech">
- <?dbhtml filename="The_JBoss_jBPM_Int_Mech.html"?>
+ <note>
+ <title>Note:</title>
+ <para>Try to avoid using spaces in the names of installation folders. It can
cause problems with Sun based VMs.</para>
+ </note>
- <title>Actions : The JBoss jBPM Integration Mechanism</title>
+ <para>Select
<menuchoice><guimenuitem>Window</guimenuitem><guimenuitem>Preferences</guimenuitem><guimenuitem>JBoss
jBPM</guimenuitem><guimenuitem>Runtime
Locations</guimenuitem></menuchoice>. Here you can add, edit and remove JBoss
jBPM installation locations. Click the <guibutton>Add</guibutton> button. In
the subsequent dialog box enter a name for a newly added jBPM runtime and point to the
correct location of this package on your file system. Click the
<guibutton>OK</guibutton> button twice to save the changes.
+
+ <figure>
+ <title>Adding jBPM Location</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata
fileref="images/runtime_installation/runtime_installation_1.png"/>
+ </imageobject>
+ </mediaobject>
+ </figure>
+ <para>Now that a runtime has been installed, some of the powerful features of the
jBPM can be demonstrated.</para>
+ </section>
+ <section id="GuidedTourJBossjBPMGPD"
xreflabel="GuidedTourJBossjBPMGPD">
+ <?dbhtml filename="GuidedTourJBossjBPMGPD.html"?>
+
+ <title>A Guided Tour of JBoss jBPM GPD</title>
+ <para>
+ This chapter will present a step-by-step walk-through demonstrating how to create and
configure a simple process. First, let's try to organize a new jBPM project.
+ </para>
+ <para>
+ A wizard for creating a jBPM project is included in the GPD plugin. We have opted to
create a project based on a template already containing a number of advanced artifacts
that we will ignore for this section. In the future we will elaborate this wizard and
offer the possibility to create an empty jBPM project as well as projects based on
templates taken from the jBPM tutorial.
+ </para>
+ <section id="CreatingjBPMProject">
+ <?dbhtml filename="CreatingjBPMProject.html"?>
+ <title>Creating a jBPM Project</title>
+ <para>This section will show you how to use the Creation wizard to create a new
jBPM project that includes the required source folders.</para>
+ <para>
+ At first you should select
<menuchoice><guimenuitem>File</guimenuitem><guimenuitem>New
Project...</guimenuitem></menuchoice> and then
<menuchoice><guimenuitem>JBoss
jBPM</guimenuitem><guimenuitem>Process
Project</guimenuitem></menuchoice> in the New Project dialog:
+ </para>
+ <figure>
+ <title>New Project Dialog</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata
fileref="images/guided_tour_jboss_jbpmgpd/guided_tour_1.png"/>
+ </imageobject>
+ </mediaobject>
+ </figure>
+ <para>
+ Clicking the <guibutton>Next</guibutton> button brings us to the wizard
page where the name and location for the project are specified. We choose, for example,
<emphasis><property>HellojBPM</property></emphasis> as the name
and accept the default location.
+ </para>
+ <figure>
+ <title>Process Name and Location</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata
fileref="images/guided_tour_jboss_jbpmgpd/guided_tour_2.png"/>
+ </imageobject>
+ </mediaobject>
+ </figure>
+ <para>
+ The project will be created in the workspace root directory by default. If you want
to change the directory for your future project, deselect
<emphasis><property>Use default location</property></emphasis> and
click the <guibutton>Browse...</guibutton> button to set desired location, or
simply enter the location manually.
+ </para>
+ <para>On the next screen you will be prompted to select the core jBPM location
that we have defined in the previous chapter.</para>
+ <figure>
+ <title>Core jBPM Location Specifying</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata
fileref="images/guided_tour_jboss_jbpmgpd/guided_tour_9.png"/>
+ </imageobject>
+ </mediaobject>
+ </figure>
+ <para>
+ Clicking on the <guibutton>Finish</guibutton> button results in the
project being generated. The wizard creates four source folders: one for the processes
(<filename>src/main/jpdl</filename>), one for the java sources
(<filename>src/main/java</filename>), one for the unit tests
(<filename>src/test/java</filename>) and one for the resources such as the
<filename>jbpm.properties</filename> and the
<filename>hibernate.properties</filename> files
(<filename>src/main/config</filename>). In addition a classpath container with
all the core jBPM libraries is added to the project
+ </para>
+ <figure>
+ <title>Layout of the Process Project</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata
fileref="images/guided_tour_jboss_jbpmgpd/guided_tour_3.png"/>
+ </imageobject>
+ </mediaobject>
+ </figure>
+ </section>
+ <section id="creating_an_empty_process_definition">
+ <?dbhtml filename="creating_an_empty_process_definition.html"?>
+ <title>Creating an Empty Process Definition</title>
+ <para>
+ Now when the project is set up, we can use a Creation wizard to create an empty
process definition. Bring up the
<emphasis><property>New</property></emphasis> wizard by selecting
<menuchoice><guimenuitem>File</guimenuitem><guimenuitem>New</guimenuitem><guimenuitem>Other...</guimenuitem></menuchoice>.
The wizard opens on the <emphasis><property>Select
Wizard</property></emphasis> page.
+ </para>
+ <figure>
+ <title>The Select Wizard Page</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata
fileref="images/guided_tour_jboss_jbpmgpd/guided_tour_4.png"/>
+ </imageobject>
+ </mediaobject>
+ </figure>
+ <para>
+ Selecting the <emphasis><property>JBoss
jBPM</property></emphasis> category, then the
<emphasis><property>Process Definition</property></emphasis> item
and clicking on the <guibutton>Next</guibutton> button brings us to the
<emphasis><property>Create Process
Definition</property></emphasis> page.
+ </para>
+ <figure>
+ <title>The Create New Process Defining Page</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata
fileref="images/guided_tour_jboss_jbpmgpd/guided_tour_5.png"/>
+ </imageobject>
+ </mediaobject>
+ </figure>
+ <para>
+ We choose <emphasis><property>hello</property></emphasis> as
the name of the process archive file. Click on the
<emphasis><property>Finish</property></emphasis> button to end the
wizard and open the process definition editor.
+ </para>
+ <figure>
+ <title>The Process Definition Editor</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata
fileref="images/guided_tour_jboss_jbpmgpd/guided_tour_6.png"
scale="60"/>
+ </imageobject>
+ </mediaobject>
+ </figure>
- <para> In this chapter we will show how to do software integration with
<property>JBoss
+ <para>
+ You can see in the Package Explorer that creating a process definition involves
creating a folder with the name of the process definition and populating this folder with
two .xml files : <filename>gpd.xml</filename> ,
<filename>processdefinition.xml</filename> and a .jpg file:
<filename>processimage.jpg</filename>.
+ </para>
+ <para>
+ The <filename>gpd.xml</filename> file contains the graphical information
used by the process definition editor. The
<filename>processdefinition.xml</filename> file contains the actual process
definition info. The graphical view of the process is automatically saved in the
<filename>processimage.jpg</filename> file. At present, the GPD assumes that
these three files are siblings. More sophisticated configuration will be supported later.
+ </para>
+
+ <section id="minimal_process_definition">
+ <?dbhtml filename="minimal_process_definition.html"?>
+ <title>A Minimal Process Definition</title>
+ <para>Now we are ready to create a very simple process definition consisting of
a begin state, an intermediate state and an end state.</para>
+ <para>
+ The <guilabel>jBPM jPDL 3</guilabel> perspective should be used to aid
in the configuration of the actions. It provides the tabbed <guilabel>Properties
Editor</guilabel> view which provides a way to configure all the relevant properties
of the current selected item.
+ </para>
+
+ <section id="adding_the_nodes">
+ <?dbhtml filename="adding_the_nodes.html"?>
+ <title>Adding the Nodes</title>
+ <para>
+ Add the <emphasis><property>Start</property>,
</emphasis><emphasis><property>State</property></emphasis>
and <emphasis><property>End</property></emphasis> nodes to the
process definition by selecting the appropiate option from the tools palette and clicking
on the canvas. The result should look similar to this:
+ </para>
+ <figure>
+ <title>A Simple Process With Three Nodes</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata
fileref="images/guided_tour_jboss_jbpmgpd/guided_tour_7.png"
scale="60"/>
+ </imageobject>
+ </mediaobject>
+ </figure>
+ </section>
+ <section id="adding_transitions">
+ <?dbhtml filename="adding_transitions.html"?>
+ <title>Adding Transitions</title>
+ <para>
+ The nodes then need to be connected with transitions. To do that select the
<emphasis><property>Transition</property></emphasis> tool in the
tools palette and click on the
<emphasis><property>Start</property></emphasis> node, then move to
the <emphasis><property>State</property></emphasis> node and click
again to see the transition being drawn. Perform the same steps to create a transition
from the <emphasis><property>State</property></emphasis> node to
the <emphasis><property>End</property></emphasis> node. The result
will look like:
+ </para>
+ <figure>
+ <title>A Simple Process With Transitions</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata
fileref="images/guided_tour_jboss_jbpmgpd/guided_tour_8.png"
scale="60"/>
+ </imageobject>
+ </mediaobject>
+ </figure>
+ <para>Now, when you've got background knowledge of simple project
creation,
+ let's move to more advanced tools.</para>
+ </section>
+ </section>
+ </section>
+ </section>
+ <section id="The_JBoss_jBPM_Int_Mech"
xreflabel="The_JBoss_jBPM_Int_Mech">
+ <?dbhtml filename="The_JBoss_jBPM_Int_Mech.html"?>
+
+ <title>Actions : The JBoss jBPM Integration Mechanism</title>
+
+ <para> In this chapter we will show how to do software integration with
<property>JBoss
jBPM</property>. The standard mechanism to implement this is to wrap
the functionality you
want to integrate in a class that implements the <emphasis>
<property>ActionHandler</property>
- </emphasis> interface. In order to demonstrate it let's specify
Hello World action for our
+ </emphasis> interface. In order to demonstrate it let's specify Hello World
action for our
process.</para>
-
- <section>
- <title>Creating a Hello World Action</title>
-
- <para>Each Hello World process should integrate one or more Hello World
actions, so this is
+
+ <section>
+ <title>Creating a Hello World Action</title>
+
+ <para>Each Hello World process should integrate one or more Hello World actions,
so this is
what we will be doing. We can integrate custom code at different points
in the process
definition. To do this we have to specify an action handler, represented
by an
implementation of the <emphasis>
<property>ActionHandler</property>
- </emphasis> interface, and attach this piece of code to a
particular event. These events
+ </emphasis> interface, and attach this piece of code to a particular event.
These events
are amongst others, going over a transition, leaving or entering nodes,
after and before
signalling. </para>
-
- <para> To make things a little bit more concrete, let's create
a new class called <emphasis>
+
+ <para> To make things a little bit more concrete, let's create a new
class called <emphasis>
<property>HelloActionHandler</property>.
</emphasis> For that firstly we'll create a new package
<emphasis>
<property>com.jbay.action</property>
- </emphasis> in the <emphasis>
+ </emphasis> in the <emphasis>
<property>src/java/main</property>
- </emphasis> folder of our project. Then, we should call New Class
Creation wizard as
+ </emphasis> folder of our project. Then, we should call New Class Creation
wizard as
usual by right-clicking and navigating <emphasis>
<property>New > Class</property>.
- </emphasis> </para>
-
- <figure>
- <title>Creating HelloActionHendler Class</title>
-
- <mediaobject>
- <imageobject>
- <imagedata
fileref="images/The_JBoss_jBPM_Int_Mech/jboss_jbpm_int_mech_1.png"/>
- </imageobject>
- </mediaobject>
- </figure>
-
- <para>Notice that two first gaps have been filled automatically. Here,
instead of <emphasis>
+ </emphasis>
+ </para>
+
+ <figure>
+ <title>Creating HelloActionHendler Class</title>
+
+ <mediaobject>
+ <imageobject>
+ <imagedata
fileref="images/The_JBoss_jBPM_Int_Mech/jboss_jbpm_int_mech_1.png"/>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <para>Notice that two first gaps have been filled automatically. Here, instead
of <emphasis>
<property>Package</property>
- </emphasis> option <emphasis>
+ </emphasis> option <emphasis>
<property>Enclose type</property>
- </emphasis> option can be selected where a type in which to enclose a
new class should
+ </emphasis> option can be selected where a type in which to enclose a new class
should
be specified.</para>
-
- <para>In our case, we leave everything as it is, just type
<emphasis>
+
+ <para>In our case, we leave everything as it is, just type <emphasis>
<property>HelloActionHandler</property>
- </emphasis> as a name of new class and add <emphasis>
+ </emphasis> as a name of new class and add <emphasis>
<property>org.jbpm.graph.ActionHendler</property>
- </emphasis> interface as it's shown in the picture
above.</para>
-
- <para>Thus, our <emphasis>
+ </emphasis> interface as it's shown in the picture
above.</para>
+
+ <para>Thus, our <emphasis>
<property>HelloActionHandler</property>
- </emphasis> implements the <emphasis>
+ </emphasis> implements the <emphasis>
<property>ActionHandler</property>
- </emphasis> interface including the <emphasis>
+ </emphasis> interface including the <emphasis>
<property>execute</property>
- </emphasis> method as shown in the next figure. Here, we add a variable
named <emphasis>
+ </emphasis> method as shown in the next figure. Here, we add a variable named
<emphasis>
<property>greeting</property>
- </emphasis> to the collection of process variables and put a
message in it :
+ </emphasis> to the collection of process variables and put a message in it
:
<emphasis>"Hello from
ActionHandler"</emphasis>. </para>
-
- <figure>
- <title>A Simple Hello Action</title>
-
- <mediaobject>
- <imageobject>
- <imagedata
fileref="images/The_JBoss_jBPM_Int_Mech/jboss_jbpm_int_mech_2.png"
scale="75"/>
- </imageobject>
- </mediaobject>
- </figure>
-
- <para>Now, as we have <emphasis>
+
+ <figure>
+ <title>A Simple Hello Action</title>
+
+ <mediaobject>
+ <imageobject>
+ <imagedata
fileref="images/The_JBoss_jBPM_Int_Mech/jboss_jbpm_int_mech_2.png"
scale="75"/>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <para>Now, as we have <emphasis>
<property>HelloActionHandler</property>
- </emphasis> class defined, let's explore how we can handle
it.</para>
- </section>
-
- <section>
- <title>Integrating the Hello World Action</title>
-
- <para>The main purpose of this chapter is to provide you with the steps
associating our
+ </emphasis> class defined, let's explore how we can handle
it.</para>
+ </section>
+
+ <section>
+ <title>Integrating the Hello World Action</title>
+
+ <para>The main purpose of this chapter is to provide you with the steps
associating our
Hello World action with a particular event and test the correctness of
our actions as
well.</para>
-
- <para> As good Testcity citizens we will first create a Unit Test that
proves the behaviour
+
+ <para> As good Testcity citizens we will first create a Unit Test that proves
the behaviour
we want to achieve by adding the <emphasis>
<property>ActionHandler</property>
- </emphasis> to the process. So we implement another
test.</para>
-
- <para>At first, let's return to the
+ </emphasis> to the process. So we implement another test.</para>
+
+ <para>At first, let's return to the
code we already saw <!--<xref
linkend="hello_test">-->in the previous chapter and add new test method
<emphasis>
- <property>testActionHendler</property></emphasis>
to it. </para>
-
- <figure>
- <title>Create the Hello Action Test</title>
-
- <mediaobject>
- <imageobject>
- <imagedata
fileref="images/The_JBoss_jBPM_Int_Mech/jboss_jbpm_int_mech_3.png"
- scale="75"/>
- </imageobject>
- </mediaobject>
- </figure>
-
- <para>We assert
+ <property>testActionHendler</property>
+ </emphasis> to it. </para>
+
+ <figure>
+ <title>Create the Hello Action Test</title>
+
+ <mediaobject>
+ <imageobject>
+ <imagedata
fileref="images/The_JBoss_jBPM_Int_Mech/jboss_jbpm_int_mech_3.png"
scale="75"/>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <para>We assert
that no variable called <emphasis>
<property>greeting</property>
- </emphasis> exist. Then we give the process a signal to move it to
the auction state. We
+ </emphasis> exist. Then we give the process a signal to move it to the auction
state. We
want to associate the execution of the action with the event of going
over the
transition from the start state to the auction state. So after the
signal, the process
should be in the auction state as in the previous scenario. But moreover,
the <emphasis>
<property>greeting</property>
- </emphasis> variable should exist and contain the string
<emphasis>"Hello from
+ </emphasis> variable should exist and contain the string
<emphasis>"Hello from
ActionHandler"</emphasis>. That's what we
assert in the last lines of the test
method.</para>
-
- <para> Running the tests now results in a failure. The point is that we
did not associate
+
+ <para> Running the tests now results in a failure. The point is that we did not
associate
the action with any particular event in the process definition, so the
process variable
did not get set. </para>
-
- <figure>
- <title>Test Results Before Integration</title>
-
- <mediaobject>
- <imageobject>
- <imagedata
fileref="images/The_JBoss_jBPM_Int_Mech/jboss_jbpm_int_mech_4.png"
- scale="75"/>
- </imageobject>
- </mediaobject>
- </figure>
-
- <para> Let's do something about it and add an action to the
first transition of our
+
+ <figure>
+ <title>Test Results Before Integration</title>
+
+ <mediaobject>
+ <imageobject>
+ <imagedata
fileref="images/The_JBoss_jBPM_Int_Mech/jboss_jbpm_int_mech_4.png"
scale="75"/>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <para> Let's do something about it and add an action to the first
transition of our
sample process. To do this you can use the Actions tab in the Properties
Editor that is
under the graphical canvas. Bring up the popup menu of the action element
container and
chose New Action as it's shown on the figure below. The other way to
add an action
to the transition is simply to use the dropdown menu that is available
under the action
icon in the right upper corner of the Properties View.</para>
-
- <figure>
- <title>Adding an Action to a Transition</title>
-
- <mediaobject>
- <imageobject>
- <imagedata
fileref="images/The_JBoss_jBPM_Int_Mech/jboss_jbpm_int_mech_5.png"
scale="80"/>
- </imageobject>
- </mediaobject>
- </figure>
-
- <para>After adding the action a tabbed view with three pages will
appear.</para>
-
- <figure>
- <title>Configuration Dialog for an Action</title>
-
- <mediaobject>
- <imageobject>
- <imagedata
fileref="images/The_JBoss_jBPM_Int_Mech/jboss_jbpm_int_mech_6.png"
scale="80"/>
- </imageobject>
- </mediaobject>
- </figure>
-
- <para>The first of these three pages allows you to give the Action a
name. The last page
+
+ <figure>
+ <title>Adding an Action to a Transition</title>
+
+ <mediaobject>
+ <imageobject>
+ <imagedata
fileref="images/The_JBoss_jBPM_Int_Mech/jboss_jbpm_int_mech_5.png"
scale="80"/>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <para>After adding the action a tabbed view with three pages will
appear.</para>
+
+ <figure>
+ <title>Configuration Dialog for an Action</title>
+
+ <mediaobject>
+ <imageobject>
+ <imagedata
fileref="images/The_JBoss_jBPM_Int_Mech/jboss_jbpm_int_mech_6.png"
scale="80"/>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <para>The first of these three pages allows you to give the Action a name. The
last page
contains some advanced attributes such as whether the Action is
asynchronous. The
Details page is the most important. It allows to choose and configure the
actual action
handler implementation. </para>
+
+ <figure>
+ <title>The Details page of an Action Configuration Dialog</title>
+
+ <mediaobject>
+ <imageobject>
+ <imagedata
fileref="images/The_JBoss_jBPM_Int_Mech/jboss_jbpm_int_mech_7.png"
scale="80"/>
+ </imageobject>
+ </mediaobject>
+ </figure>
- <figure>
- <title>The Details page of an Action Configuration
Dialog</title>
-
- <mediaobject>
- <imageobject>
- <imagedata
fileref="images/The_JBoss_jBPM_Int_Mech/jboss_jbpm_int_mech_7.png"
scale="80"/>
- </imageobject>
- </mediaobject>
- </figure>
-
-
- <para>Clicking on the <emphasis>
+
+ <para>Clicking on the <emphasis>
<property>Search...</property>
- </emphasis> button brings us to a Choose Class dialog.</para>
+ </emphasis> button brings us to a Choose Class dialog.</para>
+
+ <figure>
+ <title>The Choose Action Handler Dialog</title>
+
+ <mediaobject>
+ <imageobject>
+ <imagedata
fileref="images/The_JBoss_jBPM_Int_Mech/jboss_jbpm_int_mech_8.png"/>
+ </imageobject>
+ </mediaobject>
+ </figure>
- <figure>
- <title>The Choose Action Handler Dialog</title>
-
- <mediaobject>
- <imageobject>
- <imagedata
fileref="images/The_JBoss_jBPM_Int_Mech/jboss_jbpm_int_mech_8.png"/>
- </imageobject>
- </mediaobject>
- </figure>
-
-
- <para> We choose our previously created
'HelloActionHandler' class and
+
+ <para> We choose our previously created 'HelloActionHandler'
class and
push the <property>OK</property> button. After the selection
of the action handler for
the action, we can run the test and observe it gives us a green
light.</para>
-
- <figure>
- <title>Test Results</title>
-
- <mediaobject>
- <imageobject>
- <imagedata
fileref="images/The_JBoss_jBPM_Int_Mech/jboss_jbpm_int_mech_9.png"
- scale="70"/>
- </imageobject>
- </mediaobject>
- </figure>
-
- <para>There we are. The above objective has been
achieved.</para>
- </section>
-
- <section>
- <title> Integration Points</title>
-
- <para> The different integration points in a process definition are
thoroughly documented in
- the <ulink
-
url="http://docs.jboss.com/jbpm/v3/userguide/">JBoss
jBPM User Guide</ulink>. Instance nodes can contain many action
+
+ <figure>
+ <title>Test Results</title>
+
+ <mediaobject>
+ <imageobject>
+ <imagedata
fileref="images/The_JBoss_jBPM_Int_Mech/jboss_jbpm_int_mech_9.png"
scale="70"/>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <para>There we are. The above objective has been achieved.</para>
+ </section>
+
+ <section>
+ <title> Integration Points</title>
+
+ <para> The different integration points in a process definition are thoroughly
documented in
+ the <ulink
url="http://docs.jboss.com/jbpm/v3/userguide/">JBoss jBPM User
Guide</ulink>. Instance nodes can contain many action
elements. Each of these will appear in the Action element list of the
Actions tab. But
each Action also has a properties view of itself. You can navigate to
this view by
selecting the added Action in the outline view. </para>
-
- </section>
- </section>
- <section id="Quick_Howto_Guide"
xreflabel="Quick_Howto_Guide">
- <?dbhtml filename="Quick_Howto_Guide.html"?>
-
- <title>Quick Howto Guide</title>
-
- <para>This chapter contains additional information related to the
<property>JBoss
+
+ </section>
+ </section>
+ <section id="Quick_Howto_Guide"
xreflabel="Quick_Howto_Guide">
+ <?dbhtml filename="Quick_Howto_Guide.html"?>
+
+ <title>Quick Howto Guide</title>
+
+ <para>This chapter contains additional information related to the
<property>JBoss
jBPM</property>.</para>
-
- <section id="change_core_jbpm_inst">
- <title>Change the Default Core jBPM Installation</title>
-
- <para> You can change the default <property>jBPM</property>
installation by means of the
+
+ <section id="change_core_jbpm_inst">
+ <title>Change the Default Core jBPM Installation</title>
+
+ <para> You can change the default <property>jBPM</property>
installation by means of the
Eclipse preference mechanism. Open the Preferences dialog by selecting
<emphasis>
<property>Window > Preferences</property>
- </emphasis> and select the <emphasis>
+ </emphasis> and select the <emphasis>
<property>JBoss jBPM > Runtime
Location</property>
- </emphasis> category. Using this page you can add multiple
<property>jBPM</property>
+ </emphasis> category. Using this page you can add multiple
<property>jBPM</property>
installation locations and change the default one. The default
installation is used for
the classpath settings when creating a new Process Project. Changing the
preferences has
no influence on already created projects. Getting rid of a
<property>jBPM</property>
installation that's being referenced by a project however will
cause the
classpath to contain errors. </para>
-
- <figure>
- <title>The jBPM Preferences Page</title>
-
- <mediaobject>
- <imageobject>
- <imagedata
fileref="images/Quick_Howto_Guide/quick_howto_guide_1.png"/>
- </imageobject>
- </mediaobject>
- </figure>
- </section>
-
- <section>
- <title>Configuring Task Nodes</title>
-
- <para>Here, we'll examine how you can configure the Task nodes
in jBPM jPDL GPD.</para>
-
- <para> You can add Tasks to Task nodes and then configure them in a
similar manner as the
+
+ <figure>
+ <title>The jBPM Preferences Page</title>
+
+ <mediaobject>
+ <imageobject>
+ <imagedata
fileref="images/Quick_Howto_Guide/quick_howto_guide_1.png"/>
+ </imageobject>
+ </mediaobject>
+ </figure>
+ </section>
+
+ <section>
+ <title>Configuring Task Nodes</title>
+
+ <para>Here, we'll examine how you can configure the Task nodes in jBPM
jPDL GPD.</para>
+
+ <para> You can add Tasks to Task nodes and then configure them in a similar
manner as the
Action configuration mechanism. Let's consider the process
definition similar
to the previous one that contains three nodes: Start state, Task node and
End state. The
<property>Properties view</property> for selected Task node
includes several tabs. </para>
-
- <figure>
- <title>The Properties View of the selected Task Node</title>
- <mediaobject>
- <imageobject>
- <imagedata
fileref="images/Quick_Howto_Guide/quick_howto_guide_2.png"
- scale="75"/>
- </imageobject>
- </mediaobject>
- </figure>
-
- <para>We should choose the Task tab and then bring up the context menu
or click the button
+
+ <figure>
+ <title>The Properties View of the selected Task Node</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/Quick_Howto_Guide/quick_howto_guide_2.png"
scale="75"/>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <para>We should choose the Task tab and then bring up the context menu or click
the button
in the top right corner of the view to add a Task to our Task
node.</para>
-
- <figure>
- <title>Adding a Task to the Task Node</title>
- <mediaobject>
- <imageobject>
- <imagedata
fileref="images/Quick_Howto_Guide/quick_howto_guide_3.png"
- scale="80"/>
- </imageobject>
- </mediaobject>
- </figure>
-
- <para>Every added Task has its own configuration possibilities. You can
access them through
+
+ <figure>
+ <title>Adding a Task to the Task Node</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/Quick_Howto_Guide/quick_howto_guide_3.png"
scale="80"/>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <para>Every added Task has its own configuration possibilities. You can access
them through
the <property>Properties view</property> as
well.</para>
-
- <figure>
- <title>The Task properties</title>
- <mediaobject>
- <imageobject>
- <imagedata
fileref="images/Quick_Howto_Guide/quick_howto_guide_4.png"
- scale="80"/>
- </imageobject>
- </mediaobject>
- </figure>
-
- <para>The <property>General page</property> is a place
where you can specify the name of a
+
+ <figure>
+ <title>The Task properties</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/Quick_Howto_Guide/quick_howto_guide_4.png"
scale="80"/>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <para>The <property>General page</property> is a place where you can
specify the name of a
Task and its description. For instance, let it be <emphasis>
<property>approve oder</property>
- </emphasis> with appropriate description that you can see in the
figure below.</para>
-
- <figure>
- <title>The Task General Page</title>
- <mediaobject>
- <imageobject>
- <imagedata
fileref="images/Quick_Howto_Guide/quick_howto_guide_5.png"
- scale="80"/>
- </imageobject>
- </mediaobject>
- </figure>
-
- <para>Now, look at <property>Details page</property>.
First, you should specify the due date
+ </emphasis> with appropriate description that you can see in the figure
below.</para>
+
+ <figure>
+ <title>The Task General Page</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/Quick_Howto_Guide/quick_howto_guide_5.png"
scale="80"/>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <para>Now, look at <property>Details page</property>. First, you
should specify the due date
that is a mandatory property for the Task. The due date is the date on
which the task
should be accomplished. Here you can also set a Task priority as well as
signalling,
notifying or blocking. The <emphasis>
<property>Blocking</property>
- </emphasis> attribute indicates that the process will not be able
to continue if this
+ </emphasis> attribute indicates that the process will not be able to continue
if this
task is still unaccomplished. The <emphasis>
<property>Generate Form...</property>
- </emphasis> button is for creating a simple task form that can be
rendered by the jBPM
+ </emphasis> button is for creating a simple task form that can be rendered by
the jBPM
console.</para>
-
- <figure>
- <title>The Task Details Page</title>
- <mediaobject>
- <imageobject>
- <imagedata
fileref="images/Quick_Howto_Guide/quick_howto_guide_6.png"
- scale="80"/>
- </imageobject>
- </mediaobject>
- </figure>
-
- <para>For our example, we specify the due date as 2 business days,
choose the high priority
+
+ <figure>
+ <title>The Task Details Page</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/Quick_Howto_Guide/quick_howto_guide_6.png"
scale="80"/>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <para>For our example, we specify the due date as 2 business days, choose the
high priority
and also check the <emphasis>
<property>Signalling</property>
- </emphasis> and <emphasis>
+ </emphasis> and <emphasis>
<property>Notify</property>
- </emphasis> attributes. It means that the Task should be
accomplished in 2 business days
+ </emphasis> attributes. It means that the Task should be accomplished in 2
business days
and the assignee will be notified by email when the task is assigned. To
specify how the
Task should be assigned switch on to the <property>Assignment
page</property>.</para>
-
- <figure>
- <title>The Task Assignment Page</title>
- <mediaobject>
- <imageobject>
- <imagedata
fileref="images/Quick_Howto_Guide/quick_howto_guide_7.png"
- scale="80"/>
- </imageobject>
- </mediaobject>
- </figure>
-
- <para>On the <property>Reminder page</property> you can
specify whether the assignee will be reminded of the task
+
+ <figure>
+ <title>The Task Assignment Page</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/Quick_Howto_Guide/quick_howto_guide_7.png"
scale="80"/>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <para>On the <property>Reminder page</property> you can specify
whether the assignee will be reminded of the task
that awaits him.</para>
-
- <figure>
- <title>The Task Reminder Page</title>
- <mediaobject>
- <imageobject>
- <imagedata
fileref="images/Quick_Howto_Guide/quick_howto_guide_8.png"
- scale="80"/>
- </imageobject>
- </mediaobject>
- </figure>
-
- <para>In our case, the assignee will be reminded by email after two
business hours and
+
+ <figure>
+ <title>The Task Reminder Page</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/Quick_Howto_Guide/quick_howto_guide_8.png"
scale="80"/>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <para>In our case, the assignee will be reminded by email after two business
hours and
continue to get reminding every business hour after that.</para>
- <para>In the next figure you can see our configuring generated into
XML.</para>
- <figure>
- <title>The Task Reminder Page</title>
- <mediaobject>
- <imageobject>
- <imagedata
fileref="images/Quick_Howto_Guide/quick_howto_guide_9.png"
- scale="80"/>
- </imageobject>
- </mediaobject>
- </figure>
- <para>We hope, our guide will help you to get started with the jPDL
process language and jBPM
- workflow on the whole. Besides, for additional information you are
welcome on <ulink
-
url="http://www.jboss.com/index.html?module=bb&op=viewforum&...
forum</ulink>.</para>
- </section>
- </section>
-
+ <para>In the next figure you can see our configuring generated into
XML.</para>
+ <figure>
+ <title>The Task Reminder Page</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/Quick_Howto_Guide/quick_howto_guide_9.png"
scale="80"/>
+ </imageobject>
+ </mediaobject>
+ </figure>
+ <para>We hope, our guide will help you to get started with the jPDL process
language and jBPM
+ workflow on the whole. Besides, for additional information you are
welcome on <ulink
url="http://www.jboss.com/index.html?module=bb&op=viewforum&...
forum</ulink>.</para>
+ </section>
+ </section>
+
</chapter>
\ No newline at end of file