Note: An event in this context is different from the business events associated with the Business Event System, and a message in this context is different from the messages associated with notification activities.
Events are enqueued in the outbound queue for agents to consume and process. These agents may be any application that is external to the database. Similarly an agent may enqueue some message to the inbound queue for the Workflow Engine to consume and process. The outbound and inbound queues facilitate the integration of external activities into your workflow processes.
Note: Background engines use a separate 'deferred' queue.
All Oracle Workflow queue APIs are defined in a PL/SQL package called WF_QUEUE. You must execute these queue APIs from the same Oracle Workflow account since the APIs are account dependent.
Attention: In using these APIs, we assume that you have prior knowledge of Oracle Advanced Queuing concepts and terminology. Refer to the Oracle Application Developer's Guide - Advanced Queuing for more information on Advanced Queues.
Note: In a future release, this workflow Advanced Queues processing will be implemented within the Business Event System using a specialized queue handler to handle dequeue and enqueue operations.
Developer APIs for the Inbound Queue The following APIs are for developers who wish to write to the inbound queue by creating messages in the internal stack rather than using WF_QUEUE.EnqueueInbound( ). The internal stack is purely a storage area and you must eventually write each message that you create on the stack to the inbound queue.
Note: For efficient performance, you should periodically write to the inbound queue to prevent the stack from growing too large.
|ITEMTYPE||VARCHAR2(8)||The item type of the event.|
|ITEMKEY||VARCHAR2(240)||The item key of the event.|
|ACTID||NUMBER||The function activity instance ID.|
|FUNCTION_NAME||VARCHAR2(200)||The name of the function to execute.|
|PARAM_LIST||VARCHAR2(4000)||A list of "value_name=value" pairs. In the inbound scenario, the pairs are passed as item attributes and item attribute values. In the outbound scenario, the pairs are passed as all the attributes and attribute values of the function (activity attributes).|
|RESULT||VARCHAR2(30)||An optional activity completion result. Possible values are determined by the function activity's Result Type or can be an engine standard result.|
Advanced Queuing: Oracle Application Developer's Guide - Advanced Queuing