Workflow performance case study: Dont Repeat History, Learn from it

shlok for xxont_custom_atp 25012007.gif:

A Sanskrit Shlok underlying the importance of careful planning

Preface

They say: "Those who do not know history are condemned to repeat it."

But why repeat history if you dont have to?

Many questions come to light on this topic of discussion:
  • Is there a better way of designing conditional implementation in workflow?
  • What
    are the merits/demerits of repeated checking of a particular condition
    as opposed to executing something when the actual condition happens?
    What are the performance implications?
  • Are there workflow APIs available which simulate event based subscription model?
  • What are the performance advantages of using the basic Workflow APIs that simulate this event based subscription model?
This
case study discusses the performance benefits of keeping unnecessary
looping execution in workflow design a a bare minimum and if possible,
eliminate it. If there are several short timed loops in the workflow
design, that get executed very often, the bad news is that the System
spends valuable resources spinning the wheels in vain.

The
intended audience is workflow designers, support personnel and Oracle
Apps DBA alike. This case study can potentially help users to design
their workflow more optimally and succintly, which would have a minimal
impact on the execution. The I/O profile and time taken for Workflow
Background Process bears out all this information. As far as possible,
trends have been depicted from the customer's Production system.

Summary of Learnings

  • It pays to know the published
    Workflow APIs. The Workflow Developer Guide is a good place to start.
    Spend time reading the fine manual. More information can never hurt.
  • It
    pays to spend time and effort in evaluating re-design of loops in
    workflow design early, especially since once initiated, a specific
    version of workflow runtime data does not automatically get updated
    after a newer version of workflow design is uploaded (through WFLOAD)
  • Poor design involving WAIT and poll activities in a loop can cause infinitely running Workflow Background Process (FNDWFBG)
  • Short-timeout
    activities in loops should be replaced with
    OE_STANDARD_WF.STANDARD_BLOCK or WF_STANDARD.BLOCK APIs and
    WF_ENGINE.COMPLETEACTIVITY APIs
  • Simple design changes can bring HUGE performance benefits, especially when a lot of volume is involved

Comments:

i was looking for some information about oracle certification and somehow reached to your page and then sticked to it. i liked the way you started few of your articles with chankya niti and shlokas. it is nice reading. keep writing in this style.. thanks warm regards santosh

Posted by Santosh on June 11, 2007 at 09:45 PM EDT #

Great post! I was suffering with the problem that you discuss in your post, and your explanation was the best i found. Thanks!

Posted by João Simas on October 23, 2007 at 02:40 AM EDT #

Post a Comment:
  • HTML Syntax: NOT allowed
About

bocadmin_ww

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