Jump to: navigation, search

Difference between revisions of "Stardust/Knowledge Base/Integration/Events/Trigger Types"

m (HIghlighted main points)
m (Added documentation for JMS Trigger and Mail Trigger)
Line 26: Line 26:
 
Now the participant is entered in the '''Manual Trigger Participants '''section in the triggers model property page.  
 
Now the participant is entered in the '''Manual Trigger Participants '''section in the triggers model property page.  
  
 
+
   
  
 
==== Timer Based Trigger  ====
 
==== Timer Based Trigger  ====
Line 101: Line 101:
 
· Go to administration perspective and start “Timer Daemon” before start time of the trigger.  
 
· Go to administration perspective and start “Timer Daemon” before start time of the trigger.  
  
<br><br>&nbsp;
+
==== <br>JMS Trigger ====
 +
 
 +
An incoming message starts a process passing all the information contained in the body of the message as input data.
 +
 
 +
To change the specific properties of a JMS trigger, open its properties dialog, where you can - among other options -choose the type of message and add parameters of the JMS message.
 +
 
 +
Choose the Message Type as shown in the above screenshot.
 +
 
 +
And then add the parameter of the JMS message – Location is important (Body or Header) as shown below in the screenshot.
 +
 
 +
After this configuration we can map the defined parameters to data in our process definition. Select Parameter Mapping and push the Add button to set up a new parameter mapping. A new dialog appears where you fill in the following parameters:
 +
 
 +
*Data: select from a list of valid data, mandatory.
 +
*Parameter: select from a list of parameters, mandatory.
 +
*Access Path: select a valid dereferentiation path for the parameter type via access path browser, not mandatory
 +
 
 +
&nbsp;
 +
 
 +
To get the JMSTrigger working, we need to copy few XMLs as shown below in the screenshot. The CarnotEngine will listen to CarnotApplicationQueue and read the message from there.
 +
 
 +
And then, there are few JARs that are to be copied in WEB-INF lib eg If we are using ActiveMQ then ActiveMQ specific JARs has to be copied.
 +
 
 +
Below is a sample model that uses JMS Trigger.
 +
 
 +
&nbsp;
 +
 
 +
==== Mail Trigger ====
 +
 
 +
&nbsp;
 +
 
 +
An incoming email starts a process passing all the information contained in the email as input data. To change the properties of the mail trigger, open its properties dialog.
 +
 
 +
&nbsp;
 +
 
 +
Figure: Mail Trigger Configuration<br>
 +
 
 +
'''Server Settings<br>'''The following server settings are provided:
 +
 
 +
*Protocol: Choose between POP3 or IMAP4
 +
*Server: POP3 (or IMAP) server name
 +
*User: Account name of the mail box
 +
*Password: Matching password to the mail box account
 +
 
 +
 
 +
 
 +
'''Mail Settings'''<br>The following entry fields are provided to specify mail settings to filter for:
 +
 
 +
*'''Candidate Mails: '''Filter to specify the mails to be observed. Options are:
 +
 
 +
&nbsp;&nbsp;&nbsp;&nbsp; i. All existing Mails <br>&nbsp;&nbsp;&nbsp;&nbsp; ii. Mails not marked as seen<br>&nbsp;&nbsp;&nbsp;&nbsp; iii. New mails since last fetch <br>
 +
 
 +
*'''Predicates:''' Only the mails are accepted containing the pattern set in the according predicate entry. Please refer to the documentation on the javax.mail.search classes, for more detailed information about the string comparison. You can set the following predicates:
 +
 
 +
&nbsp;&nbsp;&nbsp;&nbsp; i. Sender Predicate: compares the string with the "From Address" header (see javax.mail.search.FromStringTerm). Note, that the string comparison is case-sensitive. <br>&nbsp;&nbsp;&nbsp;&nbsp; ii. Subject Predicate: compares the string with the "Message Subject" header (see javax.mail.search.SubjectTerm). Note, that the string comparison is case-insensitive. <br>&nbsp;&nbsp;&nbsp;&nbsp; iii. Body Predicate: searches on message body (see javax.mail.search.BodyTerm).
 +
 
 +
*&nbsp;MailBox Actions : this means the action after mails are received. Options are: <br>&nbsp; i. Leave mail as is <br>&nbsp; ii. Mark mail as seen <br>&nbsp; iii. Remove mail from server

Revision as of 01:29, 2 December 2011

Depending on the trigger type the trigger message may be parameterized with additional data. Such trigger parameters are provided at runtime in form of access points allowing for parameter mappings. Parameter mappings may be used to initialize workflow data of the triggered process instance and are configured in the Parameter Mapping panel of the triggers properties dialog. Please refer to the specific trigger type section in this chapter to obtain a detailed description on how to set up the parameter mappings accordingly.

  • Manual Trigger
  • Timer Based Trigger
  • JMS Trigger
  • Mail Trigger 


Manual Trigger

Open the Properties dialog of a created Manual Trigger to change its properties. There you can choose a participant from the list of the Manual Trigger pane.

<<Image>>


Another possibility to assign a participant to a manual trigger is to connect the participant via transition to the trigger in the diagram:

  • In the diagram toolbar palette select Connect.
  • Select the participant.
  • Select the manual trigger

<<Image>>

Now the participant is entered in the Manual Trigger Participants section in the triggers model property page.

 

Timer Based Trigger

This section describes how to configure and use Timer Base Trigger inside IPP.

The steps are:

  • Design & Deploy the model which uses Timer Trigger
  • Start the daemon.


a) Design the Model
Let’s take an example which has a timer trigger and a manual activity. The trigger is scheduled to run at specified time which will create a process instance.
The trigger requires setup some properties before it can be used. Let’s assume that we want to run the trigger once on 1st April 2011 at 12:48PM then the properties should be configured as:


· Right click ‘Timer Based Trigger 1’ -->Properties

· Set the required values



In the above screenshot, the trigger will run only once at 12:48PM on 1st April 2011(of course assuming that Timer Trigger Deamon is running at that time – Please check below in the documentation as how this deamon is started from the Portal ).

Take another example where we want to run the scheduler on a regular interval, then it would require to mention Periodicity also as shown below:



The trigger will instantiate the first process at 1:00PM on 1st April 2011 and then repeating at every 2 minutes. (of course assuming that Timer Trigger Deamon is running at that time – Please check below in the documentation as how this deamon is started from the Portal ).

Below is the screenshot from Process Portal. We can see those process instances were created at every 2 min.



Also we can specify the stop time at which the trigger will stopping performing the job. It can be configured like this:



The trigger will instantiate the first process at 1:05PM on 1st April 2011 and keeps instantiating at every 5min and then the trigger will be stopped at 1:16PM on 1st April 2011 – so no more instance will be created after 1:16PM for this configuration.


Below is the screenshot from Process Portal. We can see those process instances were created at every 5 min until 1:16PM and then no more instance available as trigger was supposed to stop at 1:16PM


.


b) Start the Daemon

The “Time Trigger Daemon” is to be started to work the trigger. This can be done from Administration perspective. Under Daemon like, this daemon is displayed.


So basically following steps are to be performed in order to get Timer Trigger working:

· Design the model which uses Timer Trigger

· Specify proper start, stop & periodicity for the trigger.

· Deploy the model.

· Start the server.

· Go to administration perspective and start “Timer Daemon” before start time of the trigger.


JMS Trigger

An incoming message starts a process passing all the information contained in the body of the message as input data.

To change the specific properties of a JMS trigger, open its properties dialog, where you can - among other options -choose the type of message and add parameters of the JMS message.

Choose the Message Type as shown in the above screenshot.

And then add the parameter of the JMS message – Location is important (Body or Header) as shown below in the screenshot.

After this configuration we can map the defined parameters to data in our process definition. Select Parameter Mapping and push the Add button to set up a new parameter mapping. A new dialog appears where you fill in the following parameters:

  • Data: select from a list of valid data, mandatory.
  • Parameter: select from a list of parameters, mandatory.
  • Access Path: select a valid dereferentiation path for the parameter type via access path browser, not mandatory

 

To get the JMSTrigger working, we need to copy few XMLs as shown below in the screenshot. The CarnotEngine will listen to CarnotApplicationQueue and read the message from there.

And then, there are few JARs that are to be copied in WEB-INF lib eg If we are using ActiveMQ then ActiveMQ specific JARs has to be copied.

Below is a sample model that uses JMS Trigger.

 

Mail Trigger

 

An incoming email starts a process passing all the information contained in the email as input data. To change the properties of the mail trigger, open its properties dialog.

 

Figure: Mail Trigger Configuration

Server Settings
The following server settings are provided:

  • Protocol: Choose between POP3 or IMAP4
  • Server: POP3 (or IMAP) server name
  • User: Account name of the mail box
  • Password: Matching password to the mail box account


Mail Settings
The following entry fields are provided to specify mail settings to filter for:

  • Candidate Mails: Filter to specify the mails to be observed. Options are:

     i. All existing Mails
     ii. Mails not marked as seen
     iii. New mails since last fetch

  • Predicates: Only the mails are accepted containing the pattern set in the according predicate entry. Please refer to the documentation on the javax.mail.search classes, for more detailed information about the string comparison. You can set the following predicates:

     i. Sender Predicate: compares the string with the "From Address" header (see javax.mail.search.FromStringTerm). Note, that the string comparison is case-sensitive.
     ii. Subject Predicate: compares the string with the "Message Subject" header (see javax.mail.search.SubjectTerm). Note, that the string comparison is case-insensitive.
     iii. Body Predicate: searches on message body (see javax.mail.search.BodyTerm).

  •  MailBox Actions : this means the action after mails are received. Options are:
      i. Leave mail as is
      ii. Mark mail as seen
      iii. Remove mail from server