6
Create JVM Subsystem 1. Navigate to Administration – Server Configuration > Enterprises > Profile Configuration 2. Query for profile name ‘ADMJavaSubsys’. It should exist by default else create a new profile with the above name and type as ‘JVMSubSys’ 3. Set the following parameters in the parameter child applet a. JVM Classpath: D:\sba80ucm\siebsrvr\CLASSES\Siebel.jar;D:\ sba80ucm\siebsrvr\CLASSES\SiebelJI_enu.jar;D:\product\ 10.1.3.1\OracleAS_1\j2ee\home\oc4jclient.jar;D:\product\ 10.1.3.1\OracleAS_1\j2ee\home\lib\jms.jar;D:\product\ 10.1.3.1\OracleAS_1\j2ee\home\lib\jta.jar;D:\product\ 10.1.3.1\OracleAS_1\opmn\lib\optic.jar;D:\sba80ucm\ javaee.jar;D:\sba80ucm;. b. JVM DLL Name: C:\Program Files\Java\jre1.6.0_02\bin\client\ jvm.dll c. JVM Options: -Xusealtsigs 4. Ensure the files specified in the above path exist. ‘javaee.jar’, ‘oc4jclient.jar’, ‘jms.jar’, ‘jta.jar’ and ‘optic.jar’ is provided by Oracle JMS Vendor. 5. Log in to server manager commandline utility and run the following command ‘change parameter CLASSPATH=D:\sba80ucm\siebsrvr\CLASSES\ Siebel.jar;D:\sba80ucm\siebsrvr\CLASSES\SiebelJI_enu.jar;D:\ product\10.1.3.1\OracleAS_1\j2ee\home\oc4jclient.jar;D:\product\ 10.1.3.1\OracleAS_1\j2ee\home\lib\jms.jar;D:\product\10.1.3.1\ OracleAS_1\j2ee\home\lib\jta.jar;D:\product\10.1.3.1\OracleAS_1\ opmn\lib\optic.jar;D:\sba80ucm\javaee.jar;D:\sba80ucm;. for named subsystem ADMJavaSubsys’ without the quotes. ‘JVM classpath’ variable, when set from Siebel GUI, can take only 100 characters. Running the above command is necessary. Create JMS Subsystem 1. Navigate to Administration – Server Configuration > Enterprises > Profile Configuration 2. Create a new profile with the name ‘JMS_Q1ReceiveDispatchSend’ and type as ‘JMSSubsys’ 3. Put the following values in the parameters in the child parameters applet: a. ConnectionFactory Name: jms/QueueConnectionFactory b. ConnectionPassword: serene1 c. ConnectionUsername: oc4jadmin d. JVM Subsystem Name: ADMJavaSubsys e. ReceiveQueue Name: jms/demoQueue f. Receive timeout: 3000 g. SendQueue Name: jms/demoQueue

JMS Integration

Embed Size (px)

Citation preview

Page 1: JMS Integration

Create JVM Subsystem

1. Navigate to Administration – Server Configuration > Enterprises > Profile Configuration

2. Query for profile name ‘ADMJavaSubsys’. It should exist by default else create a new profile with the above name and type as ‘JVMSubSys’

3. Set the following parameters in the parameter child appleta. JVM Classpath: D:\sba80ucm\siebsrvr\CLASSES\Siebel.jar;D:\sba80ucm\

siebsrvr\CLASSES\SiebelJI_enu.jar;D:\product\10.1.3.1\OracleAS_1\j2ee\home\oc4jclient.jar;D:\product\10.1.3.1\OracleAS_1\j2ee\home\lib\jms.jar;D:\product\10.1.3.1\OracleAS_1\j2ee\home\lib\jta.jar;D:\product\10.1.3.1\OracleAS_1\opmn\lib\optic.jar;D:\sba80ucm\javaee.jar;D:\sba80ucm;.

b. JVM DLL Name: C:\Program Files\Java\jre1.6.0_02\bin\client\jvm.dllc. JVM Options: -Xusealtsigs

4. Ensure the files specified in the above path exist. ‘javaee.jar’, ‘oc4jclient.jar’, ‘jms.jar’, ‘jta.jar’ and ‘optic.jar’ is provided by Oracle JMS Vendor.

5. Log in to server manager commandline utility and run the following command ‘change parameter CLASSPATH=D:\sba80ucm\siebsrvr\CLASSES\Siebel.jar;D:\sba80ucm\siebsrvr\CLASSES\SiebelJI_enu.jar;D:\product\10.1.3.1\OracleAS_1\j2ee\home\oc4jclient.jar;D:\product\10.1.3.1\OracleAS_1\j2ee\home\lib\jms.jar;D:\product\10.1.3.1\OracleAS_1\j2ee\home\lib\jta.jar;D:\product\10.1.3.1\OracleAS_1\opmn\lib\optic.jar;D:\sba80ucm\javaee.jar;D:\sba80ucm;. for named subsystem ADMJavaSubsys’ without the quotes. ‘JVM classpath’ variable, when set from Siebel GUI, can take only 100 characters. Running the above command is necessary.

Create JMS Subsystem

1. Navigate to Administration – Server Configuration > Enterprises > Profile Configuration

2. Create a new profile with the name ‘JMS_Q1ReceiveDispatchSend’ and type as ‘JMSSubsys’

3. Put the following values in the parameters in the child parameters applet:a. ConnectionFactory Name: jms/QueueConnectionFactoryb. ConnectionPassword: serene1c. ConnectionUsername: oc4jadmind. JVM Subsystem Name: ADMJavaSubsyse. ReceiveQueue Name: jms/demoQueuef. Receive timeout: 3000g. SendQueue Name: jms/demoQueue

Create Data Handling Subsystem

1. Navigate to Administration – Server Configuration > Enterprises > Profile Configuration

2. Create a new profile with the name ‘JMSEcho’ and type as ‘EAITransportDataHandlingSubsys’

3. Put the following values in the parameters in the child parameters applet:a. Workflow Process to Execute: Macerich JMS ReceiveDispatchSend

JNDI Properties file

1. Create a jndi.properties file with the following content in the folder D:\sba80ucm

Page 2: JMS Integration

java.naming.factory.initial=com.evermind.server.rmi.RMIInitialContextFactoryjava.naming.provider.url=ormi://pluto:12401java.naming.security.principal=oc4jadminjava.naming.security.credentials=serene1

Prepare dedicated client for Simulating JMS Transaction

1. Open the cfg file in the folder ‘D:\Program Files\Siebel\8.0\web client\BIN\ENU\’ used for simulation (ucm.cfg in this case)

2. Add the following at the bottom of the file

[JAVA]DLL = C:\Program Files\Java\jre1.6.0_02\bin\client\jvm.dllCLASSPATH = D:\sba80ucm\siebsrvr\CLASSES\Siebel.jar;D:\sba80ucm\siebsrvr\CLASSES\SiebelJI_enu.jar;D:\product\10.1.3.1\OracleAS_1\j2ee\home\oc4jclient.jar;D:\product\10.1.3.1\OracleAS_1\j2ee\home\lib\jms.jar;D:\product\10.1.3.1\OracleAS_1\j2ee\home\lib\jta.jar;D:\product\10.1.3.1\OracleAS_1\opmn\lib\optic.jar;D:\sba80ucm\javaee.jar;D:\sba80ucm;.VMOPTIONS = -Xrs -Djava.compiler=NONE

3. Save the file.

Create Workflow ‘Macerich JMS ReceiveDispatchSend’

1. Create a workflow with the name ‘Macerich JMS ReceiveDispatchSend’2. Add the following process properties:

a. Name: <Value>; Display Name: <Value>; In/Out: In/Out; Default String: <Value>; Data Type: Binary

b. Name: Order Message; Display Name: Order Message; In/Out: In/Out; Data Type: Hierarchy

3. Select the workflow record and right click. Select ‘Edit Workflow Process’4. After ‘Start’ step, add step business service with the following details

a. Business Service Name: EAI XML Converterb. Business Service Method: XMLDocToIntObjHierc. Input Arguments:

i. Input Argument: <Value>; Type: Process Property; Property Name: <Value>

d. Output Arguments:i. Property Name: Order Message; Type: Output Argument;

Output Argument: SiebelMessage5. Add another business service step with the following details

a. Business Service Name: EAI Siebel Adapterb. Business Service Method: Queryc. Input Arguments:

i. Input Argument: SiebelMessage; Type: Process Property; Property Name: Order Message

d. Output Arguments:i. Property Name: Order Message; Type: Output Argument;

Output Argument: SiebelMessage6. Add another business service step with the following details

a. Business Service Name: EAI XML Converterb. Business Service Method: IntObjHierToXMLDocc. Input Arguments:

Page 3: JMS Integration

i. Input Argument: SiebelMessage; Type: Process Property; Property Name: Order Message

d. Output Arguments:i. Property Name: <Value>; Type: Output Argument; Output

Argument: <Value>7. Add the end step.8. Validate the workflow to check connector mappings.9. Simulate the workflow with the following xml as the value of <Value> process

property

<?xml version="1.0" encoding="UTF-16"?><SiebelMessage IntObjectName="EAI Account"><ListOfAccount><Account><Name>Macerich</Name></Account></ListOfAccount></SiebelMessage>

10. Once the simulator ends successfully, activate the workflow.

Create Workflow ‘Macerich JMS SendReceive’

1. Create a workflow with the name ‘Macerich JMS SendReceive’2. Add the following process properties:

a. Name: JMSConnectionFactory; Display Name: JMSConnectionFactory; In/Out: In; Default String: jms/QueueConnectionFactory; Data Type: String

b. Name: JMSReceiveQueue; Display Name: JMSReceiveQueue; In/Out: In; Default String: jms/demoQueue; Data Type: String

c. Name: JMSSendQueue; Display Name: JMSSendQueue; In/Out: In; Default String: jms/demoQueue; Data Type: String

d. Name: JMSReceiveTimeout; Display Name: JMSReceiveTimeout; In: In/Out; Default String: 180000; Data Type: String

e. Name: Order Message; Display Name: Order Message; In/Out: In/Out; Data Type: Integration Object

f. Name: Order XML; Display Name: Order XML; In/Out: In/Out; Data Type: Binary

g. Name: Searchspec; Display Name: Searchspec; In/Out: In; Default String: [Account.Name] is not null; Data Type: String

h. Name: OutputIOName; Display Name: OutputIOName; In/Out: In; Default String: EAI Account; Data Type: String

3. Select the workflow record and right click. Select ‘Edit Workflow Process’4. After ‘Start’ step, add step business service with the following details

a. Business Service Name: EAI Siebel Adapterb. Business Service Method: Queryc. Input Arguments:

i. Input Argument: SearchSpec; Type: Process Property; Process Property: Searchspec

ii. Input Argument: OutputIntObjectName; Type: Process Property; Process Property: OutputIOName

d. Output Arguments:i. Property Name: Order Message; Type: Output Argument;

Output Argument: SiebelMessage5. Add another business service step with the following details

a. Business Service Name: EAI XML Converterb. Business Service Method: IntObjHierToXMLDocc. Input Arguments:

i. Input Argument: SiebelMessage; Type: Process Property; Property Name: Order Message

Page 4: JMS Integration

ii. Input Argument: GenerateProcessingInstructions; Type: Literal; Value: False

d. Output Arguments:i. Property Name: Order XML; Type: Output Argument; Output

Argument: <Value>6. Add another business service step with the following details

a. Business Service Name: EAI JMS Transportb. Business Service Method: SendReceivec. Input Arguments:

i. Input Argument: <Value>; Type: Process Property; Property Name: Order XML

ii. Input Argument:ConnectionFactory; Type: Process Property; Property Name: JMSConnectionFactory

iii. Input Argument: SendQueue; Type: Process Property; Property Name: JMSSendQueue

iv. Input Argument: ReceiveQueue; Type: Process Property; Property Name: JMSReceiveQueue

v. Input Argument: ReceiveTimeOut; Type: Process Property; Property Name: JMSReceiveTimeOut

d. Output Arguments:i. Property Name: Order XML; Type: Output Argument; Output

Argument: <Value>11. Add this step only for Siebel and NOT for UCM: add step business

service with the following detailsa. Business Service Name: EAI XML Converterb. Business Service Method: XMLDocToIntObjHierc. Input Arguments:

i. Input Argument: <Value>; Type: Process Property; Property Name: Order XML

d. Output Arguments:i. Property Name: Order Message; Type: Output Argument;

Output Argument: SiebelMessage12. Add this step only for Siebel and NOT for UCM: add another business

service step with the following detailsa. Business Service Name: EAI Siebel Adapterb. Business Service Method: Updatec. Input Arguments:

i. Input Argument: SiebelMessage; Type: Process Property; Property Name: Order Message

d. Output Arguments:ii. Property Name: Order Message; Type: Output Argument;

Output Argument: SiebelMessage7. Add the end step.8. Validate the workflow to check connector mappings.9. Simulate the workflow 10. Once the simulator ends successfully, activate the workflow.

Configure JMS Receiver Server Component

1. Navigate to Administration – Server Configuration > Servers > Components2. Query for component ‘JMS Receiver’3. Set the following values in the Parameters child applet:

a. JVM Subsystem Name: ADMJavaSubsysb. Receiver Connection Subsystem: JMS_Q1ReceiveDispatchSendc. Receiver Data Handling Subsystem: JMSEcho

Page 5: JMS Integration

d. Receiver Method Name: ReceiveDispatchSende. Receiver Service Name: EAI JMS Transport

4. Log off the application. Restart the Siebel server and the gateway.

Testing ReceiveDispatchSend

1. After restarting the Siebel server, place the following xml in the demoQueue:2. Run the following command on server manager command line utility:start task for comp JMSReceiver with ReceiverConnectionSubsystem= JMS_Q1ReceiveDispatchSend, ReceiverDataHandlingSubsystem=JMSEcho, ReceiverMethodName=ReceiveDispatchSend3. The component goes into endless loop as it interprets the response sent from

Siebel to the same queue as the next request. Query for the task with the command ‘list task for component JMSReceiver’ and kill the task with the command ‘stop task <taskid>’

4. Test the message in the ‘demoQueue’ queue. It should have a new xml sent from Siebel.

Testing SendReceive

1. Simulate the workflow ‘Macerich JMS SendReceive’ in tools simulator.2. Once the simulation is complete, check the ‘demoQueue’ queue. It should

have a new xml sent from Siebel.