You are on page 1of 5

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\CLA
SSES\SiebelJI_enu.jar;D:\product\10.1.3.1\OracleAS_1\j2ee\home\oc
4jclient.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:\sba80
ucm;.
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\siebsr
vr\CLASSES\SiebelJI_enu.jar;D:\product\10.1.3.1\OracleAS_1\j2ee\home\oc
4jclient.jar;D:\product\10.1.3.1\OracleAS_1\j2ee\home\lib\jms.jar;D:\produc
t\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

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

java.naming.factory.initial=com.evermind.server.rmi.RMIInitialContextFactory
java.naming.provider.url=ormi://pluto:12401
java.naming.security.principal=oc4jadmin
java.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.dll
CLASSPATH =
D:\sba80ucm\siebsrvr\CLASSES\Siebel.jar;D:\sba80ucm\siebsrvr\CLASSES\Sieb
elJI_enu.jar;D:\product\10.1.3.1\OracleAS_1\j2ee\home\oc4jclient.jar;D:\produ
ct\10.1.3.1\OracleAS_1\j2ee\home\lib\jms.jar;D:\product\10.1.3.1\OracleAS_1\j
2ee\home\lib\jta.jar;D:\product\10.1.3.1\OracleAS_1\opmn\lib\optic.jar;D:\sba8
0ucm\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 Converter
b. Business Service Method: XMLDocToIntObjHier
c. 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: SiebelMessage
5. Add another business service step with the following details
a. Business Service Name: EAI Siebel Adapter
b. Business Service Method: Query
c. 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: SiebelMessage
6. Add another business service step with the following details
a. Business Service Name: EAI XML Converter
b. Business Service Method: IntObjHierToXMLDoc
c. Input Arguments:
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></List
OfAccount></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 Adapter
b. Business Service Method: Query
c. 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: SiebelMessage
5. Add another business service step with the following details
a. Business Service Name: EAI XML Converter
b. Business Service Method: IntObjHierToXMLDoc
c. Input Arguments:
i. Input Argument: SiebelMessage; Type: Process Property;
Property Name: Order Message
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 Transport
b. Business Service Method: SendReceive
c. 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 details
a. Business Service Name: EAI XML Converter
b. Business Service Method: XMLDocToIntObjHier
c. 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: SiebelMessage
12. Add this step only for Siebel and NOT for UCM: add another business
service step with the following details
a. Business Service Name: EAI Siebel Adapter
b. Business Service Method: Update
c. 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: SiebelMessage
7. 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 > Components


2. Query for component ‘JMS Receiver’
3. Set the following values in the Parameters child applet:
a. JVM Subsystem Name: ADMJavaSubsys
b. Receiver Connection Subsystem: JMS_Q1ReceiveDispatchSend
c. Receiver Data Handling Subsystem: JMSEcho
d. Receiver Method Name: ReceiveDispatchSend
e. 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=ReceiveDispatchSend
3. 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.

You might also like