Oracle has made available a very exhaustive guide on Oracle rules which is available at http://download.oracle.com/docs/cd/E15523_01/integration.1111/e10228.pdf
Best Practices
- Try to model the rules as a "Decision Component".
- Each decision function in the component can be exposed as a Web Service with both stateless and stateful operations(I think that there should be an option to make it a separate webservice or to expose it as an operation).
- You may want to cleanup the stateful operations if you think that they should not be used. This will force the developers not to invoke the stateful operation accidentally as the unintended usage can create havoc.
- This Decision Component then has multiple interfaces which can be used by the BPEL process. This will encapsulate all the rules in a single component and still be modular through Decision functions.
- This will greatly help in resuse of this component.
- The Decision Component is also easily testable.
- Try to use "Decision Table" as much as possible
- As it is very intuitive for the business analysts
- All the rules can be viewed in a single readable view.
- It also has the built in Gap analysis that will uncover any gaps or conflicts.
Tips
- When you want to invoke the Rules Service, you should set the name of the Rules Service explicitly If not the rules service is not invoked. This seems to be a strange requirement.
- The Oracle Rules Composer is available at http://host:[soa port]/soa/composer. I could not open this is IE7 and Chrome but could open in Mozilla Firefox.
- The rules dictionary is stored in .rules file. This should be checked in the repository(CVS, etc) as a binary file. Please see the FAQ for the explanation.
In this Oracle business rules are explained in quite easy language. This post is very useful. Here they given best practices which you can model. They also mentioned tips which will be very beneficial. Thanks for tips.
ReplyDeleteoracle ebs
Hi
ReplyDeleteI am trying to assign the bpel input variable to the input facts in busines srules 11g.There isone default variable created "dsIn ns1 call function stateles message",but whenever i tryy to expand it gives schema build error.Can you please help on this