Oracle SOA Business rule engine [BRE]

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]

               Tabs:

  • 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

 

HUMAN TASK

 

Whenever a human interaction is required then human task is required

    Tabs:

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

 

Remote – Fault

65

 

  • 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:// schemas.oracle.cone/bped/

Extension” name = “bplex : remote fault”>

<condition>

<action ref = “ora-retry”/>

</condition>

</fault name>

</condition>

<Actions>

<Action id =”ora-retry”>

<Retry>

<retry count> 4</ retry count>

<retry interval> 2</retry interval>

<Exponential back off/>

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

</retry>

</Action>

<Action id = “ora-rethrow”/>

<rethrow fault/>

<Action>

<Actions>

</fault policy>

</fault policies>

<retry failure ref = “ora_ws”/

</retry>

</Action>

<Action id = “ord_ws”>

<invokews uri = “concrete WSDL”

 

CASE 2

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

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

 

66

 

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:

Catch:

Namespace URI:

http://schema.oracle.com/bpel/extension

Local part:

Remote fault    2        table from system faults

 

A2

   Output 2

Set fault as string ():

 

Email activity 1:

From account: default

To                     : ramesh - @gamil.com [this person will give response]

Cc                      : shyam - @gamil.com   [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

 

67

68

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