Oracle SOA Business Rule Engine [BRE]

  • Share this blog:

Business rule engine [BRE]

  • A non – technical person can also change the business logic by wing SOA computer business rules we can define 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 ex: A-Z, A-F ----
  • Ruleset
  • 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 the 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 whenever 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 a human task is required    


  • General
  • Data
  • Assignment
  • Presentation
  • Deadlines
  • 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)

                       Concrete WSDL  

Go to next case 2  

Inclined to build a profession as Oracle SOA Developer? 
Then here is the blog post on Oracle SOA Training.

Case 1:


Namespace URI:

Local part:

Remote fault    2        table from system faults  


Output 2 Set fault as a 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) somebody changed WSDL and replayed

Error message is :    get default as string ():  

Case 2:

Create Dvm table:

Right-click 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 In-depth knowledge on Oracle SOA, click on below

You liked the article?

Like : 0

Vote for difficulty

Current difficulty (Avg): Medium

Recommended Courses


About Author
Author Bio

TekSlate is the best online training provider in delivering world-class IT skills to individuals and corporates from all parts of the globe. We are proven experts in accumulating every need of an IT skills upgrade aspirant and have delivered excellent services. We aim to bring you all the essentials to learn and master new technologies in the market with our articles, blogs, and videos. Build your career success with us, enhancing most in-demand skills in the market.