Table of Contents


  1. Preface
  2. Welcome to Informatica Process Developer
  3. Using Guide Developer for the First Time
  4. Getting Started with Informatica Process Developer
  5. About Interfaces Service References and Local WSDL
  6. Planning Your BPEL Process
  7. Participants
  8. Implementing a BPMN Task or Event in BPEL
  9. Implementing a BPMN Gateway or Control Flow
  10. Using Variables
  11. Attachments
  12. Using Links
  13. Data Manipulation
  14. Compensation
  15. Correlation
  16. What is Correlation
  17. What is a Correlation Set
  18. Creating Message Properties and Property Aliases
  19. Adding a Correlation Set
  20. Deleting a Correlation Set
  21. Adding Correlations to an Activity
  22. Rules for Declaring and Using Correlation Sets
  23. Correlation Sets and Engine-Managed Correlation
  24. Event Handling
  25. Fault Handling
  26. Simulating and Debugging
  27. Deploying Your Processes
  28. BPEL Unit Testing
  29. Creating POJO and XQuery Custom Functions
  30. Custom Service Interactions
  31. Process Exception Management
  32. Creating Reports for Process Server and Central
  33. Business Event Processing
  34. Process Central Forms and Configuration
  35. Building a Process with a System Service
  36. Human Tasks
  37. BPEL Faults and Reports





BPMN Implementation: Event-based gateway
The Pick activity has at least one message or message part and can optionally contain one or more alarms. When the Pick executes, it blocks until one of its messages is received or until one of its alarms go off. Only a single message or alarm ever executes in a Pick since the receipt of the message or the firing of the alarm immediately causes all of the other branches to go dead.
For example, a service can implement the process of waiting for a response to a quote by using a Pick with an accept message, reject message, and a timeout. If the accept or reject message is not received within the timeout period, the alarm activity executes.
A Pick activity is a good choice for asynchronous activities.
You can also use a Pick activity to start a process with a set of messages and no alarm. This special form of Pick sets the Create Instance property to Yes and executes when the first message arrives.
Required Properties
Optional Properties
For onMessage:
Partner Link
Variable or From Part
From Part to Variable
Name. See
Selecting Activity Label
Create Instance
Join Condition. See
Creating a Join Condition for an Incoming Link
Suppress Join Failure. See
Process Properties
Message Exchange. See
Message Exchange Declaration
Comment. See
Adding Comments to a Process
Documentation. See
Adding Documentation to a Process
For onAlarm:
Alarm Expression
Alarm Type
Setting Visual Properties and Using Your Own Library of Images
Execution State. See
Viewing the Execution State of an Activity or Link

To build an onAlarm branch of a Pick

  1. From the
    palette, drag an
    Event-based gateway
    activity to the Process Editor canvas.
  2. Select the onAlarm branch.
  3. In the Properties view, select an Alarm Type: Duration or Deadline.
  4. Click the
    Dialog (...) Button
    next to Alarm Expression.
  5. In the Expression box, specify one of the following:
    1. For a deadline, enter an
      expression, such as
    2. For a duration, enter an
      expression, such as
    3. For details and examples, see
      Deadline and Duration Expressions
  6. Drag an activity, such as a start, end, or none, to the On Alarm icon, and optionally select activity properties to reflect the actions to take when the alarm goes off.

To build an onMessage branch of a Pick

  1. From the
    palette, drag an
    Event-based gateway
    activity to the Process Editor canvas.
  2. Select the OnMessage branch.
  3. In the Properties view of the OnMessage, create a new participant, if needed, or select one from the list.
  4. Drag an activity, such as a Script Task (an assign), to the On Message branch, and select activity properties to reflect the actions to take when the message arrives.
The following illustration shows an example of a Pick activity.

XML Syntax

<pick createInstance="yes|no"? standard-attributes> standard-elements <onMessage partnerLink="NCName" portType="QName"? operation="NCName" variable="BPELVariableName"?>+ messageExchange="NCName"?>+ <correlations>? <correlation set="NCName" initiate="yes|join|no"?>+ </correlations> <fromParts>? <fromPart part="NCName" toVariable="BPELVariableName" />+ </fromParts> activity </onMessage> <onAlarm>* ( <for expressionLanguage="anyURI"?>duration-expr</for> | <until expressionLanguage="anyURI"?>deadline-expr> </until> ) activity </onAlarm> </pick>
<pick name="pick1" createInstance="yes"> <onAlarm> <for>‘PT30S'</for> </empty> </onAlarm> <onMessage partnerLink="customer" portType="lns:loanServicePT" operation="request" variable="request" > <reply activity> </onMessage> </pick>


We’d like to hear from you!