Rules Engine - Updating JavaFact's

Hi.
We have started building some rules against a single JavaFact class. Around half way through building the rules we realised that a new 'business function' was required in the JavaFact.
I can not find any way of updating the JavaFact without actually deleting all rules which depend on the fact. Deleting the rules allows me to delete the fact from the rules engine and then add my updated .jar file / java class as a new JavaFact.
Is there another way to update the JavaFact to display new functions within the Java class without going through all this destruction!?
Thanks
Steve

More explanation:
1) If you want to change the name of a property in the Java class, you need to recreate any rules that use it, since it's essentially a different property.
2) If you want to change the type of a property, you must first remove any references to that property in the rules (but not necesarily the fact type itself), then remove the property entirely from the Java class, reimport the class without the property, then add the property back to the class with the new type, and reimport the class again.
3) non-property methods (i.e., ones that aren't get and set) can always be reimported regardless of whether or not there is a return type change. However, if the return type is changed, any rule patterns that use this function will be invalid. However, you will not see that they are invalid until you attempt to validate/save a rule again, so be careful about changing type.

Similar Messages

  • Rule Engine Update service is not getting up

    Rule Engine Update service is not getting up given below error(screenshot attached)
    Error Details: 
    Windows could not start the Rule Engine Update Service service on local computer
    Error 1053: The service did not respond to the start or control request in a timely fashion
    I had installed CU7 and increase timeout time but no luck..after uninstalled OS patch "Security Update for Microsoft Windows", service (Rule engine update service) can start again. Our wintel team want this OS patch for security in BizTalk server.
    Could you please suggest how we can have security patch with rule engine service up.  
    Regards
    Suman

    If that specific patch is causing a conflict with CU7 or Rules Engine Update Service, the best option would be to LOG a case with Microsoft and let them either fix it or provide a justification of why that specific Windows Patch is not a good idea (file
    an exemption in case of later with the customer/security team).
    Regards.

  • [Business Rules] Rules engine not updating my Fact Result as expected.

    I have a Fact type implemented as a Java class, named Commission with the following properties: age(int), area(int), amt(double):
    In the Java application I set the age to 30 and area to 3:
    Commission comm = new Commission();
    comm.setAge(30);
    comm.setArea(3)Now I have a set of rules defined in the ruleAuthor where in, if the age is > 20 and area is between 1 and 5 then the business rule engine should set the Amt field to .3
    But when I run the rules engine:
    ruleSession.executeRuleset(...);
    ruleSession.callFunctionWithArgument("assert", comm);
    ruleSession.callFunction("run");
    double commamt = comm.getAmt(); //this value returns (0) as if the rules engine did not fire the rule and did not change the amt field to .3When i get the comm.getAmt(), the value is zero and not 0.3 which is the expected result.
    I wonder what's wrong, I only followed and patterned the instructions and code that came with Oracle Business Rules CarRental Example and/or the example that came in the Business Rule ViewLet.

    Hi Phil,
    I tried your suggestion. But it still does not work.
    I don't if this would help but this is how I defined my rules:
    1. I created a Java class file as a Fact Definition. Compiled it and stored it into a jar file.
    2. Copied the .jar file to a remote machine where OracleAS is installed.
    3. I run the ruleAuthor (browser) and specified a ruleRepository file.
    4. Specified the jar file where the Fact Definition (Java file) is.
    5. Created Ruleset and Rules
    6. Save the Dictionary.
    7. Copied the generated rulesRepository on to my local hard drive (remote).
    8. Create and Run the Rule-Enabled Java application. ruleRepository points to the ruleRepository file generated by ruleAuthor and copied to my local hard drive.
    Maybe there is something wrong with how I packaged the Java Fact Definition?

  • Error when invoking Rule Engine using Java API

    Hi,
    I have implemented a Java class which calls the Rule Engine to execute the rules. If I test by setting the value of the input inside a main method and get the output, it is working fine. The ruleset is also invoked and there is no problem. However, when I expose this java class as a web service and invoke the web service, I get the below error. I dont get the error if the .rules file is not present in the loaction mentioned. I get the error when the .rules file is present in the location. Not sure if this is an issue with the java call outs or loading the dictionary.
    Error:_
    <faultcode>S:Server</faultcode>
    <faultstring>oracle/rules/sdk2/exception/SDKException</faultstring>
    <ns2:exception xmlns:ns2="http://jax-ws.dev.java.net/" note="To disable this feature, set com.sun.xml.ws.fault.SOAPFaultBuilder.disableCaptureStackTrace system property to false" class="java.lang.NoClassDefFoundError">
    <message>oracle/rules/sdk2/exception/SDKException</message>
    <ns2:stackTrace>
    <ns2:frame line="38" file="ImplementRules.java" method="Query" class="oracle.rules.querystudentcriteria.ImplementRules"/>
    <ns2:frame line="native" file="NativeMethodAccessorImpl.java" method="invoke0" class="sun.reflect.NativeMethodAccessorImpl"/>
    <ns2:frame line="39" file="NativeMethodAccessorImpl.java" method="invoke" class="sun.reflect.NativeMethodAccessorImpl"/>
    <ns2:frame line="25" file="DelegatingMethodAccessorImpl.java" method="invoke" class="sun.reflect.DelegatingMethodAccessorImpl"/>
    <ns2:frame line="597" file="Method.java" method="invoke" class="java.lang.reflect.Method"/>
    <ns2:frame line="101" file="WLSInstanceResolver.java" method="invoke" class="weblogic.wsee.jaxws.WLSInstanceResolver$WLSInvoker"/>
    <ns2:frame line="83" file="WLSInstanceResolver.java" method="invoke" class="weblogic.wsee.jaxws.WLSInstanceResolver$WLSInvoker"/>
    <ns2:frame line="152" file="InvokerTube.java" method="invoke" class="com.sun.xml.ws.server.InvokerTube$2"/>
    <ns2:frame line="264" file="EndpointMethodHandler.java" method="invoke" class="com.sun.xml.ws.server.sei.EndpointMethodHandler"/>
    <ns2:frame line="93" file="SEIInvokerTube.java" method="processRequest" class="com.sun.xml.ws.server.sei.SEIInvokerTube"/>
    <ns2:frame line="604" file="Fiber.java" method="__doRun" class="com.sun.xml.ws.api.pipe.Fiber"/>
    <ns2:frame line="563" file="Fiber.java" method="_doRun" class="com.sun.xml.ws.api.pipe.Fiber"/>
    <ns2:frame line="548" file="Fiber.java" method="doRun" class="com.sun.xml.ws.api.pipe.Fiber"/>
    <ns2:frame line="445" file="Fiber.java" method="runSync" class="com.sun.xml.ws.api.pipe.Fiber"/>
    <ns2:frame line="275" file="WSEndpointImpl.java" method="process" class="com.sun.xml.ws.server.WSEndpointImpl$2"/>
    <ns2:frame line="454" file="HttpAdapter.java" method="handle" class="com.sun.xml.ws.transport.http.HttpAdapter$HttpToolkit"/>
    <ns2:frame line="250" file="HttpAdapter.java" method="handle" class="com.sun.xml.ws.transport.http.HttpAdapter"/>
    <ns2:frame line="140" file="ServletAdapter.java" method="handle" class="com.sun.xml.ws.transport.http.servlet.ServletAdapter"/>
    <ns2:frame line="319" file="HttpServletAdapter.java" method="run" class="weblogic.wsee.jaxws.HttpServletAdapter$AuthorizedInvoke"/>
    <ns2:frame line="232" file="HttpServletAdapter.java" method="post" class="weblogic.wsee.jaxws.HttpServletAdapter"/>
    <ns2:frame line="310" file="JAXWSServlet.java" method="doPost" class="weblogic.wsee.jaxws.JAXWSServlet"/>
    <ns2:frame line="727" file="HttpServlet.java" method="service" class="javax.servlet.http.HttpServlet"/>
    <ns2:frame line="87" file="JAXWSServlet.java" method="service" class="weblogic.wsee.jaxws.JAXWSServlet"/>
    <ns2:frame line="820" file="HttpServlet.java" method="service" class="javax.servlet.http.HttpServlet"/>
    <ns2:frame line="227" file="StubSecurityHelper.java" method="run" class="weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction"/>
    <ns2:frame line="125" file="StubSecurityHelper.java" method="invokeServlet" class="weblogic.servlet.internal.StubSecurityHelper"/>
    <ns2:frame line="292" file="ServletStubImpl.java" method="execute" class="weblogic.servlet.internal.ServletStubImpl"/>
    <ns2:frame line="26" file="TailFilter.java" method="doFilter" class="weblogic.servlet.internal.TailFilter"/>
    <ns2:frame line="56" file="FilterChainImpl.java" method="doFilter" class="weblogic.servlet.internal.FilterChainImpl"/>
    <ns2:frame line="326" file="DMSServletFilter.java" method="doFilter" class="oracle.dms.wls.DMSServletFilter"/>
    <ns2:frame line="56" file="FilterChainImpl.java" method="doFilter" class="weblogic.servlet.internal.FilterChainImpl"/>
    <ns2:frame line="3592" file="WebAppServletContext.java" method="run" class="weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction"/>
    <ns2:frame line="321" file="AuthenticatedSubject.java" method="doAs" class="weblogic.security.acl.internal.AuthenticatedSubject"/>
    <ns2:frame line="121" file="SecurityManager.java" method="runAs" class="weblogic.security.service.SecurityManager"/>
    <ns2:frame line="2202" file="WebAppServletContext.java" method="securedExecute" class="weblogic.servlet.internal.WebAppServletContext"/>
    <ns2:frame line="2108" file="WebAppServletContext.java" method="execute" class="weblogic.servlet.internal.WebAppServletContext"/>
    <ns2:frame line="1432" file="ServletRequestImpl.java" method="run" class="weblogic.servlet.internal.ServletRequestImpl"/>
    <ns2:frame line="201" file="ExecuteThread.java" method="execute" class="weblogic.work.ExecuteThread"/>
    <ns2:frame line="173" file="ExecuteThread.java" method="run" class="weblogic.work.ExecuteThread"/>
    </ns2:stackTrace>
    The Java class looks like:
    public PersonType Query (PersonType p)
    try {
    //FileReader reader = new FileReader("/home/orasoa/223345/STRS1.rules");
    //FileReader reader = new FileReader("D:\\Arun\\NGCE_WS\\POC1\\UHG\\QueryStudentCriteria\\oracle\\rules\\querystudentcriteria\\STRS1.rules");
    InputStream stream=ImplementRules.class.getResourceAsStream("/STRS1.rules");
    Reader reader=new InputStreamReader(stream);
    RuleDictionary dict = RuleDictionary.readDictionary(reader, new DecisionPointDictionaryFinder(null));
    List<SDKWarning> warnings = new ArrayList<SDKWarning>();
    dict.update(warnings);
    DecisionPoint decisionPoint = new DecisionPointBuilder().with("STRS1_DecisionService_1").with(dict).build();
    DecisionPointInstance point = decisionPoint.getInstance();
    ArrayList input=new ArrayList();
    input.add(p);
    point.setInputs(input);
    List<Object> output=point.invoke();
    catch (Exception e) {}
    return p;
    Cheers,
    - AR

    Hi, I am getting a similar error when I deploy my application on the weblogic server.
    Could you detail how this was resolved?
    Thanks,
    SB

  • Rules Engine Environment in MDM

    Hi Everyone,
    I am evaluating the capability of SAP MDM to see if there is any kind of rules engine delivered that can create a material master (SKU) number.  I am not trying to create material master records yet - just the material number !
    Background:
    Defned rules, coupled with reference data should be able to generated the list of SKUs.
    Example:
    Reference Data contained in 3 tables:
    Product Line: LN1, LN2
    Release: 2009
    Language: EN, JA, FR, DE
    SKU mask: AA-BB-CC
    AA = Product Line
    BB = Release
    CC = Language
    The rules would be to create combinations of all the reference data values and output a list of SKUs according to the SKU mask/format.  In other words, by implmenting rules, I should be able to generate  2x1x4 = 8 SKUs in total (2 values for product line, mulitplied by 1 value for Release, multiplied by 4 values for Language).
    Questions:
    I know I can implment rules on the ABAP workbench in R/3 to create material master numbers, and then later create actual material master records with reference to other materials all within R/3.  However, I would like to create and manage the material master directly in MDM.
    1) Is a rules engine like drools provided as part of MDM?
    2) Since MDM is based on the Netweaver and sits on the web apps server, is there an ABAP workbench provided in MDM from where I can create the rules and create z tables for the reference data.
    3) Do I need to create a separate web service in Netweaver Developer Studio to create these rules.
    Thanks in advance
    -Rajiv

    Hi Rajiv,
      In some scenarios Material master is imported to SAP MDM from R/3 and all the logic is performed in R/3 itself. For such cases You can use the standrad MDM Material Repository provided by SAP.
    <i>How do people create specific part numbers (material numbers / SKUs) in SAP MDM based upon some specific business logic?</i>
    Let us say the Part number is an depandant on another field say Product ID.
    In MDM Console you can specify the business logic in the Calculation field.
    Also i would like to add that in SAP MDM most of this business logic are mere mathematical fuctions (part no = 1.5 * product ID). There is no provision to call external methods (like RFCs in R/3).
    I suggest you to get the Standard MDM Materials Repository and play around the Calculated fields\ Auto ID Fields in MDM Console.
    Get back for help,
    Vijay

  • Haley Rules Engine - HaleyAuthority with respect to Oracle E Business Suite

    I am currently exploring on Haley Rules Engine which is recently aquired by Oracle.
    As per my investingation, i came to know that HaleyAuthority ruleEngine is available as plugin from the recent release of Siebel CRM 8.0 installation and onwards.
    Here goes my questions
    1) is this haleyAuthority rule engine available as third party tool? If so, How to integrate with Oracle E- Business Suite.
    2) Like Siebel 8.0, Is this HaleyAuthority plugged in any latest version of our oracle E- Business Suite?
    Please let me know your understanding and information on Haley Rules Engine with respect to Oracle E-Business Suite.
    Thanks in Advance.

    Praveen ,
    May be late for you (but for others looking similar information)
    haleyAuthority is different from Haley Determination Services (now Oracle Policy Automation)
    OPA (Haley's Determination Services) are available as Web Service which you can invoke from E-Business Suite or Use Fusion Middleware (SOA Suite / BPEL) as layer between OPA and E-Business Suite
    For overview of Haley Office Rules or Oracle Policy Automation check
    http://onlineappsdba.com/index.php/2009/04/27/oracle-policy-automation-modeling-earlier-haley-office-rules-determination/

  • Business Rule Error: Fact not found in the rule engine working memory, rule

    I am trying to create a simple decision table with an input(ValidateInput) and a output(ValidateOutput). The input and output schemas have unbounded and nested elements(Parent-child relationship). When I create a condition(specific condition on input) and in the action I am asserting the output object. But when I run using EM it throws the following exception. It would be helpful if somebody could tell me what could be the problem. Please note when I set the output as ValidateInput object then it runs fine. Also it executes fine with ValidateOutput if it doesn't have unbounded(List) element inside it.
    Error Message: {http://xmlns.oracle.com/OracleRules10/OracleRules10_DecisionService_1}operationErroredFault
    Fault ID     rules:211
    Fault Time     Jun 18, 2011 10:45:13 AM
    Non Recoverable Business Fault :
    Fact not found in the rule engine working memory, rule session execution failed. The rule session 270013 failed because an instance of the fact com.example.customer.ValidateResponse could not be found in the working memory of the rule session. This is most likely a rule modeling error. The decision service interaction expects the fact instance to exist in the working memory of the rule session. Check the rule actions in rule designer and make sure that a fact of the expected type is being asserted. If the error persists, contact Oracle Support Services. 270013
    Edited by: reachsky on 18 Jun, 2011 9:57 AM

    It's working now..I had to use Global variable to declare child element of the output variable and use the same during action.

  • Rules Engine using Web Dynpro ABAP

    Hi,
    Can we build a Rules Engine which works with Web Dynpro-ABAP?  Something similar to BRM in CE-7.2.
    Thanks,
    Prasanna

    Do you mean BRM or BRF.  BRF is the name of the business rules framework that is integrated in the ABAP engine. BRM is Business Rules Management and a part of NetWeaver CE - running on the Java Stack and a part of SAP NetWeaver BPM (Business Process Management).
    Generally if your work is all ABAP based you would use BRF.  Here is a small eLearning that shows the usage of BRF within Web Dynpro ABAP.
    http://www.sdn.sap.com/irj/scn/elearn?rid=/library/uuid/c0181bb1-28e7-2c10-538c-a093c616310e

  • Integration between Oracle BPM and RTD(rule engine)

    Hi,
    I have Oracle BPM - 10.3.2.0.0  Build 100141
    Oracle RTD(rules engine) - 3.0.0.1
    Please let me know whether the versions of RTD and Oracle BPM mentioned above can be integrated with each other.
    How the interaction between Oracle BPM enterprise and RTD will take place and how the data flow takes place between them.
    Thanks in advance

    Check this, u can get some info
    Re: What is a recommended approach to integrate Oracle BPM 10R3 and  Oracle UCM

  • SCEP ADR also pushing full engine update

    Like most people, I have an ADR in place in our SCCM 2012 R2 environment that pushes daily updates to all SCEP-enabled clients. One of the settings in the ADR is for 'product classification = definition updates'. However, i noticed over the last few days
    that it is also pushing a full engine update. This update was around 100Mb. I noticed it because it swamped the network at one of our sites and i got lots of irate phone calls...
    Is there any way to limit the ADR to only the def updates? - as i thought that's what i had done...

    Hi,
    There is no way as far as I know to filter out that definition update, the main problem is that you need it for newly installed clients and for clients not updated for a month.
    The way that updates work is described here:
    http://support2.microsoft.com/kb/977939
    Regards,
    Jörgen
    -- My System Center blog ccmexec.com -- Twitter
    @ccmexec

  • How to use Hashtable in Rules Engine. And objects within objects in rules

    This is something to do with the JBoss Rules Engine.
    I have an object called 'Employee' containing variables name(string), age(int), sex(string), an object Skill and other fields not relevant.
    Now the Skill object contains name and desc as variables.
    And now i have another seperate object called Test containing two hashtable: inputHT and outputHT.
    i have appropriate data in each of the objects and the hashtable:
    Employee e = new Employee();
    e.setName("Name");
    e.setAge(18);
    e.setSex("f");
    e.getSkill().setSkill("Trainer");
    Hashtable ht = new Hashtable();
    ht.put("age", new Integer(e.getAge());
    ht.put("sex", e.getSex());
    Test t = new Test();
    t.setInputHT(ht);
    Since this is something to do with drools rules: I have the appropriate code even for that.
    Like obtaining the rules defined(.drl files) in a stream, constructing the package builder, rulebase and the working memory.
    I will now explain u my .drl files(ie the rules that i have defined) and the error that i am encountering
    when I have the rule as the following there is no error:
    rule "testRule1"
    when
    e:Employee(age >= 18, sex == "f")
    then
    System.out.println("The lady can marry");
    end
    In the above rule we can see that only two simple variables contained in the employee object is being accessed and there is no error encountered.
    But when I try to access the object "skill" in the employee object, the rule throws me an error when i am constructing the packageBuilder:
    rule "testRule2"
    when
    e:Employee(skill.name == "Trainer")
    then
    System.out.println("The skill is trainer");
    end
    The error thrown is : unexpected token 'skill' and many other dump errors and also error: expected token ')'
    I tried changing the when clause as the following:
    when
    e:Employee(skill.getName() == "Trainer")
    and also
    when
    e:Employee(skill.getName().equals("Trainer"))
    All of them throws the same above error.
    But at the same time if i access only object without its variables, it is working fine. Like:
    rule "testRule2"
    when
    e:Employee(skill == "Trainer")
    then
    System.out.println("The skill is trainer");
    end
    The above rule works properly and does not throw any error. But it is not a valid rule. But syntactically it is correct. and does not throw any error during packageBuilder.
    Similarly, the problem is with the Hashtable
    The below code works fine, but rulewise it is not valid, but syntactically correct. and does not throw any error
    rule "testHT1"
    when
    t:Test(inputHT == "f")
    then
    System.out.println("Print this");
    end
    But the following code throws error, telling unexpected token 'inputHT' :
    rule "testHT1"
    when
    t:Test(inputHT.get("sex") == "f")
    then
    System.out.println("Lady");
    end
    I even changed the when clause, but did not get the appropriate result and it threw me error.
    when
    t:Test(((String)input.get("sex")) == "f")
    and also many other variants but of no use.
    It would be of great help if u or anyone else could reply to this with some solution
    Thank you in advance

    http://forum.java.sun.com/thread.jspa?threadID=774018

  • Cloudmark Engine Update Failure in FPE

    Hi,
      I am receiving "An error occurred while processing the universal manifest" for the Cloudmark engine updates in Forefront Protection for Exchange 2010. The error event is attached below. I have manually downloaded  the engine updates
    but receive the same error when performing the update. Any idea as to what is causing this?
    Thanks,
    epkeystrokes
    Log Name:      Application
    Source:        GetEngineFiles
    Date:          3/8/2014 1:38:02 PM
    Event ID:      6020
    Task Category: Engine Error
    Level:         Error
    Keywords:      Classic
    User:          N/A
    Computer:      COMPUTERNAME
    Description:
    Microsoft Forefront Protection encountered an error while performing a scan engine update.
       Scan Engine: Cloudmark
       Update Path: http://forefrontdl.microsoft.com/server/scanengineupdate
       Error Detail: An error occurred while processing the universal manifest.

    MSFT posted that the thread below will be updated when the issue is resolved:
    http://social.technet.microsoft.com/Forums/en-US/b612210f-9733-4608-8a79-ef226bb8184b/forefront-protection-2010-for-exchange-cloudmark-antispam-updates-failing?forum=FSENext

  • Business Rules Engines?

    Hi,
    I have experience with embedding "CLIPS" which is a C rules engine as a
    Forte Service Object which was easily wrappered using standard Forte
    wrapper strategy.
    Also, we have a sales rep in ATL who used to work @ ILOG and therefore
    competed with Nueron Data, and from various conversations with mutual Forte
    / Rules Engine customers I've learned it would be a complimentary integration.
    They all have some C-callable API and so a Forte Service Object would be a
    good client to the rules engine api due to our support for multi-threading
    when API is thread safe and additional option of replicating for load-bal
    when API isn't thread safe. The later concept is analogous to our use of
    DBSession object for interface with DBMS client api's.
    Be aware, the experiences I hear about with the mentioned rules engines is
    that there are not always business analysts truly capable of using the
    Rules development interfaces provided by the tools.
    So maybe the use of Forte Conductor's dynamic Process automation
    capabilities may also be a fit. If you want to discuss how, let me know.
    -jim
    Return-Path: <[email protected]>
    X-Sender:
    Date: Fri, 23 Jan 1998 13:19:03 -0800
    To: [email protected]
    From: Vic Brown <[email protected]>
    Subject: Business Rules Engines?
    Sender: [email protected]
    Reply-To: Vic Brown <[email protected]>
    Has anyone on this list integrated a COTS business rules engine,
    or components, into a Forte application? Specific products
    of interest would be those from Neuron Data, ILOG, USoft
    or, possibly, Vision Software.
    If so, comments? Type of application? War stories?
    Thanks.
    Victor Brown
    TRW Data Services
    Oakland, CA
    Phone: 510.645.3240
    FAX: 510.465.4811Jim Rice mailto:[email protected]
    Forte Software, Inc. http://www.forte.com
    South Eastern Tech Sales Mgr.
    301-721-1910 Corp: 510-869-3400 x2316

    The following Business Rule Solution uses POJO's and XML and meets the following criteria!
    Business Rule Solutions should be:
    Non-Industry Specific
    Appropriate and Affordable for any size business
    Enterprise-class solution (scalable, optimized, extensible)
    Remember: All businesses have business rules, and all businesses need an efficient way of managing and executing these business rules.
    What Business Rule Solutions should provide:
    Input Validation & Data Integrity
    Integration & Data Transformation
    Analytics
    Interpret clients Business Policies & Behaviors and clients run-time
    data and execute the appropriate process related workflow efficiently.
    The Return on Investment:
    ROI continues every day, week, month and year into the future!
    Simplify all program development through component reuse.
    Lowers software maintenance by a magnitude.
    Manages & Protects a company assets (Business Rules) in one
    repository.
    Provide Business Agility and Competitive Advantage!
    Further, I believe Business Rule Solutions are a higher level of abstraction of services that all other applications should use to implement the Model-View-Controller design pattern!
    Use the Contact Us! page for quicker responses. http://www.agilebusinessrulecomponents.com

  • Oracle Bussiness rules - Can we download and use rule engine independently

    Hello ,
    I have seen and used oracle business rules with SOA and BPM projects , but recently one of the client requested to see if we can download and use oracle rules engine independently .
    Does anyone have any idea if it possible ? Have checked oracle downloads and it says OBR 11g is part of SOA or BPM suite .
    Thanks in advance
    Rupesh

    Thanks for the reply Arun .
    So just to reconfirm if a client wants to use Oracle Business rules they would need to buy license either of SOA suite or BPM suite ?
    Edited by: Rupesh Somani on Jul 15, 2011 1:15 AM

  • Business rules engine faults..

    Can someone please advise on what could cause this issue?
    We are using SOA suite 11.1.1.2
    1. The rules engine takes an input as usual but doesn't send any output.
    2. The BPEL process that invokes the rules sends out a bpelFault instead - (because the rules engine doesn't send anything back)
    <bpelFault>
    <faultType>
    <message>0</message>
    </faultType>
    <selectionFailure>
    <part   name="summary" >
    <summary>empty variable/expression result. The XPath variable or expression /ns1:callFunctionStatelessDecision/ns1:resultList/ns2:RulesResponse is empty at line 122. An attempt to read or copy data referenced or computed by the XPath expression either had invalid data, according to the XML schema, or did not contain certain optional data. Ensure that the variable or expression result named in the error message is not empty. Enable XML schema validation of related variables to ensure the run-time data is valid. </summary>
    </part>
    </selectionFailure>
    </bpelFault> 3. At other times, the process works fine for the SAME input

    Hi Paul:
    The short answer is yes.  But its not easy.
    You will have to add some references to your orchestration:
    System.Transactions.DLL, System.Data.DLL, Microsoft.RuleEngine.DLL
    Next the BRE will need a connection string to connect to your database.
    Create a Variable in the orchestration ex:  SQLConn of type  System.Data.SqlClient.SqlConnection
    Create a Variable in the orchestration ex: RulesConn of type Microsoft.RuleEngine.DataConnection
    in an expression shape set the following :
    SQLConn = new System.Data.SqlClient.SqlConnection("Initial Catalog=Customer;Data Source=(local);Integrated Security=SSPI;");
    RulesConn = new Microsoft.RuleEngine.DataConnection ("database", "tablename", SQLConn);
    then call the rules shape.... it should work.
    there is a blog post about this I have used in the past:
    http://blogs.msdn.com/b/rgarg/archive/2009/04/23/using-biztalk-business-rules-engine-bre-with-database.aspx

Maybe you are looking for