Send Tasks
A "send task" is used to model a specific type of activity that represents the process of sending a message, notification, or request to an external participant or system. They are used to depict a point in the process where information is transmitted to another entity, which may be a human user, another process, a service, or an external system.
Key characteristics of a send task:
Message Sending: Send tasks represent activities where a message, request, or notification is sent to an external participant or system as part of the process.
Asynchronous: Send tasks are typically asynchronous, meaning that the process does not wait for an immediate response but continues its flow.
Message Content: They may involve specifying the content of the message to be sent, which can include data and details relevant to the interaction.
No Direct Response: Unlike "receive tasks," which represent waiting for a response or incoming message, send tasks do not expect a direct response from the external entity.
Integration: Send tasks are often used to model the integration of the business process with external participants, systems, or services through message-based communication.
Attributes:
The following are the attributes associated with the "Send" tasks:
Attribute | Description |
---|---|
ID: | The "Id" attribute represents the unique identifier of the send task. It corresponds to the task definition key in the BPMN model. |
Name: | The "Name" attribute defines the name or label of the send task. |
Implementation:
The "Implementation" attribute specifies the method, class, or service that the send task will invoke or execute. It defines the technical implementation behind the task's functionality. Implementation options include:
Implementation | Description |
---|---|
Java Class: | If a Java class is used, the fully qualified class name is specified. This means that a Java class is responsible for executing the task. |
Expression: | An expression or script can be used to define the task's behavior. This allows for flexible and custom task execution based on the defined expression. Result Variable: You can specify the name of the variable where the task result will be stored. |
Delegate Expression: | A delegate expression can be used to dynamically determine the implementation class at runtime. This provides flexibility in choosing the implementation class based on runtime conditions. |
External: | Configures Send Tasks to interact with external systems or services. Topic: You need to provide a topic value. Identifies task categories within BPMN, aiding task categorization and external worker subscription. Task Priority: This allows you to set the "Task Priority" level. |
Connector: | The "Connector" implementation involves the use of a connector or integration technology to interact with various external systems or services. It encapsulates the communication details and provides a structured way to make the interaction. (Note: You must define the connector's configuration to have it referenced within the send task.) |
Asynchronous Continuations:
Asynchronous continuations are used to specify whether a task is executed asynchronously, they include:
Attribute | Description |
---|---|
Asynchronous Before: | The "Asynchronous Before" attribute indicates if the task can be started asynchronously before other tasks or events in the process. |
Asynchronous After: | Similarly, the "Asynchronous After" attribute denotes whether the send task can be completed asynchronously after other tasks or events in the process. |