Setting Up WebSphere Persistent Queues

12
Setting up WebSphere Persistent Queues & Multi Cluster When using the Maximo Enterprise Adapter (MEA) in a clustered environment the following should be considered. For best performance with minimal impact to users, the MEA can be configured to run on a single instance of Maximo while users log in and work with User Interface (UI) Instances of Maximo. In this case, you will need separate application servers (MEA and UI instances). To share these resources, all resources will need to be defined at the cell level within the WebSphere console. The reason for this is although the MEA instance will do all of the processing of inbound transactions, outbound transaction events will still occur from the UI instances upon saving Maximo records. This means that the UI instances need to have access to the JMS resources used by the MEA in order to be able to send outbound messages. The MEA instance which will be responsible for processing inbound MEA transactions from the continuous queue will need to have the Message Driven Bean (MDB) deployed along with the Maximo application to it's own application server and therefore will need a maximo.ear build that is slightly different than the UI instances which will not need the Message Driven Bean running within them. Below you will find instructions for setting up a cluster environment for UI instances of Maximo and a stand- alone application server for Maximo MEA transaction processing. In the example configuration below, we will use the following names: MAXIMOMEA is the application server for the Maximo Enterprise Adapter instance MAXIMOSERVER is the application server for the Maximo User Interface MAXIMOCLUSTER is the cluster MAXIMOUI1 is a clustered server for the UI MAXIMOUI2 is a clustered server for the UI Before you begin: Follow the instructions in the Maximo System Administrator's Guide to create your initial application server Name the server MAXIMOSERVER Follow the steps again and create a second application server Name this server MAXIMOMEA NOTE: When setting the maximum heap size for the MAXIMOMEA application server JVM, the admin guide says to set this to 1024MB, however, since this application server will not be used by users directly, the memory size can be increased to 2048MB so that it can handle large volumes of messages Creating a cluster and cluster members 1. Open the Administrative Console. 2. Click Servers > Clusters in the navigation pane. 3. Click New in the Server Cluster pane. 4. In Step 1 of the Enter Basic Cluster Information panel, perform the following actions: a) Type MAXIMOCLUSTER in the Cluster name field. b) Select the Prefer local box. c) Select Do not include an existing server in this cluster button. d) Click Next.

description

Setting Up WebSphere Persistent Queues

Transcript of Setting Up WebSphere Persistent Queues

Page 1: Setting Up WebSphere Persistent Queues

Setting up WebSphere Persistent Queues amp Multi Cluster

When using the Maximo Enterprise Adapter (MEA) in a clustered environment the following should be considered For best performance with minimal impact to users the MEA can be configured to run on a single instance of Maximo while users log in and work with User Interface (UI) Instances of Maximo

In this case you will need separate application servers (MEA and UI instances) To share these resources all resources will need to be defined at the cell level within the WebSphere console The reason for this is although the MEA instance will do all of the processing of inbound transactions outbound transaction events will still occur from the UI instances upon saving Maximo records This means that the UI instances need to have access to the JMS resources used by the MEA in order to be able to send outbound messages The MEA instance which will be responsible for processing inbound MEA transactions from the continuous queue will need to have the Message Driven Bean (MDB) deployed along with the Maximo application to its own application server and therefore will need a maximoear build that is slightly different than the UI

instances which will not need the Message Driven Bean running within them Below you will find instructions for setting up a cluster environment for UI instances of Maximo and a stand-alone application server for Maximo MEA transaction processing In the example configuration below we will use the following names MAXIMOMEA is the application server for the Maximo Enterprise Adapter instance MAXIMOSERVER is the application server for the Maximo User Interface MAXIMOCLUSTER is the cluster MAXIMOUI1 is a clustered server for the UI MAXIMOUI2 is a clustered server for the UI

Before you begin Follow the instructions in the Maximo System Administrators Guide to create your initial application server Name the server MAXIMOSERVER Follow the steps again and create a second application server Name this server MAXIMOMEA NOTE When setting the maximum heap size for the MAXIMOMEA application server JVM the admin guide says to set this to 1024MB however since this application server will not be used by users directly the memory size can be increased to 2048MB so that it can handle large volumes of messages

Creating a cluster and cluster members 1 Open the Administrative Console 2 Click Servers gt Clusters in the navigation pane 3 Click New in the Server Cluster pane 4 In Step 1 of the Enter Basic Cluster Information panel perform the following actions a) Type MAXIMOCLUSTER in the Cluster name field b) Select the Prefer local box

c) Select Do not include an existing server in this cluster button d) Click Next

5 In Step 2 of the Create New Clustered Servers panel perform the following actions a) Type MAXIMOUI1 in the Member name field b) Accept the defaults in the Select Node and Weight fields c) Select Generate Unique Http Ports d) Select the Existing application server button and choose MAXIMOSERVER (this is the application server

name created initially for Maximo) from the drop down list e) Click Apply 6 Repeat step 5 to create a second cluster member and in the Member name field enter MAXIMOUI2 NOTE You do not have to perform step 5-d when you create additional clustered servers because MAXIMOUI2 automatically defaults to the template you selected for MAXIMOUI1 7 Click Next 8 Click Finish to create the cluster and clustered servers

9 Click Save 10 Select Synchronize changes with Nodes then click Save again Update Virtual Hosts This procedure describes how to verify port numbers used by the clustered servers It also explains how to update the virtual host with the port number information A virtual host enables a single host machine to resemble multiple host machines Each virtual host has a logical name and a list of one or more DNS aliases by which it is known 1 To verify port numbers of the clustered application servers perform the following actions

a) In the navigation pane click Servers gt Application Servers b) In the Application Servers panel click MAXIMOUI1 c) Under the Communication heading click Ports d) Note the WC_defaulthost port for use in Step 3 below (for example step 3-h requires a WC_defaulthost port) 2 Repeat Step 1 for MAXIMOUI2 3 In the navigation pane click Environment gt Virtual Hosts

Complete the following actions a) Click New to add a new virtual host for the cluster then enter MAXIMOCLUSTER_host for the Name b) Click Apply c) Click Host Aliases under Additional Properties d) Click New in the Host Alias panel to add Host name and port number values to the host aliases list e) Enter the following Host Name Port 80 (same as port number for the IBM HTTP Server) f) Click OK g) Click Host Aliases then click New h) Enter the following Host Name

Port 9081 (same as port number for MAXIMOUI1) i) Click OK j) Click Host Aliases then click New k) Enter the following Host Name Port 9082 (same as port number for MAXIMOUI2) l) Click OK 4 To save the configuration complete the following actions

a) Click Save b) Check Synchronize changes with Nodes c) Click Save -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

Creating data source providers for JMS stores Set two data sources in the WebSphere console for use by the JMS resources Note that each data source will require a unique schema one will be used by the MEA instance and the other by the cluster This is a WebSphere requirement that two message engines require unique schema names As you add bus members each member added will cause a unique message engine to be created In this configuration there are two members the MEA instance and the cluster Since two schemas will be required for this configuration and the first schema name will be the maximo schema work with your DBA to create a second schema in the same database specifically for use by the second data source before proceeding with the steps below

The user that owns the second schema must be able to create tables Creating the data source provider 1 Log in to the WebSphere console and from the left pane select ResourcesJDBC Providers 2 On the JDBC providers screen set the scope to be the cell and click Apply This can be done by clearing all fields before clicking the apply button 3 Click the new button 4 In the General Properties select your database type and provider type (ie oracle and oracle driver) In the implementation type dropdown select XA data source

5 click next 6 In the name field enter oraclexa 7 In the classpath text box enter (be sure to correct the path to reflect your oraclethinjar path) Cmaximoapplicationsmaximoliboraclethinjar 8 click apply and save and synchronize with other nodes

Creating the first data source 1 Navigate to your JDBC provider called oraclexa 2 click the link on the right side of the screen called data sources 3 click the new button 4 In the name field enter the value oraclexads 5 In the JNDI name field enter the value jdbcoraclexads

6 Select a data store helper class for your oracle version ie Oracle 9i and prior data store helper 7 In the URL field enter your JDBC URL (this can be found in your maximoproperties if you are not sure) jdbcoraclethinsatbfuller1521maximo

8 Click apply save and synchronize with other nodes Creating your first authentication data entry

1 Navigate to your JDBC provider called oraclexa then click data sources and select your data source called oraclexads 2 On the right side of the screen under Related Items click the link for J2ee Connection Architecture Authentication data entries 3 click the new button 4 In the alias field enter a value you would like to use ie maximo 5 enter the username and password used to connect to the database ie maximomaximo 6 Enter a Description that identifies this entry 7 Click apply 8 Save and synchronize with other nodes 9 Navigate back to your data source called oraclexads

10 In the dropdown field for Component managed authentication alias select your data alias (ie maximo) 11 Click apply and save and synchronize with other nodes 12 Navigate to your data source again and click the test button at the top of the screen to test your data source Once the test has succeeded you can proceed to the next data source Creating the second data source 1 Navigate to your JDBC provider oraclexa

2 click the link on the right side of the screen called data sources 3 click the new button 4 In the name field enter the value oraclexads2 5 In the JNDI name field enter the value jdbcoraclexads2 6 Select a data store helper class for your oracle version

ie Oracle 9i and prior data store helper 7 In the URL field enter your JDBC URL (this will be the URL to your new schema used for the second store) jdbcoraclethinsatbfuller1521maximo2 8 Click apply save and synchronize with other nodes

Creating your second authentication data entry 1 Navigate to your JDBC provider called oraclexa then click data sources and select your data source called oraclexads2 2 On the right side of the screen under Related Items click the link for J2ee Connection Architecture Authentication data entries 3 click the new button 4 In the alias field enter a value you would like to use ie maximo2 5 enter the username and password used to connect to the database ie maximomaximo

6 Enter a Description that identifies this entry 7 Click apply 8 Save and synchronize with other nodes 9 Navigate back to your data source called oraclexads2 10 In the dropdown field for Component managed authentication alias select your data alias (ie

maximo2) 11 Click apply and save and synchronize with other nodes 12 Navigate to your data source again and click the test button at the top of the screen to test your data source Once the test has succeeded you can proceed to the next section Creating JMS resources for use in a clustered environment Creating the JMS buses

1 Log in to the WebSphere console and navigate in the left pane to Integrationbuses 2 Click the new button to create a new bus 3 In the name field enter meajmsbus 4 Deselect the secure checkbox 5 Change the high message threshold to 500000 messages 6 Click apply 7 Navigate again in the left pane to Integrationbuses 8 Click the new button to create a second new bus 9 In the name field enter uijmsbus 10 Deselect the secure checkbox 11 Change the high message threshold to 500000 messages

12 Click apply Adding members to the bus 1 Navigate in the left pane to Integrationbuses 2 Select the first bus created above called meajmsbus 3 Under additional properties select bus members 4 Click the Add button 5 Add the MAXIMOMEA server as a bus member by selecting that under the server section 6 In the data source JNDI name field enter

jdbcoraclexads 7 click Next 8 click finish 9 Navigate in the left pane to Integrationbuses 10 Select the second bus created above called uijmsbus 11 Add the MAXIMOCLUSTER by selecting that under the cluster section 12 In the data source JNDI name field enter

jdbcoraclexads2 13 Save and synchronize with other nodes Setting the data store schema and authentication alias 1 Select the bus member (MEA instance) of your meajmsbus bus 2 from the list of message engines select your message engine

3 Under additional properties click data store 4 In the data source JNDI name field enter jdbcoraclexads 5 In the schema name field enter your maximo schema name (ie maximo)

6 In the authentication alias dropdown select the alias created for the data source above 7 click OK 8 Navigate back to your list of buses and select the uijmsbus 9 Select the bus member (Cluster) of your uijmsbus bus 9 From the list of message engines select your message engine 10 Under additional properties click data store 11 In the data source JNDI name field enter jdbcoraclexads2 12 In the schema name field enter your second schema created above by your DBA (ie maximo2)

13 In the authentication alias dropdown select the second alias created for this data source above 14 Click OK 15 Save and synchronize with other nodes Creating bus destinations 1 Log in to the WebSphere console and navigate to Service Integrationbuses 2 Select your bus meajmsbus 3 Under Additional properties click destinations 4 click the new button

5 Set the destination type as queue and click next 6 In the identifier field enter cqinbdcls 7 Assign the queue in the next screen to the MAXIMOMEA application server 8 Click next 9 Click finish 10 Repeat the steps above to create the sqinbdcls destination and assigning it to the MAXIMOMEA application server 11 Navigate in the WebSphere console to Service Integrationbuses 12 Select your bus uijmsbus 13 Under Additional properties click destinations

14 Click the new button 15 Set the destination type as queue and click next 16 In the identifier field enter sqoutbdcls 17 Assign the queue in the next screen to the UI Cluster 18 Click next 19 Click finish 20 Navigate in the WebSphere console to each destination created above on both buses 21 For each destination above set the exception destination to none then click Apply 22 Save and synchronize with other nodes

Creating the MEA connection factories 1 Log in to the WebSphere console 2 Navigate in the left pane to ResourcesJMS providersdefault messaging 3 Set the scope to the cell and click apply making sure node cluster and server fields are empty 4 Under connection factories select JMS queue connection factory 5 Click the new button 6 In the name field enter meaconfact 7 In the JNDI name field enter

jmsmrointqcfintqcfmea 8 Select the bus meajmsbus from the dropdown 9 Click apply and save and synchronize with other nodes

10 Under connection factories select JMS queue connection factory 11 Click the new button 12 In the name field enter uiconfact 13 In the JNDI name field enter jmsmrointqcfintqcfui 14 Select the bus uijmsbus from the dropdown 15 Click apply and save and synchronize with other nodes Creating JMS queues

Continuous inbound queue 1 Log in to the WebSphere console and navigate to ResourcesJMS providersdefault messaging 2 Ensure that the scope is set to the Cell and Under destinations click jms queue 3 Click the new button 4 Enter the name as cqincls 5 In the JNDI name field enter jmsmrointqueuescqincls 6 Select the meajmsbus as the bus for this queue 7 In the queue name field enter the destination name for this as cqinbdcls 8 Click OK Sequential inbound queue

1 Log in to the WebSphere console and navigate to ResourcesJMS providersdefault messaging 2 Under destinations click jms queue 3 Click the new button 4 Enter the name as sqincls 5 In the JNDI name field enter jmsmrointqueuessqincls 6 Select the meajmsbus as the bus for this queue 7 In the queue name field enter the destination name for this as sqinbdcls 8 Click OK Sequential outbound queue

1 Log in to the WebSphere console and navigate to ResourcesJMS providersdefault messaging 2 Under destinations click jms queue 3 Click the new button 4 Enter the name as sqoutcls 5 In the JNDI name field enter jmsmrointqueuessqoutcls 6 Select the uijmsbus as the bus for this queue 7 In the queue name field enter the destination name for this as sqoutbdcls 8 Click OK 9 Save and synchronize with other nodes

Creating the JMS Activation Specification 1 Log in to the WebSphere console and navigate to ResourcesJMS providersdefault messaging 2 Ensure that the scope is set to the Cell 3 Under additional properties click jms activation specification 4 Click the new button 5 In the name field enter meajmsactcls 6 In the JNDI name field enter meajmsactcls 7 In the Destination JNDI name field enter jmsmrointqueuescqincls

8 Make sure the destination type is queue 9 Select your bus meajmsbus as the bus for this specification 10 Set Maximum batch size to 10 11 Set Maximo end points to 5 12 Click OK and save and synchronize with other nodes 13 Stop and Restart all IBM services

Preparing the MEA application For the MAXIMOMEA application instance edit the following files and uncomment the meajmsejbjar 1 locate the file under maximoapplicationsmaximoMETA-INFapplicationxml 2 Open the file using a text editor and uncomment the following (they may already be in the state below) Make sure the following looks like this

lt-- JMS MDB is not deployed by default --gt ltmodulegt ltejbgtmeajmsejbejbmoduleltejbgt ltmodulegt 3 locate the file under maximoapplicationsmaximoMETA-INFdeployment-applicationxml 4 Open the file using a text editor and uncomment the following (they may already be in the state below) lt-- JMS MDB is not deployed by default --gt

ltmodule id=EjbModule_1077124925237gt ltejbgtmeajmsejbjarltejbgt ltmodulegt 5 The activation specification JNDI name is not the default (ie meajmsact) so you will need to edit the following file and change the value as below to your new JNDI name maximoapplicationsmaximomeajmsejbejbmoduleMETA-INFibm-ejb-jar-bndxmi 6 Locate the following line

ltejbBindings xmitype=comibmejsmodelsbasebindingsejbbndMessageDrivenBeanBinding xmiid=MessageDrivenBeanBinding_1 activationSpecJndiName=meajmsactgt 7 change the name of the activation specification name at the end of the line to reflect the name of the specification created above activationSpecJndiName=meajmsactcls 8 Edit the maximoproperties file and set mxename to a unique value such as MXServerMEA and save 9 Uncomment the line mxecrontaskdonotrun if it is commented out

Edit the line so that all crontasks except for the JMSQSEQCONSUMERSEQQOUT crontask will run on this server eg mxecrontaskdonotrun=JMSQSEQCONSUMERSEQQOUT This will be the only crontask entry because this is the only crontask that we do not want to run 10 Build the maximoear

11 Deploy the maximoear to the MEA application server MAXIMOMEA (refer to the system administrators guide for deployment information) NOTE During the deploy you will be asked for the application name and the field will default with the value MAXIMO You must change this for the MEA instance so that the UI instances can use MAXIMO as the application name Enter the application name as MAXIMOMEA

12 Restart the application server and start the Maximo application Changes required in Maximo 1 Launch the Maximo application and log in httphostportmaximo 2 Navigate to configurationcron task setup 3 Bring up the JMSQSEQCONSUMER crontask

4 For the SEQQIN instance change the queue name to match your inbound sequential queue name jmsmrointqueuessqincls 5 For the SEQQOUT instance change the queue name to match your outbound sequential queue name jmsmrointqueuessqoutcls 6 Save your changes 7 Next navigate to the IntegrationExternal Systems application

8 Select any external system and then from the action menu select addmodify queues 9 Create your three new queues with the following values Continuous inbound queue Queue JNDI name jmsmrointqueuescqincls Queue Connection Factory jmsmrointqcfintqcfmea Sequential NO Inbound Yes Maximum Try count 0

Sequential inbound queue Queue JNDI name jmsmrointqueuessqincls Queue Connection Factory jmsmrointqcfintqcfmea Sequential Yes Inbound Yes Maximum Try count 0 Sequential outbound queue Queue JNDI name jmsmrointqueuessqoutcls Queue Connection Factory jmsmrointqcfintqcfui Sequential Yes

Inbound NO Maximum Try count 0 10 You will then need to bring up each external system and change the queue names associated with each system in the top right side of the screen to match those created above 11 Save your changes

Prepare the UI application and deploy For the UI instances edit the following files and comment out the meajmsejbjar 1 locate the file under maximoapplicationsmaximoMETA-INFapplicationxml

2 Open the file using a text editor and comment out the following Make sure the following looks like this lt-- JMS MDB is not deployed by default ltmodulegt ltejbgtmeajmsejbejbmoduleltejbgt ltmodulegt --gt 3 locate the file under maximoapplicationsmaximoMETA-INFdeployment-applicationxml

4 Open the file using a text editor and uncomment the following lt-- JMS MDB is not deployed by default ltmodule id=EjbModule_1077124925237gt ltejbgtmeajmsejbjarltejbgt ltmodulegt --gt 5 Edit the maximoproperties file and set mxename to a unique value such as MXServerUI and save 6 Uncomment the line mxecrontaskdonotrun if it is commented out

Edit the line so that no crontasks except for the JMSQSEQCONSUMERSEQQOUT crontask will run on this server eg mxecrontaskdonotrun=JMSQSEQCONSUMERSEQQINIFACETABLECONSUMERIFACEINBBcronBBCRON1 Since we want all crontasks to run in the MEA instance all crontasks will be listed here except for the JMSQSEQCONSUMERSEQQOUT This crontask will need to run in the cluster Crontasks a cluster aware as long as they are specified where to run using the maximoproperties If using the Target Enable feature to force the MEA crontasks to run in specific servers they are not cluster aware

and no failover will occur if the server running a specific MEA crontask fails Be sure to go through your list of crontasks and note each instance in the correct case and add it to the mxecrontaskdonotrun parameter in the maximoproperties each separated by a comma 7 Build the maximoear file Deploying the maximoear to the cluster Now that you have created and configured the MAXIMOCLUSTER you must deploy your enterprise applications within the cluster

1 In the navigation pane click Applications gt Install New Applications 2 Select the appropriate option and navigate to where the EAR files reside 3 Select maximoear then click Open in the dialog box 4 In the Preparing for the application installation screen select the following

Generate default bindings Do not specify unique prefix for beans Do not override existing bindings Use default virtual host name for Web modules and enter MAXIMOCLUSTER_host

5 In the Install New Application window accept the default settings and click Next 6 In Step 2 Map modules to servers you map Web modules to the MAXIMOCLUSTER cluster Complete the following actions a) From the Clusters and Servers box select the MAXIMOCLUSTER cluster and webserver1 b) Check all module boxes and click Apply 7 In Steps 3 4 and 5 accept the defaults and click Next 8 In Step 6 complete the following actions a) Select all items from the Web module column b) For each Web module select MAXIMOCLUSTER_host from the Virtual host list and click Next

9 In Steps 7 and 8 accept the defaults and click Next 10 In the final step review your settings then click Finish The deployment process takes several minutes to complete 11 In the confirmation page when you see the message Application Maximo installed successfully perform the following actions a) Click Save to Master Configuration b) Save Synchronize changes with Nodes

Start the MAXIMOCLUSTER Cluster 1 In the navigation pane click Servers gt Clusters 2 Select MAXIMOCLUSTER then click Ripplestart 3 To access the cluster open HTTPltnode namegtltportgtmaximo where ltportgt is the port number of the IBM HTTP server (80) Deploying web services

When deploying web services you will need to set up the web service administration URL and port to point to the MAXIMOMEA application server IP address and port When sending transactions to these interfaces you will need to point your web service client to the IP address and port of the MAXIMOMEA application server IP address and port not the cluster address for the UI instances

Notes

httpwwwredbooksibmcomredbookspdfssg247645pdf

Maximo Asset Management 71 Implementer Guide

Maximo Asset Management 71 Deployment Guide

Tivoli Service Request Manager 71 Implementation Tivoli Asset Management for IT 71 Integration Guide Tivoli Service Request Manager Implementing IBM Tivoli Service Request Manager V71 Service Catalog

Page 2: Setting Up WebSphere Persistent Queues

5 In Step 2 of the Create New Clustered Servers panel perform the following actions a) Type MAXIMOUI1 in the Member name field b) Accept the defaults in the Select Node and Weight fields c) Select Generate Unique Http Ports d) Select the Existing application server button and choose MAXIMOSERVER (this is the application server

name created initially for Maximo) from the drop down list e) Click Apply 6 Repeat step 5 to create a second cluster member and in the Member name field enter MAXIMOUI2 NOTE You do not have to perform step 5-d when you create additional clustered servers because MAXIMOUI2 automatically defaults to the template you selected for MAXIMOUI1 7 Click Next 8 Click Finish to create the cluster and clustered servers

9 Click Save 10 Select Synchronize changes with Nodes then click Save again Update Virtual Hosts This procedure describes how to verify port numbers used by the clustered servers It also explains how to update the virtual host with the port number information A virtual host enables a single host machine to resemble multiple host machines Each virtual host has a logical name and a list of one or more DNS aliases by which it is known 1 To verify port numbers of the clustered application servers perform the following actions

a) In the navigation pane click Servers gt Application Servers b) In the Application Servers panel click MAXIMOUI1 c) Under the Communication heading click Ports d) Note the WC_defaulthost port for use in Step 3 below (for example step 3-h requires a WC_defaulthost port) 2 Repeat Step 1 for MAXIMOUI2 3 In the navigation pane click Environment gt Virtual Hosts

Complete the following actions a) Click New to add a new virtual host for the cluster then enter MAXIMOCLUSTER_host for the Name b) Click Apply c) Click Host Aliases under Additional Properties d) Click New in the Host Alias panel to add Host name and port number values to the host aliases list e) Enter the following Host Name Port 80 (same as port number for the IBM HTTP Server) f) Click OK g) Click Host Aliases then click New h) Enter the following Host Name

Port 9081 (same as port number for MAXIMOUI1) i) Click OK j) Click Host Aliases then click New k) Enter the following Host Name Port 9082 (same as port number for MAXIMOUI2) l) Click OK 4 To save the configuration complete the following actions

a) Click Save b) Check Synchronize changes with Nodes c) Click Save -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

Creating data source providers for JMS stores Set two data sources in the WebSphere console for use by the JMS resources Note that each data source will require a unique schema one will be used by the MEA instance and the other by the cluster This is a WebSphere requirement that two message engines require unique schema names As you add bus members each member added will cause a unique message engine to be created In this configuration there are two members the MEA instance and the cluster Since two schemas will be required for this configuration and the first schema name will be the maximo schema work with your DBA to create a second schema in the same database specifically for use by the second data source before proceeding with the steps below

The user that owns the second schema must be able to create tables Creating the data source provider 1 Log in to the WebSphere console and from the left pane select ResourcesJDBC Providers 2 On the JDBC providers screen set the scope to be the cell and click Apply This can be done by clearing all fields before clicking the apply button 3 Click the new button 4 In the General Properties select your database type and provider type (ie oracle and oracle driver) In the implementation type dropdown select XA data source

5 click next 6 In the name field enter oraclexa 7 In the classpath text box enter (be sure to correct the path to reflect your oraclethinjar path) Cmaximoapplicationsmaximoliboraclethinjar 8 click apply and save and synchronize with other nodes

Creating the first data source 1 Navigate to your JDBC provider called oraclexa 2 click the link on the right side of the screen called data sources 3 click the new button 4 In the name field enter the value oraclexads 5 In the JNDI name field enter the value jdbcoraclexads

6 Select a data store helper class for your oracle version ie Oracle 9i and prior data store helper 7 In the URL field enter your JDBC URL (this can be found in your maximoproperties if you are not sure) jdbcoraclethinsatbfuller1521maximo

8 Click apply save and synchronize with other nodes Creating your first authentication data entry

1 Navigate to your JDBC provider called oraclexa then click data sources and select your data source called oraclexads 2 On the right side of the screen under Related Items click the link for J2ee Connection Architecture Authentication data entries 3 click the new button 4 In the alias field enter a value you would like to use ie maximo 5 enter the username and password used to connect to the database ie maximomaximo 6 Enter a Description that identifies this entry 7 Click apply 8 Save and synchronize with other nodes 9 Navigate back to your data source called oraclexads

10 In the dropdown field for Component managed authentication alias select your data alias (ie maximo) 11 Click apply and save and synchronize with other nodes 12 Navigate to your data source again and click the test button at the top of the screen to test your data source Once the test has succeeded you can proceed to the next data source Creating the second data source 1 Navigate to your JDBC provider oraclexa

2 click the link on the right side of the screen called data sources 3 click the new button 4 In the name field enter the value oraclexads2 5 In the JNDI name field enter the value jdbcoraclexads2 6 Select a data store helper class for your oracle version

ie Oracle 9i and prior data store helper 7 In the URL field enter your JDBC URL (this will be the URL to your new schema used for the second store) jdbcoraclethinsatbfuller1521maximo2 8 Click apply save and synchronize with other nodes

Creating your second authentication data entry 1 Navigate to your JDBC provider called oraclexa then click data sources and select your data source called oraclexads2 2 On the right side of the screen under Related Items click the link for J2ee Connection Architecture Authentication data entries 3 click the new button 4 In the alias field enter a value you would like to use ie maximo2 5 enter the username and password used to connect to the database ie maximomaximo

6 Enter a Description that identifies this entry 7 Click apply 8 Save and synchronize with other nodes 9 Navigate back to your data source called oraclexads2 10 In the dropdown field for Component managed authentication alias select your data alias (ie

maximo2) 11 Click apply and save and synchronize with other nodes 12 Navigate to your data source again and click the test button at the top of the screen to test your data source Once the test has succeeded you can proceed to the next section Creating JMS resources for use in a clustered environment Creating the JMS buses

1 Log in to the WebSphere console and navigate in the left pane to Integrationbuses 2 Click the new button to create a new bus 3 In the name field enter meajmsbus 4 Deselect the secure checkbox 5 Change the high message threshold to 500000 messages 6 Click apply 7 Navigate again in the left pane to Integrationbuses 8 Click the new button to create a second new bus 9 In the name field enter uijmsbus 10 Deselect the secure checkbox 11 Change the high message threshold to 500000 messages

12 Click apply Adding members to the bus 1 Navigate in the left pane to Integrationbuses 2 Select the first bus created above called meajmsbus 3 Under additional properties select bus members 4 Click the Add button 5 Add the MAXIMOMEA server as a bus member by selecting that under the server section 6 In the data source JNDI name field enter

jdbcoraclexads 7 click Next 8 click finish 9 Navigate in the left pane to Integrationbuses 10 Select the second bus created above called uijmsbus 11 Add the MAXIMOCLUSTER by selecting that under the cluster section 12 In the data source JNDI name field enter

jdbcoraclexads2 13 Save and synchronize with other nodes Setting the data store schema and authentication alias 1 Select the bus member (MEA instance) of your meajmsbus bus 2 from the list of message engines select your message engine

3 Under additional properties click data store 4 In the data source JNDI name field enter jdbcoraclexads 5 In the schema name field enter your maximo schema name (ie maximo)

6 In the authentication alias dropdown select the alias created for the data source above 7 click OK 8 Navigate back to your list of buses and select the uijmsbus 9 Select the bus member (Cluster) of your uijmsbus bus 9 From the list of message engines select your message engine 10 Under additional properties click data store 11 In the data source JNDI name field enter jdbcoraclexads2 12 In the schema name field enter your second schema created above by your DBA (ie maximo2)

13 In the authentication alias dropdown select the second alias created for this data source above 14 Click OK 15 Save and synchronize with other nodes Creating bus destinations 1 Log in to the WebSphere console and navigate to Service Integrationbuses 2 Select your bus meajmsbus 3 Under Additional properties click destinations 4 click the new button

5 Set the destination type as queue and click next 6 In the identifier field enter cqinbdcls 7 Assign the queue in the next screen to the MAXIMOMEA application server 8 Click next 9 Click finish 10 Repeat the steps above to create the sqinbdcls destination and assigning it to the MAXIMOMEA application server 11 Navigate in the WebSphere console to Service Integrationbuses 12 Select your bus uijmsbus 13 Under Additional properties click destinations

14 Click the new button 15 Set the destination type as queue and click next 16 In the identifier field enter sqoutbdcls 17 Assign the queue in the next screen to the UI Cluster 18 Click next 19 Click finish 20 Navigate in the WebSphere console to each destination created above on both buses 21 For each destination above set the exception destination to none then click Apply 22 Save and synchronize with other nodes

Creating the MEA connection factories 1 Log in to the WebSphere console 2 Navigate in the left pane to ResourcesJMS providersdefault messaging 3 Set the scope to the cell and click apply making sure node cluster and server fields are empty 4 Under connection factories select JMS queue connection factory 5 Click the new button 6 In the name field enter meaconfact 7 In the JNDI name field enter

jmsmrointqcfintqcfmea 8 Select the bus meajmsbus from the dropdown 9 Click apply and save and synchronize with other nodes

10 Under connection factories select JMS queue connection factory 11 Click the new button 12 In the name field enter uiconfact 13 In the JNDI name field enter jmsmrointqcfintqcfui 14 Select the bus uijmsbus from the dropdown 15 Click apply and save and synchronize with other nodes Creating JMS queues

Continuous inbound queue 1 Log in to the WebSphere console and navigate to ResourcesJMS providersdefault messaging 2 Ensure that the scope is set to the Cell and Under destinations click jms queue 3 Click the new button 4 Enter the name as cqincls 5 In the JNDI name field enter jmsmrointqueuescqincls 6 Select the meajmsbus as the bus for this queue 7 In the queue name field enter the destination name for this as cqinbdcls 8 Click OK Sequential inbound queue

1 Log in to the WebSphere console and navigate to ResourcesJMS providersdefault messaging 2 Under destinations click jms queue 3 Click the new button 4 Enter the name as sqincls 5 In the JNDI name field enter jmsmrointqueuessqincls 6 Select the meajmsbus as the bus for this queue 7 In the queue name field enter the destination name for this as sqinbdcls 8 Click OK Sequential outbound queue

1 Log in to the WebSphere console and navigate to ResourcesJMS providersdefault messaging 2 Under destinations click jms queue 3 Click the new button 4 Enter the name as sqoutcls 5 In the JNDI name field enter jmsmrointqueuessqoutcls 6 Select the uijmsbus as the bus for this queue 7 In the queue name field enter the destination name for this as sqoutbdcls 8 Click OK 9 Save and synchronize with other nodes

Creating the JMS Activation Specification 1 Log in to the WebSphere console and navigate to ResourcesJMS providersdefault messaging 2 Ensure that the scope is set to the Cell 3 Under additional properties click jms activation specification 4 Click the new button 5 In the name field enter meajmsactcls 6 In the JNDI name field enter meajmsactcls 7 In the Destination JNDI name field enter jmsmrointqueuescqincls

8 Make sure the destination type is queue 9 Select your bus meajmsbus as the bus for this specification 10 Set Maximum batch size to 10 11 Set Maximo end points to 5 12 Click OK and save and synchronize with other nodes 13 Stop and Restart all IBM services

Preparing the MEA application For the MAXIMOMEA application instance edit the following files and uncomment the meajmsejbjar 1 locate the file under maximoapplicationsmaximoMETA-INFapplicationxml 2 Open the file using a text editor and uncomment the following (they may already be in the state below) Make sure the following looks like this

lt-- JMS MDB is not deployed by default --gt ltmodulegt ltejbgtmeajmsejbejbmoduleltejbgt ltmodulegt 3 locate the file under maximoapplicationsmaximoMETA-INFdeployment-applicationxml 4 Open the file using a text editor and uncomment the following (they may already be in the state below) lt-- JMS MDB is not deployed by default --gt

ltmodule id=EjbModule_1077124925237gt ltejbgtmeajmsejbjarltejbgt ltmodulegt 5 The activation specification JNDI name is not the default (ie meajmsact) so you will need to edit the following file and change the value as below to your new JNDI name maximoapplicationsmaximomeajmsejbejbmoduleMETA-INFibm-ejb-jar-bndxmi 6 Locate the following line

ltejbBindings xmitype=comibmejsmodelsbasebindingsejbbndMessageDrivenBeanBinding xmiid=MessageDrivenBeanBinding_1 activationSpecJndiName=meajmsactgt 7 change the name of the activation specification name at the end of the line to reflect the name of the specification created above activationSpecJndiName=meajmsactcls 8 Edit the maximoproperties file and set mxename to a unique value such as MXServerMEA and save 9 Uncomment the line mxecrontaskdonotrun if it is commented out

Edit the line so that all crontasks except for the JMSQSEQCONSUMERSEQQOUT crontask will run on this server eg mxecrontaskdonotrun=JMSQSEQCONSUMERSEQQOUT This will be the only crontask entry because this is the only crontask that we do not want to run 10 Build the maximoear

11 Deploy the maximoear to the MEA application server MAXIMOMEA (refer to the system administrators guide for deployment information) NOTE During the deploy you will be asked for the application name and the field will default with the value MAXIMO You must change this for the MEA instance so that the UI instances can use MAXIMO as the application name Enter the application name as MAXIMOMEA

12 Restart the application server and start the Maximo application Changes required in Maximo 1 Launch the Maximo application and log in httphostportmaximo 2 Navigate to configurationcron task setup 3 Bring up the JMSQSEQCONSUMER crontask

4 For the SEQQIN instance change the queue name to match your inbound sequential queue name jmsmrointqueuessqincls 5 For the SEQQOUT instance change the queue name to match your outbound sequential queue name jmsmrointqueuessqoutcls 6 Save your changes 7 Next navigate to the IntegrationExternal Systems application

8 Select any external system and then from the action menu select addmodify queues 9 Create your three new queues with the following values Continuous inbound queue Queue JNDI name jmsmrointqueuescqincls Queue Connection Factory jmsmrointqcfintqcfmea Sequential NO Inbound Yes Maximum Try count 0

Sequential inbound queue Queue JNDI name jmsmrointqueuessqincls Queue Connection Factory jmsmrointqcfintqcfmea Sequential Yes Inbound Yes Maximum Try count 0 Sequential outbound queue Queue JNDI name jmsmrointqueuessqoutcls Queue Connection Factory jmsmrointqcfintqcfui Sequential Yes

Inbound NO Maximum Try count 0 10 You will then need to bring up each external system and change the queue names associated with each system in the top right side of the screen to match those created above 11 Save your changes

Prepare the UI application and deploy For the UI instances edit the following files and comment out the meajmsejbjar 1 locate the file under maximoapplicationsmaximoMETA-INFapplicationxml

2 Open the file using a text editor and comment out the following Make sure the following looks like this lt-- JMS MDB is not deployed by default ltmodulegt ltejbgtmeajmsejbejbmoduleltejbgt ltmodulegt --gt 3 locate the file under maximoapplicationsmaximoMETA-INFdeployment-applicationxml

4 Open the file using a text editor and uncomment the following lt-- JMS MDB is not deployed by default ltmodule id=EjbModule_1077124925237gt ltejbgtmeajmsejbjarltejbgt ltmodulegt --gt 5 Edit the maximoproperties file and set mxename to a unique value such as MXServerUI and save 6 Uncomment the line mxecrontaskdonotrun if it is commented out

Edit the line so that no crontasks except for the JMSQSEQCONSUMERSEQQOUT crontask will run on this server eg mxecrontaskdonotrun=JMSQSEQCONSUMERSEQQINIFACETABLECONSUMERIFACEINBBcronBBCRON1 Since we want all crontasks to run in the MEA instance all crontasks will be listed here except for the JMSQSEQCONSUMERSEQQOUT This crontask will need to run in the cluster Crontasks a cluster aware as long as they are specified where to run using the maximoproperties If using the Target Enable feature to force the MEA crontasks to run in specific servers they are not cluster aware

and no failover will occur if the server running a specific MEA crontask fails Be sure to go through your list of crontasks and note each instance in the correct case and add it to the mxecrontaskdonotrun parameter in the maximoproperties each separated by a comma 7 Build the maximoear file Deploying the maximoear to the cluster Now that you have created and configured the MAXIMOCLUSTER you must deploy your enterprise applications within the cluster

1 In the navigation pane click Applications gt Install New Applications 2 Select the appropriate option and navigate to where the EAR files reside 3 Select maximoear then click Open in the dialog box 4 In the Preparing for the application installation screen select the following

Generate default bindings Do not specify unique prefix for beans Do not override existing bindings Use default virtual host name for Web modules and enter MAXIMOCLUSTER_host

5 In the Install New Application window accept the default settings and click Next 6 In Step 2 Map modules to servers you map Web modules to the MAXIMOCLUSTER cluster Complete the following actions a) From the Clusters and Servers box select the MAXIMOCLUSTER cluster and webserver1 b) Check all module boxes and click Apply 7 In Steps 3 4 and 5 accept the defaults and click Next 8 In Step 6 complete the following actions a) Select all items from the Web module column b) For each Web module select MAXIMOCLUSTER_host from the Virtual host list and click Next

9 In Steps 7 and 8 accept the defaults and click Next 10 In the final step review your settings then click Finish The deployment process takes several minutes to complete 11 In the confirmation page when you see the message Application Maximo installed successfully perform the following actions a) Click Save to Master Configuration b) Save Synchronize changes with Nodes

Start the MAXIMOCLUSTER Cluster 1 In the navigation pane click Servers gt Clusters 2 Select MAXIMOCLUSTER then click Ripplestart 3 To access the cluster open HTTPltnode namegtltportgtmaximo where ltportgt is the port number of the IBM HTTP server (80) Deploying web services

When deploying web services you will need to set up the web service administration URL and port to point to the MAXIMOMEA application server IP address and port When sending transactions to these interfaces you will need to point your web service client to the IP address and port of the MAXIMOMEA application server IP address and port not the cluster address for the UI instances

Notes

httpwwwredbooksibmcomredbookspdfssg247645pdf

Maximo Asset Management 71 Implementer Guide

Maximo Asset Management 71 Deployment Guide

Tivoli Service Request Manager 71 Implementation Tivoli Asset Management for IT 71 Integration Guide Tivoli Service Request Manager Implementing IBM Tivoli Service Request Manager V71 Service Catalog

Page 3: Setting Up WebSphere Persistent Queues

a) Click Save b) Check Synchronize changes with Nodes c) Click Save -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

Creating data source providers for JMS stores Set two data sources in the WebSphere console for use by the JMS resources Note that each data source will require a unique schema one will be used by the MEA instance and the other by the cluster This is a WebSphere requirement that two message engines require unique schema names As you add bus members each member added will cause a unique message engine to be created In this configuration there are two members the MEA instance and the cluster Since two schemas will be required for this configuration and the first schema name will be the maximo schema work with your DBA to create a second schema in the same database specifically for use by the second data source before proceeding with the steps below

The user that owns the second schema must be able to create tables Creating the data source provider 1 Log in to the WebSphere console and from the left pane select ResourcesJDBC Providers 2 On the JDBC providers screen set the scope to be the cell and click Apply This can be done by clearing all fields before clicking the apply button 3 Click the new button 4 In the General Properties select your database type and provider type (ie oracle and oracle driver) In the implementation type dropdown select XA data source

5 click next 6 In the name field enter oraclexa 7 In the classpath text box enter (be sure to correct the path to reflect your oraclethinjar path) Cmaximoapplicationsmaximoliboraclethinjar 8 click apply and save and synchronize with other nodes

Creating the first data source 1 Navigate to your JDBC provider called oraclexa 2 click the link on the right side of the screen called data sources 3 click the new button 4 In the name field enter the value oraclexads 5 In the JNDI name field enter the value jdbcoraclexads

6 Select a data store helper class for your oracle version ie Oracle 9i and prior data store helper 7 In the URL field enter your JDBC URL (this can be found in your maximoproperties if you are not sure) jdbcoraclethinsatbfuller1521maximo

8 Click apply save and synchronize with other nodes Creating your first authentication data entry

1 Navigate to your JDBC provider called oraclexa then click data sources and select your data source called oraclexads 2 On the right side of the screen under Related Items click the link for J2ee Connection Architecture Authentication data entries 3 click the new button 4 In the alias field enter a value you would like to use ie maximo 5 enter the username and password used to connect to the database ie maximomaximo 6 Enter a Description that identifies this entry 7 Click apply 8 Save and synchronize with other nodes 9 Navigate back to your data source called oraclexads

10 In the dropdown field for Component managed authentication alias select your data alias (ie maximo) 11 Click apply and save and synchronize with other nodes 12 Navigate to your data source again and click the test button at the top of the screen to test your data source Once the test has succeeded you can proceed to the next data source Creating the second data source 1 Navigate to your JDBC provider oraclexa

2 click the link on the right side of the screen called data sources 3 click the new button 4 In the name field enter the value oraclexads2 5 In the JNDI name field enter the value jdbcoraclexads2 6 Select a data store helper class for your oracle version

ie Oracle 9i and prior data store helper 7 In the URL field enter your JDBC URL (this will be the URL to your new schema used for the second store) jdbcoraclethinsatbfuller1521maximo2 8 Click apply save and synchronize with other nodes

Creating your second authentication data entry 1 Navigate to your JDBC provider called oraclexa then click data sources and select your data source called oraclexads2 2 On the right side of the screen under Related Items click the link for J2ee Connection Architecture Authentication data entries 3 click the new button 4 In the alias field enter a value you would like to use ie maximo2 5 enter the username and password used to connect to the database ie maximomaximo

6 Enter a Description that identifies this entry 7 Click apply 8 Save and synchronize with other nodes 9 Navigate back to your data source called oraclexads2 10 In the dropdown field for Component managed authentication alias select your data alias (ie

maximo2) 11 Click apply and save and synchronize with other nodes 12 Navigate to your data source again and click the test button at the top of the screen to test your data source Once the test has succeeded you can proceed to the next section Creating JMS resources for use in a clustered environment Creating the JMS buses

1 Log in to the WebSphere console and navigate in the left pane to Integrationbuses 2 Click the new button to create a new bus 3 In the name field enter meajmsbus 4 Deselect the secure checkbox 5 Change the high message threshold to 500000 messages 6 Click apply 7 Navigate again in the left pane to Integrationbuses 8 Click the new button to create a second new bus 9 In the name field enter uijmsbus 10 Deselect the secure checkbox 11 Change the high message threshold to 500000 messages

12 Click apply Adding members to the bus 1 Navigate in the left pane to Integrationbuses 2 Select the first bus created above called meajmsbus 3 Under additional properties select bus members 4 Click the Add button 5 Add the MAXIMOMEA server as a bus member by selecting that under the server section 6 In the data source JNDI name field enter

jdbcoraclexads 7 click Next 8 click finish 9 Navigate in the left pane to Integrationbuses 10 Select the second bus created above called uijmsbus 11 Add the MAXIMOCLUSTER by selecting that under the cluster section 12 In the data source JNDI name field enter

jdbcoraclexads2 13 Save and synchronize with other nodes Setting the data store schema and authentication alias 1 Select the bus member (MEA instance) of your meajmsbus bus 2 from the list of message engines select your message engine

3 Under additional properties click data store 4 In the data source JNDI name field enter jdbcoraclexads 5 In the schema name field enter your maximo schema name (ie maximo)

6 In the authentication alias dropdown select the alias created for the data source above 7 click OK 8 Navigate back to your list of buses and select the uijmsbus 9 Select the bus member (Cluster) of your uijmsbus bus 9 From the list of message engines select your message engine 10 Under additional properties click data store 11 In the data source JNDI name field enter jdbcoraclexads2 12 In the schema name field enter your second schema created above by your DBA (ie maximo2)

13 In the authentication alias dropdown select the second alias created for this data source above 14 Click OK 15 Save and synchronize with other nodes Creating bus destinations 1 Log in to the WebSphere console and navigate to Service Integrationbuses 2 Select your bus meajmsbus 3 Under Additional properties click destinations 4 click the new button

5 Set the destination type as queue and click next 6 In the identifier field enter cqinbdcls 7 Assign the queue in the next screen to the MAXIMOMEA application server 8 Click next 9 Click finish 10 Repeat the steps above to create the sqinbdcls destination and assigning it to the MAXIMOMEA application server 11 Navigate in the WebSphere console to Service Integrationbuses 12 Select your bus uijmsbus 13 Under Additional properties click destinations

14 Click the new button 15 Set the destination type as queue and click next 16 In the identifier field enter sqoutbdcls 17 Assign the queue in the next screen to the UI Cluster 18 Click next 19 Click finish 20 Navigate in the WebSphere console to each destination created above on both buses 21 For each destination above set the exception destination to none then click Apply 22 Save and synchronize with other nodes

Creating the MEA connection factories 1 Log in to the WebSphere console 2 Navigate in the left pane to ResourcesJMS providersdefault messaging 3 Set the scope to the cell and click apply making sure node cluster and server fields are empty 4 Under connection factories select JMS queue connection factory 5 Click the new button 6 In the name field enter meaconfact 7 In the JNDI name field enter

jmsmrointqcfintqcfmea 8 Select the bus meajmsbus from the dropdown 9 Click apply and save and synchronize with other nodes

10 Under connection factories select JMS queue connection factory 11 Click the new button 12 In the name field enter uiconfact 13 In the JNDI name field enter jmsmrointqcfintqcfui 14 Select the bus uijmsbus from the dropdown 15 Click apply and save and synchronize with other nodes Creating JMS queues

Continuous inbound queue 1 Log in to the WebSphere console and navigate to ResourcesJMS providersdefault messaging 2 Ensure that the scope is set to the Cell and Under destinations click jms queue 3 Click the new button 4 Enter the name as cqincls 5 In the JNDI name field enter jmsmrointqueuescqincls 6 Select the meajmsbus as the bus for this queue 7 In the queue name field enter the destination name for this as cqinbdcls 8 Click OK Sequential inbound queue

1 Log in to the WebSphere console and navigate to ResourcesJMS providersdefault messaging 2 Under destinations click jms queue 3 Click the new button 4 Enter the name as sqincls 5 In the JNDI name field enter jmsmrointqueuessqincls 6 Select the meajmsbus as the bus for this queue 7 In the queue name field enter the destination name for this as sqinbdcls 8 Click OK Sequential outbound queue

1 Log in to the WebSphere console and navigate to ResourcesJMS providersdefault messaging 2 Under destinations click jms queue 3 Click the new button 4 Enter the name as sqoutcls 5 In the JNDI name field enter jmsmrointqueuessqoutcls 6 Select the uijmsbus as the bus for this queue 7 In the queue name field enter the destination name for this as sqoutbdcls 8 Click OK 9 Save and synchronize with other nodes

Creating the JMS Activation Specification 1 Log in to the WebSphere console and navigate to ResourcesJMS providersdefault messaging 2 Ensure that the scope is set to the Cell 3 Under additional properties click jms activation specification 4 Click the new button 5 In the name field enter meajmsactcls 6 In the JNDI name field enter meajmsactcls 7 In the Destination JNDI name field enter jmsmrointqueuescqincls

8 Make sure the destination type is queue 9 Select your bus meajmsbus as the bus for this specification 10 Set Maximum batch size to 10 11 Set Maximo end points to 5 12 Click OK and save and synchronize with other nodes 13 Stop and Restart all IBM services

Preparing the MEA application For the MAXIMOMEA application instance edit the following files and uncomment the meajmsejbjar 1 locate the file under maximoapplicationsmaximoMETA-INFapplicationxml 2 Open the file using a text editor and uncomment the following (they may already be in the state below) Make sure the following looks like this

lt-- JMS MDB is not deployed by default --gt ltmodulegt ltejbgtmeajmsejbejbmoduleltejbgt ltmodulegt 3 locate the file under maximoapplicationsmaximoMETA-INFdeployment-applicationxml 4 Open the file using a text editor and uncomment the following (they may already be in the state below) lt-- JMS MDB is not deployed by default --gt

ltmodule id=EjbModule_1077124925237gt ltejbgtmeajmsejbjarltejbgt ltmodulegt 5 The activation specification JNDI name is not the default (ie meajmsact) so you will need to edit the following file and change the value as below to your new JNDI name maximoapplicationsmaximomeajmsejbejbmoduleMETA-INFibm-ejb-jar-bndxmi 6 Locate the following line

ltejbBindings xmitype=comibmejsmodelsbasebindingsejbbndMessageDrivenBeanBinding xmiid=MessageDrivenBeanBinding_1 activationSpecJndiName=meajmsactgt 7 change the name of the activation specification name at the end of the line to reflect the name of the specification created above activationSpecJndiName=meajmsactcls 8 Edit the maximoproperties file and set mxename to a unique value such as MXServerMEA and save 9 Uncomment the line mxecrontaskdonotrun if it is commented out

Edit the line so that all crontasks except for the JMSQSEQCONSUMERSEQQOUT crontask will run on this server eg mxecrontaskdonotrun=JMSQSEQCONSUMERSEQQOUT This will be the only crontask entry because this is the only crontask that we do not want to run 10 Build the maximoear

11 Deploy the maximoear to the MEA application server MAXIMOMEA (refer to the system administrators guide for deployment information) NOTE During the deploy you will be asked for the application name and the field will default with the value MAXIMO You must change this for the MEA instance so that the UI instances can use MAXIMO as the application name Enter the application name as MAXIMOMEA

12 Restart the application server and start the Maximo application Changes required in Maximo 1 Launch the Maximo application and log in httphostportmaximo 2 Navigate to configurationcron task setup 3 Bring up the JMSQSEQCONSUMER crontask

4 For the SEQQIN instance change the queue name to match your inbound sequential queue name jmsmrointqueuessqincls 5 For the SEQQOUT instance change the queue name to match your outbound sequential queue name jmsmrointqueuessqoutcls 6 Save your changes 7 Next navigate to the IntegrationExternal Systems application

8 Select any external system and then from the action menu select addmodify queues 9 Create your three new queues with the following values Continuous inbound queue Queue JNDI name jmsmrointqueuescqincls Queue Connection Factory jmsmrointqcfintqcfmea Sequential NO Inbound Yes Maximum Try count 0

Sequential inbound queue Queue JNDI name jmsmrointqueuessqincls Queue Connection Factory jmsmrointqcfintqcfmea Sequential Yes Inbound Yes Maximum Try count 0 Sequential outbound queue Queue JNDI name jmsmrointqueuessqoutcls Queue Connection Factory jmsmrointqcfintqcfui Sequential Yes

Inbound NO Maximum Try count 0 10 You will then need to bring up each external system and change the queue names associated with each system in the top right side of the screen to match those created above 11 Save your changes

Prepare the UI application and deploy For the UI instances edit the following files and comment out the meajmsejbjar 1 locate the file under maximoapplicationsmaximoMETA-INFapplicationxml

2 Open the file using a text editor and comment out the following Make sure the following looks like this lt-- JMS MDB is not deployed by default ltmodulegt ltejbgtmeajmsejbejbmoduleltejbgt ltmodulegt --gt 3 locate the file under maximoapplicationsmaximoMETA-INFdeployment-applicationxml

4 Open the file using a text editor and uncomment the following lt-- JMS MDB is not deployed by default ltmodule id=EjbModule_1077124925237gt ltejbgtmeajmsejbjarltejbgt ltmodulegt --gt 5 Edit the maximoproperties file and set mxename to a unique value such as MXServerUI and save 6 Uncomment the line mxecrontaskdonotrun if it is commented out

Edit the line so that no crontasks except for the JMSQSEQCONSUMERSEQQOUT crontask will run on this server eg mxecrontaskdonotrun=JMSQSEQCONSUMERSEQQINIFACETABLECONSUMERIFACEINBBcronBBCRON1 Since we want all crontasks to run in the MEA instance all crontasks will be listed here except for the JMSQSEQCONSUMERSEQQOUT This crontask will need to run in the cluster Crontasks a cluster aware as long as they are specified where to run using the maximoproperties If using the Target Enable feature to force the MEA crontasks to run in specific servers they are not cluster aware

and no failover will occur if the server running a specific MEA crontask fails Be sure to go through your list of crontasks and note each instance in the correct case and add it to the mxecrontaskdonotrun parameter in the maximoproperties each separated by a comma 7 Build the maximoear file Deploying the maximoear to the cluster Now that you have created and configured the MAXIMOCLUSTER you must deploy your enterprise applications within the cluster

1 In the navigation pane click Applications gt Install New Applications 2 Select the appropriate option and navigate to where the EAR files reside 3 Select maximoear then click Open in the dialog box 4 In the Preparing for the application installation screen select the following

Generate default bindings Do not specify unique prefix for beans Do not override existing bindings Use default virtual host name for Web modules and enter MAXIMOCLUSTER_host

5 In the Install New Application window accept the default settings and click Next 6 In Step 2 Map modules to servers you map Web modules to the MAXIMOCLUSTER cluster Complete the following actions a) From the Clusters and Servers box select the MAXIMOCLUSTER cluster and webserver1 b) Check all module boxes and click Apply 7 In Steps 3 4 and 5 accept the defaults and click Next 8 In Step 6 complete the following actions a) Select all items from the Web module column b) For each Web module select MAXIMOCLUSTER_host from the Virtual host list and click Next

9 In Steps 7 and 8 accept the defaults and click Next 10 In the final step review your settings then click Finish The deployment process takes several minutes to complete 11 In the confirmation page when you see the message Application Maximo installed successfully perform the following actions a) Click Save to Master Configuration b) Save Synchronize changes with Nodes

Start the MAXIMOCLUSTER Cluster 1 In the navigation pane click Servers gt Clusters 2 Select MAXIMOCLUSTER then click Ripplestart 3 To access the cluster open HTTPltnode namegtltportgtmaximo where ltportgt is the port number of the IBM HTTP server (80) Deploying web services

When deploying web services you will need to set up the web service administration URL and port to point to the MAXIMOMEA application server IP address and port When sending transactions to these interfaces you will need to point your web service client to the IP address and port of the MAXIMOMEA application server IP address and port not the cluster address for the UI instances

Notes

httpwwwredbooksibmcomredbookspdfssg247645pdf

Maximo Asset Management 71 Implementer Guide

Maximo Asset Management 71 Deployment Guide

Tivoli Service Request Manager 71 Implementation Tivoli Asset Management for IT 71 Integration Guide Tivoli Service Request Manager Implementing IBM Tivoli Service Request Manager V71 Service Catalog

Page 4: Setting Up WebSphere Persistent Queues

8 Click apply save and synchronize with other nodes Creating your first authentication data entry

1 Navigate to your JDBC provider called oraclexa then click data sources and select your data source called oraclexads 2 On the right side of the screen under Related Items click the link for J2ee Connection Architecture Authentication data entries 3 click the new button 4 In the alias field enter a value you would like to use ie maximo 5 enter the username and password used to connect to the database ie maximomaximo 6 Enter a Description that identifies this entry 7 Click apply 8 Save and synchronize with other nodes 9 Navigate back to your data source called oraclexads

10 In the dropdown field for Component managed authentication alias select your data alias (ie maximo) 11 Click apply and save and synchronize with other nodes 12 Navigate to your data source again and click the test button at the top of the screen to test your data source Once the test has succeeded you can proceed to the next data source Creating the second data source 1 Navigate to your JDBC provider oraclexa

2 click the link on the right side of the screen called data sources 3 click the new button 4 In the name field enter the value oraclexads2 5 In the JNDI name field enter the value jdbcoraclexads2 6 Select a data store helper class for your oracle version

ie Oracle 9i and prior data store helper 7 In the URL field enter your JDBC URL (this will be the URL to your new schema used for the second store) jdbcoraclethinsatbfuller1521maximo2 8 Click apply save and synchronize with other nodes

Creating your second authentication data entry 1 Navigate to your JDBC provider called oraclexa then click data sources and select your data source called oraclexads2 2 On the right side of the screen under Related Items click the link for J2ee Connection Architecture Authentication data entries 3 click the new button 4 In the alias field enter a value you would like to use ie maximo2 5 enter the username and password used to connect to the database ie maximomaximo

6 Enter a Description that identifies this entry 7 Click apply 8 Save and synchronize with other nodes 9 Navigate back to your data source called oraclexads2 10 In the dropdown field for Component managed authentication alias select your data alias (ie

maximo2) 11 Click apply and save and synchronize with other nodes 12 Navigate to your data source again and click the test button at the top of the screen to test your data source Once the test has succeeded you can proceed to the next section Creating JMS resources for use in a clustered environment Creating the JMS buses

1 Log in to the WebSphere console and navigate in the left pane to Integrationbuses 2 Click the new button to create a new bus 3 In the name field enter meajmsbus 4 Deselect the secure checkbox 5 Change the high message threshold to 500000 messages 6 Click apply 7 Navigate again in the left pane to Integrationbuses 8 Click the new button to create a second new bus 9 In the name field enter uijmsbus 10 Deselect the secure checkbox 11 Change the high message threshold to 500000 messages

12 Click apply Adding members to the bus 1 Navigate in the left pane to Integrationbuses 2 Select the first bus created above called meajmsbus 3 Under additional properties select bus members 4 Click the Add button 5 Add the MAXIMOMEA server as a bus member by selecting that under the server section 6 In the data source JNDI name field enter

jdbcoraclexads 7 click Next 8 click finish 9 Navigate in the left pane to Integrationbuses 10 Select the second bus created above called uijmsbus 11 Add the MAXIMOCLUSTER by selecting that under the cluster section 12 In the data source JNDI name field enter

jdbcoraclexads2 13 Save and synchronize with other nodes Setting the data store schema and authentication alias 1 Select the bus member (MEA instance) of your meajmsbus bus 2 from the list of message engines select your message engine

3 Under additional properties click data store 4 In the data source JNDI name field enter jdbcoraclexads 5 In the schema name field enter your maximo schema name (ie maximo)

6 In the authentication alias dropdown select the alias created for the data source above 7 click OK 8 Navigate back to your list of buses and select the uijmsbus 9 Select the bus member (Cluster) of your uijmsbus bus 9 From the list of message engines select your message engine 10 Under additional properties click data store 11 In the data source JNDI name field enter jdbcoraclexads2 12 In the schema name field enter your second schema created above by your DBA (ie maximo2)

13 In the authentication alias dropdown select the second alias created for this data source above 14 Click OK 15 Save and synchronize with other nodes Creating bus destinations 1 Log in to the WebSphere console and navigate to Service Integrationbuses 2 Select your bus meajmsbus 3 Under Additional properties click destinations 4 click the new button

5 Set the destination type as queue and click next 6 In the identifier field enter cqinbdcls 7 Assign the queue in the next screen to the MAXIMOMEA application server 8 Click next 9 Click finish 10 Repeat the steps above to create the sqinbdcls destination and assigning it to the MAXIMOMEA application server 11 Navigate in the WebSphere console to Service Integrationbuses 12 Select your bus uijmsbus 13 Under Additional properties click destinations

14 Click the new button 15 Set the destination type as queue and click next 16 In the identifier field enter sqoutbdcls 17 Assign the queue in the next screen to the UI Cluster 18 Click next 19 Click finish 20 Navigate in the WebSphere console to each destination created above on both buses 21 For each destination above set the exception destination to none then click Apply 22 Save and synchronize with other nodes

Creating the MEA connection factories 1 Log in to the WebSphere console 2 Navigate in the left pane to ResourcesJMS providersdefault messaging 3 Set the scope to the cell and click apply making sure node cluster and server fields are empty 4 Under connection factories select JMS queue connection factory 5 Click the new button 6 In the name field enter meaconfact 7 In the JNDI name field enter

jmsmrointqcfintqcfmea 8 Select the bus meajmsbus from the dropdown 9 Click apply and save and synchronize with other nodes

10 Under connection factories select JMS queue connection factory 11 Click the new button 12 In the name field enter uiconfact 13 In the JNDI name field enter jmsmrointqcfintqcfui 14 Select the bus uijmsbus from the dropdown 15 Click apply and save and synchronize with other nodes Creating JMS queues

Continuous inbound queue 1 Log in to the WebSphere console and navigate to ResourcesJMS providersdefault messaging 2 Ensure that the scope is set to the Cell and Under destinations click jms queue 3 Click the new button 4 Enter the name as cqincls 5 In the JNDI name field enter jmsmrointqueuescqincls 6 Select the meajmsbus as the bus for this queue 7 In the queue name field enter the destination name for this as cqinbdcls 8 Click OK Sequential inbound queue

1 Log in to the WebSphere console and navigate to ResourcesJMS providersdefault messaging 2 Under destinations click jms queue 3 Click the new button 4 Enter the name as sqincls 5 In the JNDI name field enter jmsmrointqueuessqincls 6 Select the meajmsbus as the bus for this queue 7 In the queue name field enter the destination name for this as sqinbdcls 8 Click OK Sequential outbound queue

1 Log in to the WebSphere console and navigate to ResourcesJMS providersdefault messaging 2 Under destinations click jms queue 3 Click the new button 4 Enter the name as sqoutcls 5 In the JNDI name field enter jmsmrointqueuessqoutcls 6 Select the uijmsbus as the bus for this queue 7 In the queue name field enter the destination name for this as sqoutbdcls 8 Click OK 9 Save and synchronize with other nodes

Creating the JMS Activation Specification 1 Log in to the WebSphere console and navigate to ResourcesJMS providersdefault messaging 2 Ensure that the scope is set to the Cell 3 Under additional properties click jms activation specification 4 Click the new button 5 In the name field enter meajmsactcls 6 In the JNDI name field enter meajmsactcls 7 In the Destination JNDI name field enter jmsmrointqueuescqincls

8 Make sure the destination type is queue 9 Select your bus meajmsbus as the bus for this specification 10 Set Maximum batch size to 10 11 Set Maximo end points to 5 12 Click OK and save and synchronize with other nodes 13 Stop and Restart all IBM services

Preparing the MEA application For the MAXIMOMEA application instance edit the following files and uncomment the meajmsejbjar 1 locate the file under maximoapplicationsmaximoMETA-INFapplicationxml 2 Open the file using a text editor and uncomment the following (they may already be in the state below) Make sure the following looks like this

lt-- JMS MDB is not deployed by default --gt ltmodulegt ltejbgtmeajmsejbejbmoduleltejbgt ltmodulegt 3 locate the file under maximoapplicationsmaximoMETA-INFdeployment-applicationxml 4 Open the file using a text editor and uncomment the following (they may already be in the state below) lt-- JMS MDB is not deployed by default --gt

ltmodule id=EjbModule_1077124925237gt ltejbgtmeajmsejbjarltejbgt ltmodulegt 5 The activation specification JNDI name is not the default (ie meajmsact) so you will need to edit the following file and change the value as below to your new JNDI name maximoapplicationsmaximomeajmsejbejbmoduleMETA-INFibm-ejb-jar-bndxmi 6 Locate the following line

ltejbBindings xmitype=comibmejsmodelsbasebindingsejbbndMessageDrivenBeanBinding xmiid=MessageDrivenBeanBinding_1 activationSpecJndiName=meajmsactgt 7 change the name of the activation specification name at the end of the line to reflect the name of the specification created above activationSpecJndiName=meajmsactcls 8 Edit the maximoproperties file and set mxename to a unique value such as MXServerMEA and save 9 Uncomment the line mxecrontaskdonotrun if it is commented out

Edit the line so that all crontasks except for the JMSQSEQCONSUMERSEQQOUT crontask will run on this server eg mxecrontaskdonotrun=JMSQSEQCONSUMERSEQQOUT This will be the only crontask entry because this is the only crontask that we do not want to run 10 Build the maximoear

11 Deploy the maximoear to the MEA application server MAXIMOMEA (refer to the system administrators guide for deployment information) NOTE During the deploy you will be asked for the application name and the field will default with the value MAXIMO You must change this for the MEA instance so that the UI instances can use MAXIMO as the application name Enter the application name as MAXIMOMEA

12 Restart the application server and start the Maximo application Changes required in Maximo 1 Launch the Maximo application and log in httphostportmaximo 2 Navigate to configurationcron task setup 3 Bring up the JMSQSEQCONSUMER crontask

4 For the SEQQIN instance change the queue name to match your inbound sequential queue name jmsmrointqueuessqincls 5 For the SEQQOUT instance change the queue name to match your outbound sequential queue name jmsmrointqueuessqoutcls 6 Save your changes 7 Next navigate to the IntegrationExternal Systems application

8 Select any external system and then from the action menu select addmodify queues 9 Create your three new queues with the following values Continuous inbound queue Queue JNDI name jmsmrointqueuescqincls Queue Connection Factory jmsmrointqcfintqcfmea Sequential NO Inbound Yes Maximum Try count 0

Sequential inbound queue Queue JNDI name jmsmrointqueuessqincls Queue Connection Factory jmsmrointqcfintqcfmea Sequential Yes Inbound Yes Maximum Try count 0 Sequential outbound queue Queue JNDI name jmsmrointqueuessqoutcls Queue Connection Factory jmsmrointqcfintqcfui Sequential Yes

Inbound NO Maximum Try count 0 10 You will then need to bring up each external system and change the queue names associated with each system in the top right side of the screen to match those created above 11 Save your changes

Prepare the UI application and deploy For the UI instances edit the following files and comment out the meajmsejbjar 1 locate the file under maximoapplicationsmaximoMETA-INFapplicationxml

2 Open the file using a text editor and comment out the following Make sure the following looks like this lt-- JMS MDB is not deployed by default ltmodulegt ltejbgtmeajmsejbejbmoduleltejbgt ltmodulegt --gt 3 locate the file under maximoapplicationsmaximoMETA-INFdeployment-applicationxml

4 Open the file using a text editor and uncomment the following lt-- JMS MDB is not deployed by default ltmodule id=EjbModule_1077124925237gt ltejbgtmeajmsejbjarltejbgt ltmodulegt --gt 5 Edit the maximoproperties file and set mxename to a unique value such as MXServerUI and save 6 Uncomment the line mxecrontaskdonotrun if it is commented out

Edit the line so that no crontasks except for the JMSQSEQCONSUMERSEQQOUT crontask will run on this server eg mxecrontaskdonotrun=JMSQSEQCONSUMERSEQQINIFACETABLECONSUMERIFACEINBBcronBBCRON1 Since we want all crontasks to run in the MEA instance all crontasks will be listed here except for the JMSQSEQCONSUMERSEQQOUT This crontask will need to run in the cluster Crontasks a cluster aware as long as they are specified where to run using the maximoproperties If using the Target Enable feature to force the MEA crontasks to run in specific servers they are not cluster aware

and no failover will occur if the server running a specific MEA crontask fails Be sure to go through your list of crontasks and note each instance in the correct case and add it to the mxecrontaskdonotrun parameter in the maximoproperties each separated by a comma 7 Build the maximoear file Deploying the maximoear to the cluster Now that you have created and configured the MAXIMOCLUSTER you must deploy your enterprise applications within the cluster

1 In the navigation pane click Applications gt Install New Applications 2 Select the appropriate option and navigate to where the EAR files reside 3 Select maximoear then click Open in the dialog box 4 In the Preparing for the application installation screen select the following

Generate default bindings Do not specify unique prefix for beans Do not override existing bindings Use default virtual host name for Web modules and enter MAXIMOCLUSTER_host

5 In the Install New Application window accept the default settings and click Next 6 In Step 2 Map modules to servers you map Web modules to the MAXIMOCLUSTER cluster Complete the following actions a) From the Clusters and Servers box select the MAXIMOCLUSTER cluster and webserver1 b) Check all module boxes and click Apply 7 In Steps 3 4 and 5 accept the defaults and click Next 8 In Step 6 complete the following actions a) Select all items from the Web module column b) For each Web module select MAXIMOCLUSTER_host from the Virtual host list and click Next

9 In Steps 7 and 8 accept the defaults and click Next 10 In the final step review your settings then click Finish The deployment process takes several minutes to complete 11 In the confirmation page when you see the message Application Maximo installed successfully perform the following actions a) Click Save to Master Configuration b) Save Synchronize changes with Nodes

Start the MAXIMOCLUSTER Cluster 1 In the navigation pane click Servers gt Clusters 2 Select MAXIMOCLUSTER then click Ripplestart 3 To access the cluster open HTTPltnode namegtltportgtmaximo where ltportgt is the port number of the IBM HTTP server (80) Deploying web services

When deploying web services you will need to set up the web service administration URL and port to point to the MAXIMOMEA application server IP address and port When sending transactions to these interfaces you will need to point your web service client to the IP address and port of the MAXIMOMEA application server IP address and port not the cluster address for the UI instances

Notes

httpwwwredbooksibmcomredbookspdfssg247645pdf

Maximo Asset Management 71 Implementer Guide

Maximo Asset Management 71 Deployment Guide

Tivoli Service Request Manager 71 Implementation Tivoli Asset Management for IT 71 Integration Guide Tivoli Service Request Manager Implementing IBM Tivoli Service Request Manager V71 Service Catalog

Page 5: Setting Up WebSphere Persistent Queues

6 Enter a Description that identifies this entry 7 Click apply 8 Save and synchronize with other nodes 9 Navigate back to your data source called oraclexads2 10 In the dropdown field for Component managed authentication alias select your data alias (ie

maximo2) 11 Click apply and save and synchronize with other nodes 12 Navigate to your data source again and click the test button at the top of the screen to test your data source Once the test has succeeded you can proceed to the next section Creating JMS resources for use in a clustered environment Creating the JMS buses

1 Log in to the WebSphere console and navigate in the left pane to Integrationbuses 2 Click the new button to create a new bus 3 In the name field enter meajmsbus 4 Deselect the secure checkbox 5 Change the high message threshold to 500000 messages 6 Click apply 7 Navigate again in the left pane to Integrationbuses 8 Click the new button to create a second new bus 9 In the name field enter uijmsbus 10 Deselect the secure checkbox 11 Change the high message threshold to 500000 messages

12 Click apply Adding members to the bus 1 Navigate in the left pane to Integrationbuses 2 Select the first bus created above called meajmsbus 3 Under additional properties select bus members 4 Click the Add button 5 Add the MAXIMOMEA server as a bus member by selecting that under the server section 6 In the data source JNDI name field enter

jdbcoraclexads 7 click Next 8 click finish 9 Navigate in the left pane to Integrationbuses 10 Select the second bus created above called uijmsbus 11 Add the MAXIMOCLUSTER by selecting that under the cluster section 12 In the data source JNDI name field enter

jdbcoraclexads2 13 Save and synchronize with other nodes Setting the data store schema and authentication alias 1 Select the bus member (MEA instance) of your meajmsbus bus 2 from the list of message engines select your message engine

3 Under additional properties click data store 4 In the data source JNDI name field enter jdbcoraclexads 5 In the schema name field enter your maximo schema name (ie maximo)

6 In the authentication alias dropdown select the alias created for the data source above 7 click OK 8 Navigate back to your list of buses and select the uijmsbus 9 Select the bus member (Cluster) of your uijmsbus bus 9 From the list of message engines select your message engine 10 Under additional properties click data store 11 In the data source JNDI name field enter jdbcoraclexads2 12 In the schema name field enter your second schema created above by your DBA (ie maximo2)

13 In the authentication alias dropdown select the second alias created for this data source above 14 Click OK 15 Save and synchronize with other nodes Creating bus destinations 1 Log in to the WebSphere console and navigate to Service Integrationbuses 2 Select your bus meajmsbus 3 Under Additional properties click destinations 4 click the new button

5 Set the destination type as queue and click next 6 In the identifier field enter cqinbdcls 7 Assign the queue in the next screen to the MAXIMOMEA application server 8 Click next 9 Click finish 10 Repeat the steps above to create the sqinbdcls destination and assigning it to the MAXIMOMEA application server 11 Navigate in the WebSphere console to Service Integrationbuses 12 Select your bus uijmsbus 13 Under Additional properties click destinations

14 Click the new button 15 Set the destination type as queue and click next 16 In the identifier field enter sqoutbdcls 17 Assign the queue in the next screen to the UI Cluster 18 Click next 19 Click finish 20 Navigate in the WebSphere console to each destination created above on both buses 21 For each destination above set the exception destination to none then click Apply 22 Save and synchronize with other nodes

Creating the MEA connection factories 1 Log in to the WebSphere console 2 Navigate in the left pane to ResourcesJMS providersdefault messaging 3 Set the scope to the cell and click apply making sure node cluster and server fields are empty 4 Under connection factories select JMS queue connection factory 5 Click the new button 6 In the name field enter meaconfact 7 In the JNDI name field enter

jmsmrointqcfintqcfmea 8 Select the bus meajmsbus from the dropdown 9 Click apply and save and synchronize with other nodes

10 Under connection factories select JMS queue connection factory 11 Click the new button 12 In the name field enter uiconfact 13 In the JNDI name field enter jmsmrointqcfintqcfui 14 Select the bus uijmsbus from the dropdown 15 Click apply and save and synchronize with other nodes Creating JMS queues

Continuous inbound queue 1 Log in to the WebSphere console and navigate to ResourcesJMS providersdefault messaging 2 Ensure that the scope is set to the Cell and Under destinations click jms queue 3 Click the new button 4 Enter the name as cqincls 5 In the JNDI name field enter jmsmrointqueuescqincls 6 Select the meajmsbus as the bus for this queue 7 In the queue name field enter the destination name for this as cqinbdcls 8 Click OK Sequential inbound queue

1 Log in to the WebSphere console and navigate to ResourcesJMS providersdefault messaging 2 Under destinations click jms queue 3 Click the new button 4 Enter the name as sqincls 5 In the JNDI name field enter jmsmrointqueuessqincls 6 Select the meajmsbus as the bus for this queue 7 In the queue name field enter the destination name for this as sqinbdcls 8 Click OK Sequential outbound queue

1 Log in to the WebSphere console and navigate to ResourcesJMS providersdefault messaging 2 Under destinations click jms queue 3 Click the new button 4 Enter the name as sqoutcls 5 In the JNDI name field enter jmsmrointqueuessqoutcls 6 Select the uijmsbus as the bus for this queue 7 In the queue name field enter the destination name for this as sqoutbdcls 8 Click OK 9 Save and synchronize with other nodes

Creating the JMS Activation Specification 1 Log in to the WebSphere console and navigate to ResourcesJMS providersdefault messaging 2 Ensure that the scope is set to the Cell 3 Under additional properties click jms activation specification 4 Click the new button 5 In the name field enter meajmsactcls 6 In the JNDI name field enter meajmsactcls 7 In the Destination JNDI name field enter jmsmrointqueuescqincls

8 Make sure the destination type is queue 9 Select your bus meajmsbus as the bus for this specification 10 Set Maximum batch size to 10 11 Set Maximo end points to 5 12 Click OK and save and synchronize with other nodes 13 Stop and Restart all IBM services

Preparing the MEA application For the MAXIMOMEA application instance edit the following files and uncomment the meajmsejbjar 1 locate the file under maximoapplicationsmaximoMETA-INFapplicationxml 2 Open the file using a text editor and uncomment the following (they may already be in the state below) Make sure the following looks like this

lt-- JMS MDB is not deployed by default --gt ltmodulegt ltejbgtmeajmsejbejbmoduleltejbgt ltmodulegt 3 locate the file under maximoapplicationsmaximoMETA-INFdeployment-applicationxml 4 Open the file using a text editor and uncomment the following (they may already be in the state below) lt-- JMS MDB is not deployed by default --gt

ltmodule id=EjbModule_1077124925237gt ltejbgtmeajmsejbjarltejbgt ltmodulegt 5 The activation specification JNDI name is not the default (ie meajmsact) so you will need to edit the following file and change the value as below to your new JNDI name maximoapplicationsmaximomeajmsejbejbmoduleMETA-INFibm-ejb-jar-bndxmi 6 Locate the following line

ltejbBindings xmitype=comibmejsmodelsbasebindingsejbbndMessageDrivenBeanBinding xmiid=MessageDrivenBeanBinding_1 activationSpecJndiName=meajmsactgt 7 change the name of the activation specification name at the end of the line to reflect the name of the specification created above activationSpecJndiName=meajmsactcls 8 Edit the maximoproperties file and set mxename to a unique value such as MXServerMEA and save 9 Uncomment the line mxecrontaskdonotrun if it is commented out

Edit the line so that all crontasks except for the JMSQSEQCONSUMERSEQQOUT crontask will run on this server eg mxecrontaskdonotrun=JMSQSEQCONSUMERSEQQOUT This will be the only crontask entry because this is the only crontask that we do not want to run 10 Build the maximoear

11 Deploy the maximoear to the MEA application server MAXIMOMEA (refer to the system administrators guide for deployment information) NOTE During the deploy you will be asked for the application name and the field will default with the value MAXIMO You must change this for the MEA instance so that the UI instances can use MAXIMO as the application name Enter the application name as MAXIMOMEA

12 Restart the application server and start the Maximo application Changes required in Maximo 1 Launch the Maximo application and log in httphostportmaximo 2 Navigate to configurationcron task setup 3 Bring up the JMSQSEQCONSUMER crontask

4 For the SEQQIN instance change the queue name to match your inbound sequential queue name jmsmrointqueuessqincls 5 For the SEQQOUT instance change the queue name to match your outbound sequential queue name jmsmrointqueuessqoutcls 6 Save your changes 7 Next navigate to the IntegrationExternal Systems application

8 Select any external system and then from the action menu select addmodify queues 9 Create your three new queues with the following values Continuous inbound queue Queue JNDI name jmsmrointqueuescqincls Queue Connection Factory jmsmrointqcfintqcfmea Sequential NO Inbound Yes Maximum Try count 0

Sequential inbound queue Queue JNDI name jmsmrointqueuessqincls Queue Connection Factory jmsmrointqcfintqcfmea Sequential Yes Inbound Yes Maximum Try count 0 Sequential outbound queue Queue JNDI name jmsmrointqueuessqoutcls Queue Connection Factory jmsmrointqcfintqcfui Sequential Yes

Inbound NO Maximum Try count 0 10 You will then need to bring up each external system and change the queue names associated with each system in the top right side of the screen to match those created above 11 Save your changes

Prepare the UI application and deploy For the UI instances edit the following files and comment out the meajmsejbjar 1 locate the file under maximoapplicationsmaximoMETA-INFapplicationxml

2 Open the file using a text editor and comment out the following Make sure the following looks like this lt-- JMS MDB is not deployed by default ltmodulegt ltejbgtmeajmsejbejbmoduleltejbgt ltmodulegt --gt 3 locate the file under maximoapplicationsmaximoMETA-INFdeployment-applicationxml

4 Open the file using a text editor and uncomment the following lt-- JMS MDB is not deployed by default ltmodule id=EjbModule_1077124925237gt ltejbgtmeajmsejbjarltejbgt ltmodulegt --gt 5 Edit the maximoproperties file and set mxename to a unique value such as MXServerUI and save 6 Uncomment the line mxecrontaskdonotrun if it is commented out

Edit the line so that no crontasks except for the JMSQSEQCONSUMERSEQQOUT crontask will run on this server eg mxecrontaskdonotrun=JMSQSEQCONSUMERSEQQINIFACETABLECONSUMERIFACEINBBcronBBCRON1 Since we want all crontasks to run in the MEA instance all crontasks will be listed here except for the JMSQSEQCONSUMERSEQQOUT This crontask will need to run in the cluster Crontasks a cluster aware as long as they are specified where to run using the maximoproperties If using the Target Enable feature to force the MEA crontasks to run in specific servers they are not cluster aware

and no failover will occur if the server running a specific MEA crontask fails Be sure to go through your list of crontasks and note each instance in the correct case and add it to the mxecrontaskdonotrun parameter in the maximoproperties each separated by a comma 7 Build the maximoear file Deploying the maximoear to the cluster Now that you have created and configured the MAXIMOCLUSTER you must deploy your enterprise applications within the cluster

1 In the navigation pane click Applications gt Install New Applications 2 Select the appropriate option and navigate to where the EAR files reside 3 Select maximoear then click Open in the dialog box 4 In the Preparing for the application installation screen select the following

Generate default bindings Do not specify unique prefix for beans Do not override existing bindings Use default virtual host name for Web modules and enter MAXIMOCLUSTER_host

5 In the Install New Application window accept the default settings and click Next 6 In Step 2 Map modules to servers you map Web modules to the MAXIMOCLUSTER cluster Complete the following actions a) From the Clusters and Servers box select the MAXIMOCLUSTER cluster and webserver1 b) Check all module boxes and click Apply 7 In Steps 3 4 and 5 accept the defaults and click Next 8 In Step 6 complete the following actions a) Select all items from the Web module column b) For each Web module select MAXIMOCLUSTER_host from the Virtual host list and click Next

9 In Steps 7 and 8 accept the defaults and click Next 10 In the final step review your settings then click Finish The deployment process takes several minutes to complete 11 In the confirmation page when you see the message Application Maximo installed successfully perform the following actions a) Click Save to Master Configuration b) Save Synchronize changes with Nodes

Start the MAXIMOCLUSTER Cluster 1 In the navigation pane click Servers gt Clusters 2 Select MAXIMOCLUSTER then click Ripplestart 3 To access the cluster open HTTPltnode namegtltportgtmaximo where ltportgt is the port number of the IBM HTTP server (80) Deploying web services

When deploying web services you will need to set up the web service administration URL and port to point to the MAXIMOMEA application server IP address and port When sending transactions to these interfaces you will need to point your web service client to the IP address and port of the MAXIMOMEA application server IP address and port not the cluster address for the UI instances

Notes

httpwwwredbooksibmcomredbookspdfssg247645pdf

Maximo Asset Management 71 Implementer Guide

Maximo Asset Management 71 Deployment Guide

Tivoli Service Request Manager 71 Implementation Tivoli Asset Management for IT 71 Integration Guide Tivoli Service Request Manager Implementing IBM Tivoli Service Request Manager V71 Service Catalog

Page 6: Setting Up WebSphere Persistent Queues

3 Under additional properties click data store 4 In the data source JNDI name field enter jdbcoraclexads 5 In the schema name field enter your maximo schema name (ie maximo)

6 In the authentication alias dropdown select the alias created for the data source above 7 click OK 8 Navigate back to your list of buses and select the uijmsbus 9 Select the bus member (Cluster) of your uijmsbus bus 9 From the list of message engines select your message engine 10 Under additional properties click data store 11 In the data source JNDI name field enter jdbcoraclexads2 12 In the schema name field enter your second schema created above by your DBA (ie maximo2)

13 In the authentication alias dropdown select the second alias created for this data source above 14 Click OK 15 Save and synchronize with other nodes Creating bus destinations 1 Log in to the WebSphere console and navigate to Service Integrationbuses 2 Select your bus meajmsbus 3 Under Additional properties click destinations 4 click the new button

5 Set the destination type as queue and click next 6 In the identifier field enter cqinbdcls 7 Assign the queue in the next screen to the MAXIMOMEA application server 8 Click next 9 Click finish 10 Repeat the steps above to create the sqinbdcls destination and assigning it to the MAXIMOMEA application server 11 Navigate in the WebSphere console to Service Integrationbuses 12 Select your bus uijmsbus 13 Under Additional properties click destinations

14 Click the new button 15 Set the destination type as queue and click next 16 In the identifier field enter sqoutbdcls 17 Assign the queue in the next screen to the UI Cluster 18 Click next 19 Click finish 20 Navigate in the WebSphere console to each destination created above on both buses 21 For each destination above set the exception destination to none then click Apply 22 Save and synchronize with other nodes

Creating the MEA connection factories 1 Log in to the WebSphere console 2 Navigate in the left pane to ResourcesJMS providersdefault messaging 3 Set the scope to the cell and click apply making sure node cluster and server fields are empty 4 Under connection factories select JMS queue connection factory 5 Click the new button 6 In the name field enter meaconfact 7 In the JNDI name field enter

jmsmrointqcfintqcfmea 8 Select the bus meajmsbus from the dropdown 9 Click apply and save and synchronize with other nodes

10 Under connection factories select JMS queue connection factory 11 Click the new button 12 In the name field enter uiconfact 13 In the JNDI name field enter jmsmrointqcfintqcfui 14 Select the bus uijmsbus from the dropdown 15 Click apply and save and synchronize with other nodes Creating JMS queues

Continuous inbound queue 1 Log in to the WebSphere console and navigate to ResourcesJMS providersdefault messaging 2 Ensure that the scope is set to the Cell and Under destinations click jms queue 3 Click the new button 4 Enter the name as cqincls 5 In the JNDI name field enter jmsmrointqueuescqincls 6 Select the meajmsbus as the bus for this queue 7 In the queue name field enter the destination name for this as cqinbdcls 8 Click OK Sequential inbound queue

1 Log in to the WebSphere console and navigate to ResourcesJMS providersdefault messaging 2 Under destinations click jms queue 3 Click the new button 4 Enter the name as sqincls 5 In the JNDI name field enter jmsmrointqueuessqincls 6 Select the meajmsbus as the bus for this queue 7 In the queue name field enter the destination name for this as sqinbdcls 8 Click OK Sequential outbound queue

1 Log in to the WebSphere console and navigate to ResourcesJMS providersdefault messaging 2 Under destinations click jms queue 3 Click the new button 4 Enter the name as sqoutcls 5 In the JNDI name field enter jmsmrointqueuessqoutcls 6 Select the uijmsbus as the bus for this queue 7 In the queue name field enter the destination name for this as sqoutbdcls 8 Click OK 9 Save and synchronize with other nodes

Creating the JMS Activation Specification 1 Log in to the WebSphere console and navigate to ResourcesJMS providersdefault messaging 2 Ensure that the scope is set to the Cell 3 Under additional properties click jms activation specification 4 Click the new button 5 In the name field enter meajmsactcls 6 In the JNDI name field enter meajmsactcls 7 In the Destination JNDI name field enter jmsmrointqueuescqincls

8 Make sure the destination type is queue 9 Select your bus meajmsbus as the bus for this specification 10 Set Maximum batch size to 10 11 Set Maximo end points to 5 12 Click OK and save and synchronize with other nodes 13 Stop and Restart all IBM services

Preparing the MEA application For the MAXIMOMEA application instance edit the following files and uncomment the meajmsejbjar 1 locate the file under maximoapplicationsmaximoMETA-INFapplicationxml 2 Open the file using a text editor and uncomment the following (they may already be in the state below) Make sure the following looks like this

lt-- JMS MDB is not deployed by default --gt ltmodulegt ltejbgtmeajmsejbejbmoduleltejbgt ltmodulegt 3 locate the file under maximoapplicationsmaximoMETA-INFdeployment-applicationxml 4 Open the file using a text editor and uncomment the following (they may already be in the state below) lt-- JMS MDB is not deployed by default --gt

ltmodule id=EjbModule_1077124925237gt ltejbgtmeajmsejbjarltejbgt ltmodulegt 5 The activation specification JNDI name is not the default (ie meajmsact) so you will need to edit the following file and change the value as below to your new JNDI name maximoapplicationsmaximomeajmsejbejbmoduleMETA-INFibm-ejb-jar-bndxmi 6 Locate the following line

ltejbBindings xmitype=comibmejsmodelsbasebindingsejbbndMessageDrivenBeanBinding xmiid=MessageDrivenBeanBinding_1 activationSpecJndiName=meajmsactgt 7 change the name of the activation specification name at the end of the line to reflect the name of the specification created above activationSpecJndiName=meajmsactcls 8 Edit the maximoproperties file and set mxename to a unique value such as MXServerMEA and save 9 Uncomment the line mxecrontaskdonotrun if it is commented out

Edit the line so that all crontasks except for the JMSQSEQCONSUMERSEQQOUT crontask will run on this server eg mxecrontaskdonotrun=JMSQSEQCONSUMERSEQQOUT This will be the only crontask entry because this is the only crontask that we do not want to run 10 Build the maximoear

11 Deploy the maximoear to the MEA application server MAXIMOMEA (refer to the system administrators guide for deployment information) NOTE During the deploy you will be asked for the application name and the field will default with the value MAXIMO You must change this for the MEA instance so that the UI instances can use MAXIMO as the application name Enter the application name as MAXIMOMEA

12 Restart the application server and start the Maximo application Changes required in Maximo 1 Launch the Maximo application and log in httphostportmaximo 2 Navigate to configurationcron task setup 3 Bring up the JMSQSEQCONSUMER crontask

4 For the SEQQIN instance change the queue name to match your inbound sequential queue name jmsmrointqueuessqincls 5 For the SEQQOUT instance change the queue name to match your outbound sequential queue name jmsmrointqueuessqoutcls 6 Save your changes 7 Next navigate to the IntegrationExternal Systems application

8 Select any external system and then from the action menu select addmodify queues 9 Create your three new queues with the following values Continuous inbound queue Queue JNDI name jmsmrointqueuescqincls Queue Connection Factory jmsmrointqcfintqcfmea Sequential NO Inbound Yes Maximum Try count 0

Sequential inbound queue Queue JNDI name jmsmrointqueuessqincls Queue Connection Factory jmsmrointqcfintqcfmea Sequential Yes Inbound Yes Maximum Try count 0 Sequential outbound queue Queue JNDI name jmsmrointqueuessqoutcls Queue Connection Factory jmsmrointqcfintqcfui Sequential Yes

Inbound NO Maximum Try count 0 10 You will then need to bring up each external system and change the queue names associated with each system in the top right side of the screen to match those created above 11 Save your changes

Prepare the UI application and deploy For the UI instances edit the following files and comment out the meajmsejbjar 1 locate the file under maximoapplicationsmaximoMETA-INFapplicationxml

2 Open the file using a text editor and comment out the following Make sure the following looks like this lt-- JMS MDB is not deployed by default ltmodulegt ltejbgtmeajmsejbejbmoduleltejbgt ltmodulegt --gt 3 locate the file under maximoapplicationsmaximoMETA-INFdeployment-applicationxml

4 Open the file using a text editor and uncomment the following lt-- JMS MDB is not deployed by default ltmodule id=EjbModule_1077124925237gt ltejbgtmeajmsejbjarltejbgt ltmodulegt --gt 5 Edit the maximoproperties file and set mxename to a unique value such as MXServerUI and save 6 Uncomment the line mxecrontaskdonotrun if it is commented out

Edit the line so that no crontasks except for the JMSQSEQCONSUMERSEQQOUT crontask will run on this server eg mxecrontaskdonotrun=JMSQSEQCONSUMERSEQQINIFACETABLECONSUMERIFACEINBBcronBBCRON1 Since we want all crontasks to run in the MEA instance all crontasks will be listed here except for the JMSQSEQCONSUMERSEQQOUT This crontask will need to run in the cluster Crontasks a cluster aware as long as they are specified where to run using the maximoproperties If using the Target Enable feature to force the MEA crontasks to run in specific servers they are not cluster aware

and no failover will occur if the server running a specific MEA crontask fails Be sure to go through your list of crontasks and note each instance in the correct case and add it to the mxecrontaskdonotrun parameter in the maximoproperties each separated by a comma 7 Build the maximoear file Deploying the maximoear to the cluster Now that you have created and configured the MAXIMOCLUSTER you must deploy your enterprise applications within the cluster

1 In the navigation pane click Applications gt Install New Applications 2 Select the appropriate option and navigate to where the EAR files reside 3 Select maximoear then click Open in the dialog box 4 In the Preparing for the application installation screen select the following

Generate default bindings Do not specify unique prefix for beans Do not override existing bindings Use default virtual host name for Web modules and enter MAXIMOCLUSTER_host

5 In the Install New Application window accept the default settings and click Next 6 In Step 2 Map modules to servers you map Web modules to the MAXIMOCLUSTER cluster Complete the following actions a) From the Clusters and Servers box select the MAXIMOCLUSTER cluster and webserver1 b) Check all module boxes and click Apply 7 In Steps 3 4 and 5 accept the defaults and click Next 8 In Step 6 complete the following actions a) Select all items from the Web module column b) For each Web module select MAXIMOCLUSTER_host from the Virtual host list and click Next

9 In Steps 7 and 8 accept the defaults and click Next 10 In the final step review your settings then click Finish The deployment process takes several minutes to complete 11 In the confirmation page when you see the message Application Maximo installed successfully perform the following actions a) Click Save to Master Configuration b) Save Synchronize changes with Nodes

Start the MAXIMOCLUSTER Cluster 1 In the navigation pane click Servers gt Clusters 2 Select MAXIMOCLUSTER then click Ripplestart 3 To access the cluster open HTTPltnode namegtltportgtmaximo where ltportgt is the port number of the IBM HTTP server (80) Deploying web services

When deploying web services you will need to set up the web service administration URL and port to point to the MAXIMOMEA application server IP address and port When sending transactions to these interfaces you will need to point your web service client to the IP address and port of the MAXIMOMEA application server IP address and port not the cluster address for the UI instances

Notes

httpwwwredbooksibmcomredbookspdfssg247645pdf

Maximo Asset Management 71 Implementer Guide

Maximo Asset Management 71 Deployment Guide

Tivoli Service Request Manager 71 Implementation Tivoli Asset Management for IT 71 Integration Guide Tivoli Service Request Manager Implementing IBM Tivoli Service Request Manager V71 Service Catalog

Page 7: Setting Up WebSphere Persistent Queues

jmsmrointqcfintqcfmea 8 Select the bus meajmsbus from the dropdown 9 Click apply and save and synchronize with other nodes

10 Under connection factories select JMS queue connection factory 11 Click the new button 12 In the name field enter uiconfact 13 In the JNDI name field enter jmsmrointqcfintqcfui 14 Select the bus uijmsbus from the dropdown 15 Click apply and save and synchronize with other nodes Creating JMS queues

Continuous inbound queue 1 Log in to the WebSphere console and navigate to ResourcesJMS providersdefault messaging 2 Ensure that the scope is set to the Cell and Under destinations click jms queue 3 Click the new button 4 Enter the name as cqincls 5 In the JNDI name field enter jmsmrointqueuescqincls 6 Select the meajmsbus as the bus for this queue 7 In the queue name field enter the destination name for this as cqinbdcls 8 Click OK Sequential inbound queue

1 Log in to the WebSphere console and navigate to ResourcesJMS providersdefault messaging 2 Under destinations click jms queue 3 Click the new button 4 Enter the name as sqincls 5 In the JNDI name field enter jmsmrointqueuessqincls 6 Select the meajmsbus as the bus for this queue 7 In the queue name field enter the destination name for this as sqinbdcls 8 Click OK Sequential outbound queue

1 Log in to the WebSphere console and navigate to ResourcesJMS providersdefault messaging 2 Under destinations click jms queue 3 Click the new button 4 Enter the name as sqoutcls 5 In the JNDI name field enter jmsmrointqueuessqoutcls 6 Select the uijmsbus as the bus for this queue 7 In the queue name field enter the destination name for this as sqoutbdcls 8 Click OK 9 Save and synchronize with other nodes

Creating the JMS Activation Specification 1 Log in to the WebSphere console and navigate to ResourcesJMS providersdefault messaging 2 Ensure that the scope is set to the Cell 3 Under additional properties click jms activation specification 4 Click the new button 5 In the name field enter meajmsactcls 6 In the JNDI name field enter meajmsactcls 7 In the Destination JNDI name field enter jmsmrointqueuescqincls

8 Make sure the destination type is queue 9 Select your bus meajmsbus as the bus for this specification 10 Set Maximum batch size to 10 11 Set Maximo end points to 5 12 Click OK and save and synchronize with other nodes 13 Stop and Restart all IBM services

Preparing the MEA application For the MAXIMOMEA application instance edit the following files and uncomment the meajmsejbjar 1 locate the file under maximoapplicationsmaximoMETA-INFapplicationxml 2 Open the file using a text editor and uncomment the following (they may already be in the state below) Make sure the following looks like this

lt-- JMS MDB is not deployed by default --gt ltmodulegt ltejbgtmeajmsejbejbmoduleltejbgt ltmodulegt 3 locate the file under maximoapplicationsmaximoMETA-INFdeployment-applicationxml 4 Open the file using a text editor and uncomment the following (they may already be in the state below) lt-- JMS MDB is not deployed by default --gt

ltmodule id=EjbModule_1077124925237gt ltejbgtmeajmsejbjarltejbgt ltmodulegt 5 The activation specification JNDI name is not the default (ie meajmsact) so you will need to edit the following file and change the value as below to your new JNDI name maximoapplicationsmaximomeajmsejbejbmoduleMETA-INFibm-ejb-jar-bndxmi 6 Locate the following line

ltejbBindings xmitype=comibmejsmodelsbasebindingsejbbndMessageDrivenBeanBinding xmiid=MessageDrivenBeanBinding_1 activationSpecJndiName=meajmsactgt 7 change the name of the activation specification name at the end of the line to reflect the name of the specification created above activationSpecJndiName=meajmsactcls 8 Edit the maximoproperties file and set mxename to a unique value such as MXServerMEA and save 9 Uncomment the line mxecrontaskdonotrun if it is commented out

Edit the line so that all crontasks except for the JMSQSEQCONSUMERSEQQOUT crontask will run on this server eg mxecrontaskdonotrun=JMSQSEQCONSUMERSEQQOUT This will be the only crontask entry because this is the only crontask that we do not want to run 10 Build the maximoear

11 Deploy the maximoear to the MEA application server MAXIMOMEA (refer to the system administrators guide for deployment information) NOTE During the deploy you will be asked for the application name and the field will default with the value MAXIMO You must change this for the MEA instance so that the UI instances can use MAXIMO as the application name Enter the application name as MAXIMOMEA

12 Restart the application server and start the Maximo application Changes required in Maximo 1 Launch the Maximo application and log in httphostportmaximo 2 Navigate to configurationcron task setup 3 Bring up the JMSQSEQCONSUMER crontask

4 For the SEQQIN instance change the queue name to match your inbound sequential queue name jmsmrointqueuessqincls 5 For the SEQQOUT instance change the queue name to match your outbound sequential queue name jmsmrointqueuessqoutcls 6 Save your changes 7 Next navigate to the IntegrationExternal Systems application

8 Select any external system and then from the action menu select addmodify queues 9 Create your three new queues with the following values Continuous inbound queue Queue JNDI name jmsmrointqueuescqincls Queue Connection Factory jmsmrointqcfintqcfmea Sequential NO Inbound Yes Maximum Try count 0

Sequential inbound queue Queue JNDI name jmsmrointqueuessqincls Queue Connection Factory jmsmrointqcfintqcfmea Sequential Yes Inbound Yes Maximum Try count 0 Sequential outbound queue Queue JNDI name jmsmrointqueuessqoutcls Queue Connection Factory jmsmrointqcfintqcfui Sequential Yes

Inbound NO Maximum Try count 0 10 You will then need to bring up each external system and change the queue names associated with each system in the top right side of the screen to match those created above 11 Save your changes

Prepare the UI application and deploy For the UI instances edit the following files and comment out the meajmsejbjar 1 locate the file under maximoapplicationsmaximoMETA-INFapplicationxml

2 Open the file using a text editor and comment out the following Make sure the following looks like this lt-- JMS MDB is not deployed by default ltmodulegt ltejbgtmeajmsejbejbmoduleltejbgt ltmodulegt --gt 3 locate the file under maximoapplicationsmaximoMETA-INFdeployment-applicationxml

4 Open the file using a text editor and uncomment the following lt-- JMS MDB is not deployed by default ltmodule id=EjbModule_1077124925237gt ltejbgtmeajmsejbjarltejbgt ltmodulegt --gt 5 Edit the maximoproperties file and set mxename to a unique value such as MXServerUI and save 6 Uncomment the line mxecrontaskdonotrun if it is commented out

Edit the line so that no crontasks except for the JMSQSEQCONSUMERSEQQOUT crontask will run on this server eg mxecrontaskdonotrun=JMSQSEQCONSUMERSEQQINIFACETABLECONSUMERIFACEINBBcronBBCRON1 Since we want all crontasks to run in the MEA instance all crontasks will be listed here except for the JMSQSEQCONSUMERSEQQOUT This crontask will need to run in the cluster Crontasks a cluster aware as long as they are specified where to run using the maximoproperties If using the Target Enable feature to force the MEA crontasks to run in specific servers they are not cluster aware

and no failover will occur if the server running a specific MEA crontask fails Be sure to go through your list of crontasks and note each instance in the correct case and add it to the mxecrontaskdonotrun parameter in the maximoproperties each separated by a comma 7 Build the maximoear file Deploying the maximoear to the cluster Now that you have created and configured the MAXIMOCLUSTER you must deploy your enterprise applications within the cluster

1 In the navigation pane click Applications gt Install New Applications 2 Select the appropriate option and navigate to where the EAR files reside 3 Select maximoear then click Open in the dialog box 4 In the Preparing for the application installation screen select the following

Generate default bindings Do not specify unique prefix for beans Do not override existing bindings Use default virtual host name for Web modules and enter MAXIMOCLUSTER_host

5 In the Install New Application window accept the default settings and click Next 6 In Step 2 Map modules to servers you map Web modules to the MAXIMOCLUSTER cluster Complete the following actions a) From the Clusters and Servers box select the MAXIMOCLUSTER cluster and webserver1 b) Check all module boxes and click Apply 7 In Steps 3 4 and 5 accept the defaults and click Next 8 In Step 6 complete the following actions a) Select all items from the Web module column b) For each Web module select MAXIMOCLUSTER_host from the Virtual host list and click Next

9 In Steps 7 and 8 accept the defaults and click Next 10 In the final step review your settings then click Finish The deployment process takes several minutes to complete 11 In the confirmation page when you see the message Application Maximo installed successfully perform the following actions a) Click Save to Master Configuration b) Save Synchronize changes with Nodes

Start the MAXIMOCLUSTER Cluster 1 In the navigation pane click Servers gt Clusters 2 Select MAXIMOCLUSTER then click Ripplestart 3 To access the cluster open HTTPltnode namegtltportgtmaximo where ltportgt is the port number of the IBM HTTP server (80) Deploying web services

When deploying web services you will need to set up the web service administration URL and port to point to the MAXIMOMEA application server IP address and port When sending transactions to these interfaces you will need to point your web service client to the IP address and port of the MAXIMOMEA application server IP address and port not the cluster address for the UI instances

Notes

httpwwwredbooksibmcomredbookspdfssg247645pdf

Maximo Asset Management 71 Implementer Guide

Maximo Asset Management 71 Deployment Guide

Tivoli Service Request Manager 71 Implementation Tivoli Asset Management for IT 71 Integration Guide Tivoli Service Request Manager Implementing IBM Tivoli Service Request Manager V71 Service Catalog

Page 8: Setting Up WebSphere Persistent Queues

8 Make sure the destination type is queue 9 Select your bus meajmsbus as the bus for this specification 10 Set Maximum batch size to 10 11 Set Maximo end points to 5 12 Click OK and save and synchronize with other nodes 13 Stop and Restart all IBM services

Preparing the MEA application For the MAXIMOMEA application instance edit the following files and uncomment the meajmsejbjar 1 locate the file under maximoapplicationsmaximoMETA-INFapplicationxml 2 Open the file using a text editor and uncomment the following (they may already be in the state below) Make sure the following looks like this

lt-- JMS MDB is not deployed by default --gt ltmodulegt ltejbgtmeajmsejbejbmoduleltejbgt ltmodulegt 3 locate the file under maximoapplicationsmaximoMETA-INFdeployment-applicationxml 4 Open the file using a text editor and uncomment the following (they may already be in the state below) lt-- JMS MDB is not deployed by default --gt

ltmodule id=EjbModule_1077124925237gt ltejbgtmeajmsejbjarltejbgt ltmodulegt 5 The activation specification JNDI name is not the default (ie meajmsact) so you will need to edit the following file and change the value as below to your new JNDI name maximoapplicationsmaximomeajmsejbejbmoduleMETA-INFibm-ejb-jar-bndxmi 6 Locate the following line

ltejbBindings xmitype=comibmejsmodelsbasebindingsejbbndMessageDrivenBeanBinding xmiid=MessageDrivenBeanBinding_1 activationSpecJndiName=meajmsactgt 7 change the name of the activation specification name at the end of the line to reflect the name of the specification created above activationSpecJndiName=meajmsactcls 8 Edit the maximoproperties file and set mxename to a unique value such as MXServerMEA and save 9 Uncomment the line mxecrontaskdonotrun if it is commented out

Edit the line so that all crontasks except for the JMSQSEQCONSUMERSEQQOUT crontask will run on this server eg mxecrontaskdonotrun=JMSQSEQCONSUMERSEQQOUT This will be the only crontask entry because this is the only crontask that we do not want to run 10 Build the maximoear

11 Deploy the maximoear to the MEA application server MAXIMOMEA (refer to the system administrators guide for deployment information) NOTE During the deploy you will be asked for the application name and the field will default with the value MAXIMO You must change this for the MEA instance so that the UI instances can use MAXIMO as the application name Enter the application name as MAXIMOMEA

12 Restart the application server and start the Maximo application Changes required in Maximo 1 Launch the Maximo application and log in httphostportmaximo 2 Navigate to configurationcron task setup 3 Bring up the JMSQSEQCONSUMER crontask

4 For the SEQQIN instance change the queue name to match your inbound sequential queue name jmsmrointqueuessqincls 5 For the SEQQOUT instance change the queue name to match your outbound sequential queue name jmsmrointqueuessqoutcls 6 Save your changes 7 Next navigate to the IntegrationExternal Systems application

8 Select any external system and then from the action menu select addmodify queues 9 Create your three new queues with the following values Continuous inbound queue Queue JNDI name jmsmrointqueuescqincls Queue Connection Factory jmsmrointqcfintqcfmea Sequential NO Inbound Yes Maximum Try count 0

Sequential inbound queue Queue JNDI name jmsmrointqueuessqincls Queue Connection Factory jmsmrointqcfintqcfmea Sequential Yes Inbound Yes Maximum Try count 0 Sequential outbound queue Queue JNDI name jmsmrointqueuessqoutcls Queue Connection Factory jmsmrointqcfintqcfui Sequential Yes

Inbound NO Maximum Try count 0 10 You will then need to bring up each external system and change the queue names associated with each system in the top right side of the screen to match those created above 11 Save your changes

Prepare the UI application and deploy For the UI instances edit the following files and comment out the meajmsejbjar 1 locate the file under maximoapplicationsmaximoMETA-INFapplicationxml

2 Open the file using a text editor and comment out the following Make sure the following looks like this lt-- JMS MDB is not deployed by default ltmodulegt ltejbgtmeajmsejbejbmoduleltejbgt ltmodulegt --gt 3 locate the file under maximoapplicationsmaximoMETA-INFdeployment-applicationxml

4 Open the file using a text editor and uncomment the following lt-- JMS MDB is not deployed by default ltmodule id=EjbModule_1077124925237gt ltejbgtmeajmsejbjarltejbgt ltmodulegt --gt 5 Edit the maximoproperties file and set mxename to a unique value such as MXServerUI and save 6 Uncomment the line mxecrontaskdonotrun if it is commented out

Edit the line so that no crontasks except for the JMSQSEQCONSUMERSEQQOUT crontask will run on this server eg mxecrontaskdonotrun=JMSQSEQCONSUMERSEQQINIFACETABLECONSUMERIFACEINBBcronBBCRON1 Since we want all crontasks to run in the MEA instance all crontasks will be listed here except for the JMSQSEQCONSUMERSEQQOUT This crontask will need to run in the cluster Crontasks a cluster aware as long as they are specified where to run using the maximoproperties If using the Target Enable feature to force the MEA crontasks to run in specific servers they are not cluster aware

and no failover will occur if the server running a specific MEA crontask fails Be sure to go through your list of crontasks and note each instance in the correct case and add it to the mxecrontaskdonotrun parameter in the maximoproperties each separated by a comma 7 Build the maximoear file Deploying the maximoear to the cluster Now that you have created and configured the MAXIMOCLUSTER you must deploy your enterprise applications within the cluster

1 In the navigation pane click Applications gt Install New Applications 2 Select the appropriate option and navigate to where the EAR files reside 3 Select maximoear then click Open in the dialog box 4 In the Preparing for the application installation screen select the following

Generate default bindings Do not specify unique prefix for beans Do not override existing bindings Use default virtual host name for Web modules and enter MAXIMOCLUSTER_host

5 In the Install New Application window accept the default settings and click Next 6 In Step 2 Map modules to servers you map Web modules to the MAXIMOCLUSTER cluster Complete the following actions a) From the Clusters and Servers box select the MAXIMOCLUSTER cluster and webserver1 b) Check all module boxes and click Apply 7 In Steps 3 4 and 5 accept the defaults and click Next 8 In Step 6 complete the following actions a) Select all items from the Web module column b) For each Web module select MAXIMOCLUSTER_host from the Virtual host list and click Next

9 In Steps 7 and 8 accept the defaults and click Next 10 In the final step review your settings then click Finish The deployment process takes several minutes to complete 11 In the confirmation page when you see the message Application Maximo installed successfully perform the following actions a) Click Save to Master Configuration b) Save Synchronize changes with Nodes

Start the MAXIMOCLUSTER Cluster 1 In the navigation pane click Servers gt Clusters 2 Select MAXIMOCLUSTER then click Ripplestart 3 To access the cluster open HTTPltnode namegtltportgtmaximo where ltportgt is the port number of the IBM HTTP server (80) Deploying web services

When deploying web services you will need to set up the web service administration URL and port to point to the MAXIMOMEA application server IP address and port When sending transactions to these interfaces you will need to point your web service client to the IP address and port of the MAXIMOMEA application server IP address and port not the cluster address for the UI instances

Notes

httpwwwredbooksibmcomredbookspdfssg247645pdf

Maximo Asset Management 71 Implementer Guide

Maximo Asset Management 71 Deployment Guide

Tivoli Service Request Manager 71 Implementation Tivoli Asset Management for IT 71 Integration Guide Tivoli Service Request Manager Implementing IBM Tivoli Service Request Manager V71 Service Catalog

Page 9: Setting Up WebSphere Persistent Queues

11 Deploy the maximoear to the MEA application server MAXIMOMEA (refer to the system administrators guide for deployment information) NOTE During the deploy you will be asked for the application name and the field will default with the value MAXIMO You must change this for the MEA instance so that the UI instances can use MAXIMO as the application name Enter the application name as MAXIMOMEA

12 Restart the application server and start the Maximo application Changes required in Maximo 1 Launch the Maximo application and log in httphostportmaximo 2 Navigate to configurationcron task setup 3 Bring up the JMSQSEQCONSUMER crontask

4 For the SEQQIN instance change the queue name to match your inbound sequential queue name jmsmrointqueuessqincls 5 For the SEQQOUT instance change the queue name to match your outbound sequential queue name jmsmrointqueuessqoutcls 6 Save your changes 7 Next navigate to the IntegrationExternal Systems application

8 Select any external system and then from the action menu select addmodify queues 9 Create your three new queues with the following values Continuous inbound queue Queue JNDI name jmsmrointqueuescqincls Queue Connection Factory jmsmrointqcfintqcfmea Sequential NO Inbound Yes Maximum Try count 0

Sequential inbound queue Queue JNDI name jmsmrointqueuessqincls Queue Connection Factory jmsmrointqcfintqcfmea Sequential Yes Inbound Yes Maximum Try count 0 Sequential outbound queue Queue JNDI name jmsmrointqueuessqoutcls Queue Connection Factory jmsmrointqcfintqcfui Sequential Yes

Inbound NO Maximum Try count 0 10 You will then need to bring up each external system and change the queue names associated with each system in the top right side of the screen to match those created above 11 Save your changes

Prepare the UI application and deploy For the UI instances edit the following files and comment out the meajmsejbjar 1 locate the file under maximoapplicationsmaximoMETA-INFapplicationxml

2 Open the file using a text editor and comment out the following Make sure the following looks like this lt-- JMS MDB is not deployed by default ltmodulegt ltejbgtmeajmsejbejbmoduleltejbgt ltmodulegt --gt 3 locate the file under maximoapplicationsmaximoMETA-INFdeployment-applicationxml

4 Open the file using a text editor and uncomment the following lt-- JMS MDB is not deployed by default ltmodule id=EjbModule_1077124925237gt ltejbgtmeajmsejbjarltejbgt ltmodulegt --gt 5 Edit the maximoproperties file and set mxename to a unique value such as MXServerUI and save 6 Uncomment the line mxecrontaskdonotrun if it is commented out

Edit the line so that no crontasks except for the JMSQSEQCONSUMERSEQQOUT crontask will run on this server eg mxecrontaskdonotrun=JMSQSEQCONSUMERSEQQINIFACETABLECONSUMERIFACEINBBcronBBCRON1 Since we want all crontasks to run in the MEA instance all crontasks will be listed here except for the JMSQSEQCONSUMERSEQQOUT This crontask will need to run in the cluster Crontasks a cluster aware as long as they are specified where to run using the maximoproperties If using the Target Enable feature to force the MEA crontasks to run in specific servers they are not cluster aware

and no failover will occur if the server running a specific MEA crontask fails Be sure to go through your list of crontasks and note each instance in the correct case and add it to the mxecrontaskdonotrun parameter in the maximoproperties each separated by a comma 7 Build the maximoear file Deploying the maximoear to the cluster Now that you have created and configured the MAXIMOCLUSTER you must deploy your enterprise applications within the cluster

1 In the navigation pane click Applications gt Install New Applications 2 Select the appropriate option and navigate to where the EAR files reside 3 Select maximoear then click Open in the dialog box 4 In the Preparing for the application installation screen select the following

Generate default bindings Do not specify unique prefix for beans Do not override existing bindings Use default virtual host name for Web modules and enter MAXIMOCLUSTER_host

5 In the Install New Application window accept the default settings and click Next 6 In Step 2 Map modules to servers you map Web modules to the MAXIMOCLUSTER cluster Complete the following actions a) From the Clusters and Servers box select the MAXIMOCLUSTER cluster and webserver1 b) Check all module boxes and click Apply 7 In Steps 3 4 and 5 accept the defaults and click Next 8 In Step 6 complete the following actions a) Select all items from the Web module column b) For each Web module select MAXIMOCLUSTER_host from the Virtual host list and click Next

9 In Steps 7 and 8 accept the defaults and click Next 10 In the final step review your settings then click Finish The deployment process takes several minutes to complete 11 In the confirmation page when you see the message Application Maximo installed successfully perform the following actions a) Click Save to Master Configuration b) Save Synchronize changes with Nodes

Start the MAXIMOCLUSTER Cluster 1 In the navigation pane click Servers gt Clusters 2 Select MAXIMOCLUSTER then click Ripplestart 3 To access the cluster open HTTPltnode namegtltportgtmaximo where ltportgt is the port number of the IBM HTTP server (80) Deploying web services

When deploying web services you will need to set up the web service administration URL and port to point to the MAXIMOMEA application server IP address and port When sending transactions to these interfaces you will need to point your web service client to the IP address and port of the MAXIMOMEA application server IP address and port not the cluster address for the UI instances

Notes

httpwwwredbooksibmcomredbookspdfssg247645pdf

Maximo Asset Management 71 Implementer Guide

Maximo Asset Management 71 Deployment Guide

Tivoli Service Request Manager 71 Implementation Tivoli Asset Management for IT 71 Integration Guide Tivoli Service Request Manager Implementing IBM Tivoli Service Request Manager V71 Service Catalog

Page 10: Setting Up WebSphere Persistent Queues

Prepare the UI application and deploy For the UI instances edit the following files and comment out the meajmsejbjar 1 locate the file under maximoapplicationsmaximoMETA-INFapplicationxml

2 Open the file using a text editor and comment out the following Make sure the following looks like this lt-- JMS MDB is not deployed by default ltmodulegt ltejbgtmeajmsejbejbmoduleltejbgt ltmodulegt --gt 3 locate the file under maximoapplicationsmaximoMETA-INFdeployment-applicationxml

4 Open the file using a text editor and uncomment the following lt-- JMS MDB is not deployed by default ltmodule id=EjbModule_1077124925237gt ltejbgtmeajmsejbjarltejbgt ltmodulegt --gt 5 Edit the maximoproperties file and set mxename to a unique value such as MXServerUI and save 6 Uncomment the line mxecrontaskdonotrun if it is commented out

Edit the line so that no crontasks except for the JMSQSEQCONSUMERSEQQOUT crontask will run on this server eg mxecrontaskdonotrun=JMSQSEQCONSUMERSEQQINIFACETABLECONSUMERIFACEINBBcronBBCRON1 Since we want all crontasks to run in the MEA instance all crontasks will be listed here except for the JMSQSEQCONSUMERSEQQOUT This crontask will need to run in the cluster Crontasks a cluster aware as long as they are specified where to run using the maximoproperties If using the Target Enable feature to force the MEA crontasks to run in specific servers they are not cluster aware

and no failover will occur if the server running a specific MEA crontask fails Be sure to go through your list of crontasks and note each instance in the correct case and add it to the mxecrontaskdonotrun parameter in the maximoproperties each separated by a comma 7 Build the maximoear file Deploying the maximoear to the cluster Now that you have created and configured the MAXIMOCLUSTER you must deploy your enterprise applications within the cluster

1 In the navigation pane click Applications gt Install New Applications 2 Select the appropriate option and navigate to where the EAR files reside 3 Select maximoear then click Open in the dialog box 4 In the Preparing for the application installation screen select the following

Generate default bindings Do not specify unique prefix for beans Do not override existing bindings Use default virtual host name for Web modules and enter MAXIMOCLUSTER_host

5 In the Install New Application window accept the default settings and click Next 6 In Step 2 Map modules to servers you map Web modules to the MAXIMOCLUSTER cluster Complete the following actions a) From the Clusters and Servers box select the MAXIMOCLUSTER cluster and webserver1 b) Check all module boxes and click Apply 7 In Steps 3 4 and 5 accept the defaults and click Next 8 In Step 6 complete the following actions a) Select all items from the Web module column b) For each Web module select MAXIMOCLUSTER_host from the Virtual host list and click Next

9 In Steps 7 and 8 accept the defaults and click Next 10 In the final step review your settings then click Finish The deployment process takes several minutes to complete 11 In the confirmation page when you see the message Application Maximo installed successfully perform the following actions a) Click Save to Master Configuration b) Save Synchronize changes with Nodes

Start the MAXIMOCLUSTER Cluster 1 In the navigation pane click Servers gt Clusters 2 Select MAXIMOCLUSTER then click Ripplestart 3 To access the cluster open HTTPltnode namegtltportgtmaximo where ltportgt is the port number of the IBM HTTP server (80) Deploying web services

When deploying web services you will need to set up the web service administration URL and port to point to the MAXIMOMEA application server IP address and port When sending transactions to these interfaces you will need to point your web service client to the IP address and port of the MAXIMOMEA application server IP address and port not the cluster address for the UI instances

Notes

httpwwwredbooksibmcomredbookspdfssg247645pdf

Maximo Asset Management 71 Implementer Guide

Maximo Asset Management 71 Deployment Guide

Tivoli Service Request Manager 71 Implementation Tivoli Asset Management for IT 71 Integration Guide Tivoli Service Request Manager Implementing IBM Tivoli Service Request Manager V71 Service Catalog

Page 11: Setting Up WebSphere Persistent Queues

Generate default bindings Do not specify unique prefix for beans Do not override existing bindings Use default virtual host name for Web modules and enter MAXIMOCLUSTER_host

5 In the Install New Application window accept the default settings and click Next 6 In Step 2 Map modules to servers you map Web modules to the MAXIMOCLUSTER cluster Complete the following actions a) From the Clusters and Servers box select the MAXIMOCLUSTER cluster and webserver1 b) Check all module boxes and click Apply 7 In Steps 3 4 and 5 accept the defaults and click Next 8 In Step 6 complete the following actions a) Select all items from the Web module column b) For each Web module select MAXIMOCLUSTER_host from the Virtual host list and click Next

9 In Steps 7 and 8 accept the defaults and click Next 10 In the final step review your settings then click Finish The deployment process takes several minutes to complete 11 In the confirmation page when you see the message Application Maximo installed successfully perform the following actions a) Click Save to Master Configuration b) Save Synchronize changes with Nodes

Start the MAXIMOCLUSTER Cluster 1 In the navigation pane click Servers gt Clusters 2 Select MAXIMOCLUSTER then click Ripplestart 3 To access the cluster open HTTPltnode namegtltportgtmaximo where ltportgt is the port number of the IBM HTTP server (80) Deploying web services

When deploying web services you will need to set up the web service administration URL and port to point to the MAXIMOMEA application server IP address and port When sending transactions to these interfaces you will need to point your web service client to the IP address and port of the MAXIMOMEA application server IP address and port not the cluster address for the UI instances

Notes

httpwwwredbooksibmcomredbookspdfssg247645pdf

Maximo Asset Management 71 Implementer Guide

Maximo Asset Management 71 Deployment Guide

Tivoli Service Request Manager 71 Implementation Tivoli Asset Management for IT 71 Integration Guide Tivoli Service Request Manager Implementing IBM Tivoli Service Request Manager V71 Service Catalog

Page 12: Setting Up WebSphere Persistent Queues

Tivoli Service Request Manager 71 Implementation Tivoli Asset Management for IT 71 Integration Guide Tivoli Service Request Manager Implementing IBM Tivoli Service Request Manager V71 Service Catalog