Tuesday

Complete installation of Ilog Jrules on Oracle application server 10.1.3.3.0

With Ilog Jrules default distribution, Jboss application sever is default. But customers might choose any application server to use Jrules. In these circumstances, customers should deploy all the necessary components manually. The task is not so straight forward because Jrules consists of a few independent web components. In the following i will describe briefly how to install Ilog Jrules in OAS 10.1.3.3.

Jrules consists of following three main web components:
1) RES
2) TEAM SERVER
3) SCENARIO MANAGER
We follow step by step to install and deploy all the components in the OAS.
1) Install RES:
1.1) First we should create data base user and schema in Oracle DB for component Res.
1.2) Run the script in sqlplus or any other oracle sql client to create new data base objects from the following place
<ILOG_HOME>\JRules672\executionserver\databases\oracle\schema_oracle.sql
1.3)Create a new oc4j instance in the OAS named Ilog_bres
1.4)Create new connection pool and data source for RES as follows:
<connection-pool name="bresdatasourcePool">
<connection-factory factory-class="oracle.jdbc.pool.OracleDataSource"
user="bres"
password="bres"
url="jdbc:oracle:thin:@hostname:1521:dbname">
</connection-factory>
</connection-pool>

<managed-data-source name="bresdatasource"
connection-pool-name="bresdatasourcePool"
jndi-name="jdbc/bresdatasource"/>

1.5) Add new roles and users by web interfaces as follows
1.5.1) Add role named bres_admin, which will extends from oc4j-administrator and also selects Grant RMI Login и Grant Administration realms for the role.
1.5.2) Add new user named bres and grant him the role bres_admin
1.6) Install all the following components manually in the oc4j instance Ilog_bres:
jrules-bres-management-OC4J1013.ear;
jrules-bres-ootbds-OC4J1013.ear;
jrules-bres-xu-OC4J1013.rar;
jrules-ssp-OC4J1013.ear.
All components will be found in the following directory <ILOG_HOME>\JRules672\executionserver\applicationservers\oracle10g
Installed RES should be found on following url:
http://HOST_NAME:PORT/APPLICATION NAME DEFINED FOR BRES ON THE INSTALLAION
2) Install Team server:
2.1) Create two data base schema and user in the oracle DB.
2.2) From default installation of team server in JBOSS, we could generate sql script to create schema objects.
2.3) Run the sql script to create new objects in the data base schema
2.4) Create a new oc4j instance named ilog_ts.
2.5) Increase perm size memory for the container through web interface or add it to opmn.xml file as follows:
perm memory size: 128М, max memory size: 1024М, initial memory size: 512М (it's my configuration - you should calculate your ability)
2.6) Create connections pools and data sources for the container ilog_ts as follows:
<connection-pool name="ilogDataSourcePool">
<connection-factory factory-class="oracle.jdbc.pool.OracleDataSource"
user="rts"
password="rts"
url="jdbc:oracle:thin:@hostname:1521:dbname">
</connection-factory>
</connection-pool>

<managed-data-source name=" ilogDataSource"
connection-pool-name="ilogDataSourcePool"
jndi-name="jdbc/ilogDataSource"/>

<connection-pool name="serverextendedbrmPool">
<connection-factory factory-class="oracle.jdbc.pool.OracleDataSource"
user="rtsext"
password="rtsext"
url="jdbc:oracle:thin:@hostname:1521:dbname">
</connection-factory>
</connection-pool>

<managed-data-source name="serverextendedbrm"
connection-pool-name="serverextendedbrmPool"
jndi-name="jdbc/serverextendedbrm"/>

2.7) Add following roles and users:
Roles: rtsAdministrator extends from oc4j-administrator with realms Grant RMI Login , Grant Administration, rtsInstaller and rtsUser
Users: rtsAdmin, which assign all the above roles.
2.8) Deploy the following application into the container:
jrules-teamserver-OC4J10.ear, which will found in the following directory
<ILOG_HOME>\JRules672\teamserver\applicationservers\oracle10g\jrules-teamserver-OC4J10.ear
3) Install RSM:
Actually for Scenario manager it's not necessary to create another oc4j container, it will be to install it with res.
3.1) Create one more db schema and user in the oracle database.
3.2) No need to run any script to create data base objects, during installation of the application by data source, rsm will create data base objects need for him.
3.2) Add one more connection pool and data source in the container ilog_bres as follows:
<connection-pool name="rsmdatasourcePool">
<connection-factory factory-class="oracle.jdbc.pool.OracleDataSource"
user="rsm"
password="rsm"
url="jdbc:oracle:thin:@hostname:1521:dbname">
</connection-factory>
</connection-pool>

<managed-data-source name="rsmdatasource"
connection-pool-name=" rsmdatasourcePool"
jndi-name="jdbc/rsmdatasource"/>

3.3) Create one role named rsm_user and add a user named rsm. Assign the role to the user rsm.
3.4) Deploy the following application in the container:
jrules-rsm-OC4J1013.ear, which will be found in the following directory <ILOG_HOME>\JRules672\scenariomanager\applicationservers\oracle10g\jrules-rsm-OC4J1013.ear
it's all what you need to install Jrules in the OAS.
Now some additional note:
1) If any problems will occurs for library commons-logging during installation, it should be better to update it with newer version. You should have find the library in the following directory: webservices/lib.
2) Delete the library commons-cli.jar from the shared library.
3)*** Fix the rmi port for all the above defined containers,
3.1) Open the ORACLE_HOME/opmn/conf/opmn.xml file with vi editor or any text editor.
3.2) Locate the <port id="rmi" range="12401-12500"/> entry for the instances ilog_bres and ilog_ts.
3.2) Choose one of the ports for RMI within the range of 12401 and 12500.
For example:
<port id="rmi" range="12402"/>

Now rmi ports are fixed for the containers and during restart or startups of OAS rmi ports will never change.
4) JMX services will be accessible by following url:
service:jmx:rmi:///opmn://HOST:6003/CONTAINER_NAME
5) For solving transaction manager time out problem by rmi protocol do as follows:
add more seconds in transaction-timeout option as like 100 in the transaction-manager.xml file for every container, default is 30 seconds.
Post a Comment