RETE Rules “Engine”
(based on JESS)

Vous trouverez sur mon blog des infos sur différents sujets techniques. Ils proviennent de mes expériences chez BEA, Versata ... et actuellement ORACLE

Ensuite il faut créer un repository :

Cette structure XML vous permet d'envoyer des faits au moteur de règle et de récuperer les résultats.
L'import de la structure XML se fait dans le menu, "definitions" puis cliquez sur XMLFact. Un bouton "create" est présent dans la partie droite de la page. Cliquez dessus et spécifier les paramètres suivants:
XML Schema = D:\dev_hugu\BlogDemo\SchemaProject\BlogComm.xsd
JAXB Class Directory = d:\temp (Permet de construir les classes java correspondant à votre structure XML, c'est à dire les Getter & Setter sur chaque élément)
Puis cliquez sur "Add Schéma", pour avoir l'écran suivant :
Sélectionner les 2 lignes comme proposé et cliquez sur "Import".
La structure est intégrée à OBR (Oracle Business Rule).
Vous devez maintenant créer vos règles métiers, comme par exemple le calcul d'une commission :






puis un connexion à votre moteur de règles Oracle Business Rules :
Ensuite dans Jdev 10.1.3x, vous créer un projet Bpel qui utilise une action DECIDE.
Puis cliquer sur le bouton "create decision service" pour avoir l'écran suivant :
Ce qui donne :
Ps: Dans un futur article je vous expliquerai comment on travaille avec RuleAuthor : c'est l'interface web de Oracle Business Rules ....

Ensuite il faut créer un nouveau répertoire (correspondant à votre url webdav) dans le home de Apache, c'est à dire dans :
ORACLE_HOME\Apache\Apache\htdocs\rule_repository
NE COPIER PAS de fichier dans ce répertoire, car l'arborescence WebDav serait alors détériorée. Il faut ensuite via un client WebDav (comme ruleauthor) créer ses fichiers.
Il faut alors ré initialiser votre HTTP_SERVER, soit pas un violent Shutdown de SOA soit par la ligne de commande opmn :
ORACLE_HOME\opmn\bin>opmnctl stopproc process-type=HTTP_Server
puis
ORACLE_HOME\opmn\bin>opmnctl startproc process-type=HTTP_Server
et voilou !



D'autres écrans :