Workflow Engine vs Business Event System

Oracle Workflow has two major execution engines.

    • Workflow Engine
    • Workflow Business Event System

Here is a simple comparison of what they process and their associated background components.

Workflow Engine Workflow Business Event System
Executes workflow processes created using Windows based Workflow Builder client Executes subscriptions to business events registered using Event Manager in Workflow Administrator Web Applications Responsibility
Entry point foreground APIs are WF_ENGINE.CreateProcess and WF_ENGINE.StartProcess Entry point foreground API is WF_EVENT.Raise
Execution deferred to background by enqueuing message to AQ WF_DEFERRED_QUEUE_M Execution deferred to background by enqueuing message to AQ WF_DEFERRED
Entry point background API is WF_ENGINE.Background Entry point background API is WF_EVENT.Listen
AQ Payload is SYSTEM.WF_PAYLOAD_T AQ Payload is WF_EVENT_T
Background processing is done by Concurrent Program - FNDWFBG (Workflow Background Engine) Background processing is done by GSC Component - Workflow Deferred Agent Listener
Background Engine is submitted as recurring concurrent request from SRS form or Workflow Manager in OAM Agent Listener is a service component managed through Workflow Manager in OAM

This blog post is as a result of confusion about what AQ and corresponding background process comes into picture when troubleshooting a given problem. For example,

  • When troubleshooting issues with Business Event System, users verify that the Workflow Background Engine is running.
  • When troubleshooting deferred workflow processes, users verify that the Workflow Deferred Agent Listener is running.

It is important to understand the two processing engines in Oracle Workflow, the supporting background components and how these two engines integrate with each other.

Comments:

Is that the right queue table you refer to for the Background Engine
"Execution deferred to background by enqueuing message to AQ WF_DEFERRED_QUEUE_M"

Execution of activities is deferred (processed in the background at a later time) by enqueuing the activity (message) to WF_DEFERRED_TABLE_M ?

Posted by Bill Burbage on October 19, 2011 at 12:44 PM EDT #

Bill,
The background engine queue name is WF_DEFERRED_QUEUE_M while the queue table is WF_DEFERRED_TABLE_M. All other queues and queue tables in workflow follow the standard of using the very same name, like queue name WF_NOTIFICATION_IN and queue table WF_NOTIFICATION_IN.

I hope this is what you were trying to clarify.

Posted by Alejandro Sosa on October 31, 2012 at 10:17 AM EDT #

Post a Comment:
  • HTML Syntax: NOT allowed
About

This blog is dedicated to bring latest information on Oracle Workflow new features, best practices, troubleshooting techniques and important fixes directly from it's Development Team.

Search

Archives
« April 2014
SunMonTueWedThuFriSat
  
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
   
       
Today