Copyright © Cloud Software Group, Inc. All Rights Reserved
Copyright © Cloud Software Group, Inc. All Rights Reserved


Chapter 1 Preparing PeopleSoft : Preparing PeopleSoft Application Messages

Preparing PeopleSoft Application Messages
TIBCO ActiveMatrix Adapter for PeopleSoft uses PeopleSoft application messages as schemas for formatting and processing data between a PeopleSoft application and the TIBCO environment. PeopleSoft application messages must be prepared so the design-time adapter can download them to the adapter’s configuration tool, TIBCO Designer.
The preparation steps given under Procedure assume you know PeopleSoft procedures. For complete information about creating messages and making them available, see Integration Tools: PeopleSoft Integration Broker in PeopleSoft (Enterprise PeopleTools) Documentation Library.
Procedure lists the general setup tasks with PeopleTools if you want to use Integration Broker.
Configuration Procedure for Adapter Services lists the specific configuration details for each type of adapter service.
If you use an SSL connection, you also need to read Enabling SSL on the PeopleSoft Server.
Procedure
The following steps are involved in setting up the Integration Broker using PeopleTools. All the steps require you to log in to the PeopleSoft Pure Internet Architecture.
To Define Integration Gateways and Load Connectors
To Configure Integration Gateway Properties
To Set Up Integration
Before you start with configuration, make sure you finish loading TIBCO libraries on the PeopleSoft server and restart the server. See Loading TIBCO Libraries for more information.
 
Task A Configure Gateway URL and Activate Domain
To configure gateway URL and activate domain:
1.
Navigate to PeopleTools > Integration Broker > Configuration > Quick Configuration.
2.
Figure 7 Integration Broker Quick Configuration Pane
3.
Click the Ping Gateway button. Make sure a message that shows the gateway is active is displayed. See Figure 8 as an example.
Figure 8 PeopleSoft Integration Gateway Status Message
4.
5.
Click Save.
Task B Load Gateway Connectors
The Integration Broker allows you to define and customize target connectors. The steps to define a connector are the same for all adapter services. However, based on the adapter service selected, you need to select the appropriate target connector from the following three types of connectors:
HTTPTARGET connector: for IB Publication Service, IB Subscription Service and Request-Response Invocation service.
JMSTARGET connector: for IB Publication and Subscription Service.
TIBCOTARGET connector: for IB Publication and Request-Response Invocation Service.
TIBCOTARGET connector is a connector defined by TIBCO that is installed on the Integration Gateway. TIBCOTARGET Connector facilitates the exchange of JMS messages between PeopleSoft and the adapter.
See Configuration Procedure for Adapter Services for detailed setup procedures for each service.
To load and define gateway connectors:
1.
Navigate to PeopleTools > Integration Broker > Configuration > Gateways.
2.
Search the existing gateways. If no gateway satisfies your search criteria, click the Add A New Value link. In the Integration Gateway ID field, enter TIB_LOCAL, and click Add.
Figure 9 The Gateways Pane
3.
Fill in the information for the TIB_LOCAL gateway, as shown in Figure 10.
a.
Check the Local Gateway checkbox.
b.
Figure 10 Gateway Information
4.
Click the Load Gateway Connectors button. All loaded Gateway Connectors are shown in the Connectors area, as shown in Figure 11.
Figure 11 Default Gateway Connectors
 
5.
Connector ID: TIBCOTARGET
Connector Class Name: TibcoTargetConnector
6.
Click the Properties link for the TIBCOTARGET connector.
7.
For example, IBPUB.QUEUE
For example, IBPUB.TOPIC
tcp://TIBCO_EMS_server_name:port
For example, tcp://192.168.70.86:7222
Encrypted TIBCO_EMS_server_password
For example, "{V1.1}ZuI38CaBQOM=" for password "admin"
8.
Click OK to save the properties.
9.
Click Save to save the gateway information.
Task C Configure Integration Gateway Properties
After you define the default local integration gateway, specify the integration gateway URL and load the delivered connectors, you must configure the integration gateway properties file. To establish settings for the integration gateway and its delivered connectors, you use the integrationGateway.properties file under PS_HOME\webserv\peoplesoft\applications\peoplesoft\PSIGW\WEB-INF.
When the gateway server boots, it reads and applies the properties in the integrationGateway.properties configuration file. Changes that you make to the file while the server is running have no immediate effect.
If you want to make changes to the integrationGateway.properties file while the server is running, you can log in to PIA and change the properties online. PeopleSoft Integration Broker reapplies the configuration settings—including the changes—without rebooting.
To Access the Properties File using PIA
1.
Navigate to PeopleTools > Integration Broker > Configuration > Gateways.
2.
3.
Open the gateway and click the Gateways Setup Properties link next to the integration gateway URL field.
4.
5.
6.
7.
Click OK to save the properties.
8.
Click Save to save the integration gateway configuration.
To Configure Integration Gateway Properties
You need to configure the following integration gateway properties:
ig.isc.serverURL=PeopleSoft_server_name:port
ig.isc.userid=username
ig.isc.password=password
ig.isc.toolsRel=PeopleTools_version
Use the supplied Password Encryption Utility to generate an encrypted password for ig.isc.password.
If you want to use the JMS transport type in Queue mode, add the following properties for the queue. Replace # with the queue number. For example, if this is the third queue you specify, replace # with 3.
# Enter the number of Queue listeners to instantiate
ig.jms.Queues=#
 
ig.jms.Queue#=queue_name
ig.jms.Queue#.Provider=Tibco
ig.jms.Queue#.JMSFactory=QueueConnectionFactory
ig.jms.Queue#.MessageSelector=
ig.jms.Queue#.Url=tcp://TIBCO_EMS_server_name:port
ig.jms.Queue#.User=TIBCO_EMS_server_username
ig.jms.Queue#.Password=TIBCO_EMS_server_password
Use the supplied Password Encryption Utility to generate an encrypted password for ig.jms.Queue1.Password.
If you want to use the JMS transport type in Topic mode, add the following properties for the topic. Replace # with the topic number. For example, if this is the third topic you specify, replace # with 3.
# Enter the number of Topic listeners to instantiate
ig.jms.Topics=#
 
ig.jms.Topic#=topic_name
ig.jms.Topic#.Provider=Tibco
ig.jms.Topic#.JMSFactory=TopicConnectionFactory
ig.jms.Topic#.MessageSelector=
ig.jms.Topic#.Url=tcp://TIBCO_EMS_server_name:port
ig.jms.Topic#.User=TIBCO_EMS_server_username
ig.jms.Topic#.Password=TIBCO_EMS_server_password
Use the supplied Password Encryption Utility to generate an encrypted password for ig.jms.Topic1.Password.
Task D Define Nodes
Nodes represent any organization, application or system that will play a part in integrations. For example, nodes can represent customers, business units, suppliers, other trading partners, external or third-party software systems, and so on. Node definitions define the locations to or from which messages can be routed. Because an application can send messages to itself, a default local node definition that represents the application is delivered as part of the integration engine. Each PeopleSoft installation must have one, and only one, default local node.
To define a node, follow these steps:
1.
Navigate to PeopleTools > Integration Broker > Integration Setup > Nodes.
2.
3.
Click the Node Definitions tab to define the node, as shown in Figure 12.
a.
Enter Description.
b.
Select PIA from the Node Type drop-down list.
c.
Enter Default User ID.
d.
Check the Active Node checkbox.
Figure 12 Node Definitions
4.
Click the Connectors tab and define the connectors.
a.
Specify Gateway ID or click the button to look up the Gateway ID you defined in Task B, Load Gateway Connectors.
b.
Specify Connector ID or click the button to look up the Connector ID you defined in Task B, Load Gateway Connectors.
The connector properties are loaded as shown in Figure 13:
Figure 13 Node Connector Properties
c.
Click Ping Node. Make sure the result is success.
You must start your EMS server before you ping the node.
d.
Click Return.
5.
Click Save. The specified node is created.
Task E Define Messages
Message definitions provide the physical description of the data that is being sent, including fields, field types, and field lengths.
To define a message:
1.
Navigate to PeopleTools > Integration Broker > Integration Setup > Messages.
2.
3.
a.
Select Rowset from the Type drop-down list.
b.
Enter Message Name.
c.
Enter Message Version.
d.
Click Add.
See Figure 14 as an example:
Figure 14 Add a New Message
4.
Click the Message Definition tab and define the message.
a.
Enter Description
b.
Select Enterprise Components from the Owner ID drop-down list.
c.
Click the Add Record To Root link to add a level 0 record to the root node.
d.
See Figure 15 as an example. The COUNTRY_SYNC message has COUNTRY_TBL as its level 0 record and EO_ADDR_FMT_TBL as the child level 1 record.
Figure 15 Message Definition
 
5.
Click Save. The specified message is created.
Task F Define Message Queues
A message queue isolates different groups of service operations from each other. It needs to be created exclusively to handle messages meant for the adapter. You can also choose an existing message queue. If a message does not exist for a record from which data is to be exported, it needs to be created. Modifications to the existing messages might be required.
Task G Define Services
PeopleSoft Integration Broker enables you to take an existing component interface and create a service which can be used to invoke the component interface.
To define a service:
1.
Navigate to PeopleTools > Integration Broker > Integration Setup > Services.
2.
3.
4.
a.
Enter Description.
b.
Select Enterprise Components from the Object Owner ID drop-down list.
See Figure 16 as an example.
Figure 16 Service Information
5.
a.
Enter Service Operation.
b.
Select an Operation Type from the drop-down list.
c.
Click Add.
d.
Follow step 3 to step 8 in Task H, Define Service Operations to define the service operation.
6.
Click Save. The specified service is created.
Task H Define Service Operations
A service operation definition consists of general information about an operation, such as its name, description, and so on. It also specifies an operation type, which determines how the operation is to be processed, synchronously or asynchronously. In addition, it contains routings which determine the direction, inbound or outbound, of the service operation. A service operation has one or more handlers, which contain and run the programming logic for sending or receiving the message, manipulating message content, and other functions.
The Integration Broker allows you to define and customize service operations. The steps to define a service operation are the same for all adapter services. However, based on the adapter service selected, you need to select the appropriate operation type from the following two choices:
Asynchronous - One Way: for Message Subscription Service and Message Publication Service.
Synchronous: for Message Request Response Invocation Service.
To define a service operation:
1.
Navigate to PeopleTools > Integration Broker > Integration Setup > Service Operations.
2.
3.
a.
Specify Service or click the button to look up the service you defined in Task G, Define Services.
b.
Specify the Service Operation name.
c.
Select the appropriate Operation Type from the drop-down list.
d.
Click Add.
4.
Click the General tab and fill in the information:
a.
Enter Operation Definition.
b.
Select Enterprise Components from the Object Owner ID drop-down list.
c.
Enter Version.
d.
Check the Active checkbox.
e.
Specify Message.Version or click the button to look up the message you defined in Task E, Define Messages.
f.
Specify Queue Name or click the button to look up the message queue you defined in Task F, Define Message Queues.
See Figure 17 as an example.
Figure 17 Service Operation Information
5.
Click the Routings tab. Enter the Routing Name and click Add.
6.
Follow step 4 to step 6 in Task I, Define Routings to define the routing.
7.
Check the Selected checkbox of the routing you defined and want to use. Then click Activate Selected Routings. Make sure the selected routing is active. See Figure 18 as an example.
Figure 18 Activate A Selected Routing
8.
Click Save. The specified service operation is created.
Task I Define Routings
Routing definitions determine the sender and receiver of an integration. Routing definitions allow you to specify inbound and outbound transformations that enable you to transform data structures into those that the sending or receiving systems can understand.
The Integration Broker allows you to define and customize routings. The steps to define a routing are the same for all adapter services. However, based on the adapter service selected, you need to select the appropriate sender node and receiver node. See Configuration Procedure for Adapter Services for the specific configuration details for each type of adapter service.
To define a routing:
1.
Navigate to PeopleTools > Integration Broker > Integration Setup > Routings.
2.
3.
Enter Routing Name, and click Add.
4.
Click the Routing Definitions tab and define the routing:
a.
Specify Service Operation or click the button to look up the service you defined in Task H, Define Service Operations.
b.
c.
d.
Specify Sender Node or click the button to look up the node you defined in Task D, Define Nodes.
e.
Specify Receiver Node or click the button to look up the node you defined in Task D, Define Nodes.
f.
Select PeopleTools from the Object Owner ID drop-down list.
See Figure 19 as an example.
Figure 19 Routing Definitions
5.
a.
Specify Gateway ID or click the button to look up the gateway you defined in Task A, Configure Gateway URL and Activate Domain.
b.
Specify Connector ID or click the button to look up the connector you defined in Task B, Load Gateway Connectors.
6.
Click Save. The specified routing is created.
Configuration Procedure for Adapter Services
The general tasks listed in Procedure are the same for all adapter services, but the values assigned to certain parameters will differ based on the adapter services configured. This section introduces the detailed information for each adapter service as follows:
You may select one of the following transport types for each adapter service.
Message Publication Service
To Configure Integration Broker by Using PeopleTools
Select a transport type and follow these steps:
1.
a.
If you want to use the HTTP transport type, you may use the default gateway TIB_LOCAL, and then add a connector entry HTTPTARGET to it. Click the Properties link for HTTPTARGET connector to open the Connector Properties pane and add the properties listed in Table 8 for the connector.
HTTP_server_name:port
For example, http://127.0.0.1:2002
b.
If you want to use the JMS transport type, you may use the default gateway TIB_LOCAL and the default JMSTARGET connector, or add a connector entry TIBCOTARGET to it. Click Properties of the TIBCOTARGET connector to open the Connector Properties pane and add the properties listed in Table 7 for the connector.
2.
If you want to use the JMS transport type, configure the following properties:
ig.jms.Queue#: Use this property only if you want to use Queue as the JMS Connection Factory for the adapter. This value should match the Subscriber Subject under the SubscriberOptions tab in TIBCO Designer.
ig.jms.Topic#: Use this property only if you want to use Topic as the JMS Connection Factory for the adapter. This value should match the Subscriber Subject under the SubscriberOptions tab in TIBCO Designer.
See SubscriberOptions Tab for more details about configuring a connection factory in TIBCO Designer.
3.
a.
HTTPPROPERTY: Specify the method as POST.
PRIMARYURL: Specify the URL for the HTTP Listening Connector of the adapter. For example, http://127.0.0.1:2002
b.
JMSQueue: Use this property only if you want to use Queue as the JMS Connection Factory for the adapter. The value of JMSQueue in PIA should match the Subscriber Subject under the SubscriberOptions tab in TIBCO Designer.
JMSTopic: Use this property only if you want to use Topic as the JMS Connection Factory. The value of JMSTopic in PIA should match the Subscriber Subject under the SubscriberOptions tab in TIBCO Designer.
See SubscriberOptions Tab for more details about configuring a connection factory in TIBCO Designer.
JMSUrl: Enter the URL for the TIBCO Enterprise Message Server (EMS). For example, tcp://192.168.66.145:7222
ServiceType: PUBLISHER
4.
To define a message, see Define Messages. You can define a new message or just use the pre-defined messages.
5.
To define a service, see Define Services. You can define a new service for the message you defined in step 4 or just use the related service that PeopleSoft delivered.
6.
To define a service operation, see Define Service Operations. You can define a new service operation for the service you defined in step 5.
Select Asynchronous - One Way from the Operation Type drop-down list.
7.
To define a routing, see Define Routings. To configure routings, you need to correctly set the sender node and the receiver node.
Sender node: must be a local node in the PeopleSoft server, for example, PSFT_HR.
To Configure PeopleCode by Using PeopleTools Application Designer
To configure the PeopleCode of your desired component:
1.
2.
Select File > Open to open the Open Definition dialog, and then select Component from the Definition drop-down list. Type the component name, such as COUNTRY_TABLE in the Name field and then click Open.
3.
4.
Figure 20 SavePostChange PeopleCode in Application Designer
5.
Replace the %message_name% with the corresponding message name without any quotes.
This PeopleCode will go into the SavePostChange event for the required component.

 
Local Message &MSG;
Local Rowset &RS0, &RS01, &RS11;
Local Row &R1;
PanelGroup string &PubNodeName;
 
Function MessageFilled(&MSG As Message) Returns boolean;
 
   /** Assumption: All Key Fields are Published **/
 
   /** &MSG -- Inbound Message Object **/
   /** &MSG_FILLED -- Boolean Return Value **/
   /** True - Message Filled **/
   /** False - Message Not Filled **/
 
   /****************************************************************/
   /** BEGIN: Check If Message Is Filled -- Check L0 Record Keys **/
   /****************************************************************/
 
   &ZERO = 0;
 
   &MSG_FILLED = False; /** Set Message Filled Indicator to False **/
   &MSG_RS = &MSG.GetRowset(); /** Set Rowset Pointer Level 0 Message Rowset **/
 
   For &NBR_TRANSACTIONS = 1 To &MSG_RS.RowCount; /** Navigate to A Message Transaction **/
 
      &TRANSACTION = &MSG_RS.GetRow(&NBR_TRANSACTIONS);
 
      For &NBR_RECORDS = 1 To &TRANSACTION.RecordCount /** Navigate to A Level 0 Record **/
   
         &REC = &TRANSACTION.GetRecord(&NBR_RECORDS);
 
         &NBR_KEYS = 0; /** Number of Record Keys Counter **/
         &NBR_POPULATED_KEYS = 0; /** Number of Populated Record Keys **/
 
         If &REC.Name <> "PSCAMA" Then /** Check Record Keys only if Message Record is not PSCAMA **/
 
            For &NBR_FIELDS = 1 To &REC.FieldCount /** Navigate to Level 0 Record Fields **/
 
               &FIELD = &REC.GetField(&NBR_FIELDS);
               &IS_KEY = &FIELD.IsKey;
 
               /** Count Number of Keys and Number of Populated Keys **/
               If &IS_KEY Then
                  &FIELD_VALUE = &FIELD.Value;
                  If All(&FIELD_VALUE) Or &FIELD_VALUE = &ZERO Then
                     &NBR_POPULATED_KEYS = &NBR_POPULATED_KEYS + 1;
                  End-If;
                  &NBR_KEYS = &NBR_KEYS + 1;
               Else
                  &NBR_FIELDS = &REC.FieldCount
               End-If;
 
            End-For; /** For &NBR_FIELDS = 1 To &REC.FieldCount **/
 
            /** Number of Key Flags = Number of Key Flags Populated ==> All Keys Populated ==> Message Populated **/
            If &NBR_KEYS = &NBR_POPULATED_KEYS Then
               &MSG_FILLED = True;
            End-If;
 
         End-If; /** If &REC.Name <> "PSCAMA" Then **/
 
      End-For; /** For &NBR_RECORDS = 1 To &TRANSACTION.RecordCount **/
 
   End-For; /** For &NBR_TRANSACTIONS = 1 To &RS.RowCount; **/
 
   /**************************************************************/
   /** END: Check If Message Is Filled -- Check L0 Record Keys **/
   /**************************************************************/
 
   Return &MSG_FILLED;
 
End-Function;
 
If ActiveRowCount() = CurrentRowNumber() Then
   
   &MSG = CreateMessage(Message.%message_name%);
   If All(&PubNodeName) Then
      &MSG.DoNotPubToNodeName = &PubNodeName;
   End-If;
   If &MSG.IsActive Then
      &MSG.CopyRowsetDelta(GetLevel0());
      If MessageFilled(&MSG) Then
         &MSG.Publish();
      End-If;
   End-If;
 
End-If;

 
6.
Message Subscription Service
To Configure Integration Broker by Using PeopleTools
Select a transport type and follow these steps:
1.
a.
If you want to use the HTTP transport type, you may use the default gateway TIB_LOCAL, and then add a connector entry HTTPTARGET to it. Click the Properties link for HTTPTARGET connector to open the Connector Properties pane and add the properties listed in Table 9 for the connector.
HTTP_server_name:port
For example, http://127.0.0.1:2002
b.
If you want to use the JMS transport type, you may use the default gateway TIB_LOCAL, and then add a connector entry JMSTARGET to it. Click Properties of the JMSTARGET connector to open the Connector Properties pane and configure the properties listed in Table 10 for the connector. The JMSQueue name IBSUB.QUEUE should differ with the queue name of the Message Subscription Service in TIBCO Designer.
tcp://TIBCO_EMS_server_name:port
For example, tcp://192.168.66.145:7222
2.
If you want to use the JMS transport type, configure the following properties:
ig.jms.Queue#: Use this property only if you want to use Queue as the JMS Connection Factory for the adapter. This value should match the IB Subscriber Subject under the SubscriberOptions tab in TIBCO Designer.
ig.jms.Topic#: Use this property only if you want to use Topic as the JMS Connection Factory for the adapter. This value should match the IB Subscriber Subject under the SubscriberOptions tab in TIBCO Designer.
See SubscriberOptions Tab for more details about configuring a connection factory for Message Subscription Service in TIBCO Designer.
3.
To define a node, for example TIB_NODE, enter the following Connection Properties. See Define Nodes.
a.
HTTPPROPERTY: Specify the method as GET.
PrimaryURL: Specify the URL for the HTTP listening connector of the adapter. For example, http://127.0.0.1:2002
b.
JMSFactory: QueueConnectionFactory or TopicConnectionFactory depending on the Connection Factory type that you want to use.
See SubscriberOptions Tab for more details about configuring a connection factory for Message Subscription Service in TIBCO Designer.
JMSProvider: TIBCO
JMSUrl: Enter the URL of the TIBCO Enterprise Message Server (EMS) server. For example, tcp://192.168.66.145:7222
4.
To define a message, see Define Messages. You can define a new message or just use the pre-defined messages.
5.
To define a service, see Define Services. You can define a new service for the message you defined in step 4 or just use the related service that PeopleSoft delivered.
6.
To define a service operation, see Define Service Operations. You can define a new service operation for the service you defined in step 5.
Select Asynchronous - One Way from the Operation Type drop-down list.
Your service operation name has to be the same as your message name. For example, if your message name is CURRENCY_SYNC, your service operation name must also be CURRENCY_SYNC.
7.
To define a routing, see Define Routings. To configure routings, you need to correctly set the sender node and the receiver node.
Receiver node: must be a local node in the PeopleSoft server, for example, PSFT_HR.
To Configure PeopleCode by Using PeopleTools Application Designer
To configure the PeopleCode of your desired component:
1.
2.
Select File > Open to open the Open Definition dialog, and then select Message from the Definition drop-down list. Type the message name, such as CURRENCY_SYNC in the Name field and then click Open to open the Message Definition pane.
3.
4.
5.
This PeopleCode will go into the Subscription event of the PeopleCode for the required Component.
Replace the record_name with the corresponding message name without any quotes.

 
Local Message &MSG;
Local Rowset &LEVEL0;
Local Record &rLocation, &REC;
 
&MSG = GetMessage();
&rLocation = CreateRecord(Record.record_name);
&LEVEL0 = &MSG.GetRowset();
/* Multiple level 0 rows may exist in AE batch programs,
but not with online panel processing... */
&REC = &LEVEL0(1).record_name;
&MSG.ExecuteEdits();
If &MSG.IsEditError Then
/*Specific error will be visible in App Msg Monitor */
MessageBox(0, "", 2, 0, "message is edited error");
Exit (1);
Else
&AUDIT_ACTN = &MSG.GetRowset()(1).PSCAMA.AUDIT_ACTN.Value;
Evaluate &AUDIT_ACTN
When = "U"
/* Data from publishing node was changed */
&REC.CopyFieldsTo(&rLocation);
&RES = &rLocation.Update();
/* If update failed, it is probably because the data in
the two databases hasn't been synchronized.
Try insert action as a last resort. */
If &RES = False Then
&rLocation.Insert();
End-If;
Break;
When = "A"
/* New high order key inserted in publishing node */
&REC.CopyFieldsTo(&rLocation);
&rLocation.Insert();
Break;
When = "D"
/* High order key was deleted in publishing node */
&REC.CopyFieldsTo(&rLocation);
&rLocation.Delete();
Break;
End-Evaluate;
End-If;

 
6.
To Configure PeopleSoft Web Server
1.
Modify the web.xml file located in PS_HOME\webserv\peoplesoft\applications\peoplesoft\PSIGW
\WEB-INF
as following:

 
<servlet>
<servlet-name>JMSListeningConnectorAdministrator</servlet-name>
<servlet-class>com.peoplesoft.pt.integrationgateway.listeningconnector.JMSListeningConnectorAdministrator </servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>JMSListeningConnectorAdministrator</servlet-name>
<url-pattern>/JMSListeningConnectorAdministrator/*</url-pattern>
</servlet-mapping>

 
2.
3.
http://peoplesoft_server_name/PSIGW/JMSListeningConnectorAdministrator?Activity=START
http://peoplesoft_server_name/PSIGW/JMSListeningConnectorAdministrator?Activity=STOP
Request-Response Invocation Service
To Configure Integration Broker by Using PeopleTools
Select a transport type and follow these steps:
1.
a.
If you want to use the HTTP transport type, you may use the default gateway TIB_LOCAL, and then add a connector entry HTTPTARGET to it. Click the Properties link for HTTPTARGET connector to open the Connector Properties pane and add the properties listed in Table 8 for the connector.
b.
If you want to use the JMS transport type, you may use the default gateway TIB_LOCAL and then add a connector entry TIBCOTARGET to it. Click Properties of the TIBCOTARGET connector to open the Connector Properties pane and add the properties listed in Table 7 for the connector.
2.
If you want to use the JMS transport type, configure the following properties:
ig.jms.Queue#: Use this property only if you want to use Queue as the JMS Connection Factory for the adapter. This value should match the Subscriber Subject under the SubscriberOptions tab in TIBCO Designer.
ig.jms.Topic#: Use this property only if you want to use Topic as the JMS Connection Factory for the adapter. This value should match the Subscriber Subject under the SubscriberOptions tab in TIBCO Designer.
See SubscriberOptions Tab for more details about configuring a connection factory for Request-Response Invocation Service in TIBCO Designer.
3.
a.
HTTPPROPERTY: Specify the method as POST.
PRIMARYURL: Specify the URL for the HTTP Listening Connector of the adapter. For example, http://127.0.0.1:2002
b.
JMSQueue: Use this property only if you want to use Queue as the JMS Connection Factory for the adapter. The value of JMSQueue in PIA should match the Subscriber Subject under the SubscriberOptions tab in TIBCO Designer.
JMSTopic: Use this property only if you want to use Topic as the JMS Connection Factory. The value of JMSTopic in PIA should match the Subscriber Subject under the SubscriberOptions tab in TIBCO Designer.
See SubscriberOptions Tab for more details about configuring a connection factory for Request-Response Invocation Service in TIBCO Designer.
JMSUrl: Enter the URL for the TIBCO Enterprise Message Server (EMS). For example, tcp://192.168.66.145:7222
ServiceType: RPCCLIENT
4.
To define a message, see Define Messages. You can define a new message or just use the pre-defined messages.
5.
To define a service, see Define Services. You can define a new service for the message you defined in step 4 or just use the related service that PeopleSoft delivered.
6.
To define a service operation, see Define Service Operations. You can define a new service operation for the service you defined in step 5.
Select Synchronous from the Operation Type drop-down list. Configure the handler of the service operation in the Handlers tab.
7.
To define a routing, see Define Routings. To configure routings, you need to correctly set the sender node and the receiver node.
Sender node: must be a local node in the PeopleSoft server, for example, PSFT_HR.
To Configure PeopleCode by Using PeopleTools Application Designer
To configure the PeopleCode of your desired component:
1.
2.
Select File > Open to open the Open Definition dialog, and then select Component from the Definition drop-down list. Type the component name, such as COUNTRY_TABLE in the Name field and then click Open.
3.
4.
5.
Replace the service_operation_name with the corresponding message name without any quotes.
This PeopleCode will go into the SavePostChange event for the required component.

 
Local Message &msg;
Local Message &msg1;
Local Rowset &rowSet;
Local XmlDoc &xmlDoc;
Local string &xmlString;
Local XmlNode &rootNode;
Local XmlNode &actionNode;
 
&rowSet = GetLevel0();
&msg = CreateMessage(Operation.service_operation_name);
&msg1 = CreateMessage(Operation.service_operation_name);
&msg.CopyRowset(&rowSet);
&xmlString = &msg.GenXMLString();
&xmlDoc = CreateXmlDoc(&xmlString);
&rootNode = &xmlDoc.DocumentElement;
&actionNode = &rootNode.FindNode("MsgData/Transaction/PSCAMA/AUDIT_ACTN");
&actionNode.NodeValue = %Mode;
&xmlString = &xmlDoc.GenXmlString();
&msg1.LoadXMLString(&xmlString);
MessageBox(0, "", 2, 0, &xmlString);
&response = %IntBroker.SyncRequest(&msg1);
 
If (&response.ResponseStatus = 0) Then
   &XML_STRING = &response.GenXMLString();
   &SUCCESS_FILE = GetFile("c:\temp\sync0.txt", "w", "a", %FilePath_Absolute);
   &SUCCESS_FILE.WriteLine(&XML_STRING);
   &SUCCESS_FILE.Close();
   MessageBox(0, "", 2, 0, "success");
Else
   MessageBox(0, "", 2, 0, "error");
End-If

 
6.
Enabling SSL on the PeopleSoft Server
If you want to use SSL connection, you need to make the following configurations in addition to Procedure.
Before you make these configurations, you need to prepare TIBCO EMS Server and load the necessary library files to PeopleTools. See also:
"Chapter 18, Using the SSL Protocol" in TIBCO Enterprise Message Service User’s Guide
 
Task A Configuring TIBCOTARGET Connector
Besides the connector properties in Table 7, TIBCOTARGET Connector Properties, you need to add the properties in Table 11, TIBCOTARGET Connector SSL Properties to the TIBCOTARGET connector. The table refers to the EMS server as "server" and the PeopleSoft server as "client".
ssl://TIBCO_EMS_server_name:SSL_port
For example, ssl://192.168.70.86:7243
For example, "+RC4-MD5:+RC4-SHA"
The value of this parameter is used when the ssl_verify_hostname parameter is enabled.
For example, "certs/client_identity.p12".
Specifies whether the client should verify the EMS server’s certificate. The values for this parameter are enabled or disabled. By default, this parameter is enabled, signifying the client should verify the server’s certificate.
For more details, see "Configuring SSL in EMS Clients" in TIBCO Enterprise Message Service User’s Guide.
Task B Configure Integration Gateway Properties
Besides the properties described in Configure Integration Gateway Properties, you need to add the following SSL-specific properties to the specific queue or topic listener you defined in the JMS configuration section of integrationGateway.properties.
ig.jms.Queue#.Url=ssl://TIBCO_EMS_server_name:ssl_port
ig.jms.Queue#.SecurityPrincipal=security_principal
ig.jms.Queue#.SecurityCredentials=password_for_certificates
Use the supplied Password Encryption Utility to generate an encrypted password for ig.jms.Queue#.SecurityCredentials.
ig.jms.Topic#.Url=ssl://TIBCO_EMS_server_name:ssl_port
ig.jms.Topic#.SecurityPrincipal=security_principal
ig.jms.Topic#.SecurityCredentials=password_for_certificates
Use the supplied Password Encryption Utility to generate an encrypted password for ig.jms.Topic#.SecurityCredentials.
Task C Define Node for SSL Connection
You need to define a separate node for SSL connection. To define a node, follow the steps in Define Nodes. Update the properties in the Connectors tab to match the SSL-specific properties you specified in Task A, Configuring TIBCOTARGET Connector.

Copyright © Cloud Software Group, Inc. All Rights Reserved
Copyright © Cloud Software Group, Inc. All Rights Reserved