Escolar Documentos
Profissional Documentos
Cultura Documentos
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 standalone 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.
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 > 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 > 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 Resources/JDBC 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 (i.e. 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 oraclethin.jar path):
C:\maximo\applications\maximo\lib\oraclethin.jar
8. click "apply" and save and synchronize with other nodes.
Creating the first data source
1.
2.
3.
4.
oraclexads
5. In the JNDI name field, enter the value:
jdbc/oraclexads
6. Select a data store helper class for your oracle version:
i.e. Oracle 9i and prior data store helper
7. In the URL field, enter your JDBC URL (this can be found in your maximo.properties if you are not sure)
jdbc:oracle:thin:@satbfuller:1521:maximo
oraclexads2
5. In the JNDI name field, enter the value:
jdbc/oraclexads2
6. Select a data store helper class for your oracle version:
i.e. 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)
jdbc:oracle:thin:@satbfuller:1521:maximo2
8. Click apply, save and synchronize with other nodes
Log in to the WebSphere console and navigate in the left pane to Integration/buses
Click the "new" button to create a new bus
In the name field, enter "meajmsbus"
Deselect the "secure" checkbox
Change the "high message threshold" to 500,000 messages
Click "apply"
jdbc/oraclexads
7. click Next
8. click finish
9. Navigate in the left pane to Integration/buses
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:
jdbc/oraclexads2
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
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.
2.
3.
4.
5.
6.
7.
jms/mro/int/qcf/intqcfmea
8. Select the bus meajmsbus from the dropdown
9. Click "apply" and save and synchronize with other nodes
10.
11.
12.
13.
jms/mro/int/qcf/intqcfui
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 Resources/JMS providers/default 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 "jms/mro/int/queues/cqincls
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.
2.
3.
4.
5.
6.
7.
8.
11. Deploy the maximo.ear to the MEA application server MAXIMOMEA (refer to the system administrator's
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:
http://host:port/maximo
2. Navigate to configuration/cron task setup
3. Bring up the JMSQSEQCONSUMER crontask
4. For the SEQQIN instance, change the queue name to match your inbound sequential queue name:
jms/mro/int/queues/sqincls
5. For the SEQQOUT instance, change the queue name to match your outbound sequential queue name:
jms/mro/int/queues/sqoutcls
6. Save your changes.
7. Next, navigate to the Integration/External Systems application
8. Select any external system and then from the action menu, select add/modify queues
9. Create your three new queues with the following values:
Continuous inbound queue:
Queue JNDI name: jms/mro/int/queues/cqincls
Queue Connection Factory: jms/mro/int/qcf/intqcfmea
Sequential: NO
Inbound: Yes
Maximum Try count: 0
Sequential inbound queue:
Queue JNDI name: jms/mro/int/queues/sqincls
Queue Connection Factory: jms/mro/int/qcf/intqcfmea
Sequential: Yes
Inbound: Yes
Maximum Try count: 0
Sequential outbound queue:
Queue JNDI name: jms/mro/int/queues/sqoutcls
Queue Connection Factory: jms/mro/int/qcf/intqcfui
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.
Notes:
http://www.redbooks.ibm.com/redbooks/pdfs/sg247645.pdf
Maximo Asset Management 7.1 Implementer Guide
Maximo Asset Management 7.1 Deployment Guide