Business rule engine [BRE]

  • A non – technical person can also change the business logic by wing soa computer business rules we can defined 2 ways

  1. Ruleset [if]
  2. Decision table [switch]


  • Facts
  • Functions
  • Globals O.V’s (list of values) ex: 10, 20, 30, 40 -----
  • Bucket set
  • Links O.V’s (range of values) ex: 0-35, 35-60-----
  • Decision functions                                                          A-Z, A-F ----
  • Rule set
  • By using BRE we can configure various business logics
  • I can even configure their business logics/rules in source code it will work very well , but if there is any change in the business logic in future I will have to go back to source code, make changes completely deploy it again
  • This is the process I have to do it every time when there is a change in the business logic
  • Whereas by using BRE I don’t need to make changes in the source code, that is the biggest advantage




Whenever a human interaction is required then human task is required


  • General
  • Data
  • Assignment
  • Presentation
  • Dead lines
  • Notification
  • Access
  • Events


Remote – Fault



  • Fault – bindings.xml:

< ? xml version = “1.0” en ----?>

<fault policy Bindings version = “2.0.1”

Xmlns =”--------“

Xmlns =”---------“>

<composite fault policy = “handle fault”/>

</fault policyBindings>


  • Fault- policies.xml:

<? Xml version = “1.0”------?>

<fault policies xmlns = “------“>

Xmlns =” ---------- --------------“

Xmlns : xsi = “------------------“>

< Conditions>

<fault name xmlns:bpelx =”http://

Extension” name = “bplex : remote fault”>


<action ref = “ora-retry”/>


</fault name>



<Action id =”ora-retry”>


<retry count> 4</ retry count>

<retry interval> 2</retry interval>

<Exponential back off/>

<retry failure action ref = “ora-rethrow”/>



<Action id = “ora-rethrow”/>

<rethrow fault/>



</fault policy>

</fault policies>

<retry failure ref = “ora_ws”/



<Action id = “ord_ws”>

<invokews uri = “concrete WSDL”



---> no need to take the catch, email, terminate activities

---->  concrete WSDL:  (remote fault handle)                    




Go to next case 2


Aspired to become an Oracle SOA?

Explore the post to discover the know-hows on Oracle SOA Training.

Case 1:


Namespace URI:

Local part:

Remote fault    2        table from system faults



   Output 2

Set fault as string ():


Email activity 1:

From account: default

To                     : ramesh - [this person will give response]

Cc                      : shyam -   [this person will not give response]

Bcc                    :

Replay to        :     __

Subject           :   remote fault

Body               :   web server is down (or) some body changed WSDL and replayed

Error message is :    get default as string ():


Case 2:

Create Dvm table:

Rjhtclick on project name à new 2 transformations 2 (Dvm) 2




Email 2:

To : <% dvm:lookup value(“email notifications.dvm”, “name”, “to”, “value”,”NA”)%>

cc: <% dvm:lookup value(“email notifications.dvm”, “name”, “cc”, “value”, “NA”)%>

Subject: remote fault

Body: “same as above email 1”

For Indepth knowledge on Oracle SOA, click on below