WebSphere MQ è il software di messaggistica che consente le comunicazioni traInterChange Server ed i connettori.
Questa sezione descrive il modo in cui installare e configurareWebSphere MQ, utilizzato come nativo o come provider JMS (Java Messaging Service) da utilizzare in un ambiente InterChange Server. Consultare "Configurazione WebSphere MQ per JMS" per configurare WebSphere MQ come provider JMS.
Utilizzare JMS quando è possibile applicare le seguenti condizioni al proprio ambiente:
Nelle condizioni descritte, utilizzare WebSphere MQ come provider JMS piuttosto che in modalità nativa poichè MQ si basa su CORBA per altri componenti e per quelli di gestione. Quando viene utilizzato come provider JMS non esistono più dipendenze da CORBA. Inoltre l'MQ nativo continua solo ad inviare eventi al server.
Installare WebSphere MQ sulla stessa rete di InterChange Server. Questa installazione comporta i seguenti passaggi generali:
Ognuno di questi passaggi viene descritto in modo più dettagliato nelle sezioni successive.
Il software WebSphere MQ viene installato nella directory secondaria mqm nelle directory /MQ_inst_home (per i componenti WebSphere MQ) e /var (per i dati di funzionamento). Perciò, è necessario che tali directory (o file system) dispongano di spazio sufficiente per gestireWebSphere MQ.
Si raccomanda di creare e montare le directory seguenti come file system /var/mqm, /var/mqm/log, /var/mqm/errors. Si raccomanda inoltre che i file di log vengano ubicati su un'unità fisica diversa da quella utilizzata per le code (/var/mqm). Tabella 9 elenca i requisiti di spazio per i componenti WebSphere MQ.
Per l'esecuzione di WebSphere MQ, è necessario un account utente denominatomqm.
AIX |
---|
|
Solaris |
---|
HP-UX |
---|
|
Linux (Red Hat e SuSE) |
---|
|
Su molti sistemi UNIX lasciare un asterisco (*) come secondo campo nella voce permqm nel file/etc/passwd disabilita l'account. Consultare il manuale del sistema se sono installati altri meccanismi di verifica accessi.
Verificare che il gruppo mqm sia quello predefinito per l'amministratore di integrazione aziendaleWebSphere admin per impostazione predefinita).
Il gruppo predefinito per un account utente nel quarto campo nella voce per l'account amministratore di integrazione aziendaleWebSphere. E' necessario che questo campo contenga il numero di gruppo del gruppo mqm. Per ottenere il numero del gruppo, è possibile eseguire il comando seguente dal prompt shell:
grep mqm /etc/group
Il numero del gruppo si trova nel terzo campo della riga di output risultante. Inserire questo numero di gruppo nel campo del gruppo predefinito della voce dell'amministratore di integrazione aziendaleWebSphere in /etc/passwd.
mentre si dispone dell'utenza root, è possibile utilizzare il comando groups per verificare che mqm sia elencato nell'output dei gruppi di cui con il ruolo root si è membri. Per informazioni relative all'amministratore di integrazione aziendaleWebSphere consultare Creazione account amministratore di integrazione aziendale IBM WebSphere.
Su Red Hat Linux, si raccomanda di modificare la variabile di ambienteLD_ASSUME_KERNEL aggiungendo la riga seguente al .bash_profile dell'utente che installerà WebSphere MQ (mqm):
export LD_ASSUME_KERNEL=2.4.19
E' quindi necessario eseguire il .bash_profile immettendo il comando seguente
. .bash_profile
da un prompt dei comandi.
Si raccomanda di utilizzare l'ubicazione di installazione seguente per il software di WebSphere MQ:
Se i file system /WebSphere_MQ_inst_home e /var non dispongono di spazio sufficiente, è possibile creare una directory di estrazione per il software diWebSphere MQ (come /home_dir/mqm) e spostarsi in questa directory. E' necessario creare collegamenti simbolici dalle directory /WebSphere_MQ_inst_home/mqm e /var/mqm per questa directory di estrazione.
Per ulteriori informazioni, consultare Determinazione requisiti di spazio.
L'IBM distribuisce la versione supportata del software diWebSphere MQ su CD-ROM separati. Tali CD contengono varie directory di software da installare sul sistema.
Per verificare la versione of WebSphere MQ contenuta nel proprio ambiente, immettere il comando mqver nel prompt dei comandi /WebSphere_MQ_inst_home/mqm/bin.
I passaggi seguenti forniscono una breve panoramica del processo di installazione di WebSphere MQ:
Per installareWebSphere MQ nelle directory /WebSphere_MQ_inst_home e /var su Solaris:
pkgadd -d /mq_cd/mq_solaris
dove mq_cd è il punto di montaggio del CD diWebSphere MQ.
# Default conversions are enabled by creating two lines similar to the # two following, but removing the # character which indicates a comment. default 0 500 1 1 0 default 0 850 1 2 0
Il sistema di integrazione aziendale richiede la configurazione delle code con le proprietà di seguito riportate. Specificare il nome di ognuna di queste code come proprietà standard nel file di configurazione connettore'.
Passare a Avvio di InterChange Server per la prima volta.
I programmi vengono richiamati quando un connettore viene creato in una determinata porta. Il listener di WebSphere MQ utilizza la porta 1414. Perciò, è necessario modificare i file system elencati in Impostazione porte per configurare la 1414 in modo da avviare il listenerWebSphere MQ.
Configurazione WebSphere MQ Listener per un'istanza singola di InterChange Server--Un'istanza di InterChange Server su una macchina UNIX utilizza il gestore code di WebSphere MQ. Il listener WebSphere MQ utilizza la porta predefinita 1414. Perciò, è necessario modificare i file system elencati in Impostazione porte per configurare la porta 1414 per avviare WebSphere MQ Listener.
Per configurare la porta 1414 per il listener WebSphere MQ:
WebSphereMQ 1414/tcp # WebSphere MQ channel listener
Utilizzare le schede ubicate tra le colonne delle informazioni in modo che siano allineate con le voci esistenti /etc/services.
WebSphereMQ stream tcp nowait mqm /WebSphere_MQ_inst_home/mqm/bin/amqcrsta amqcrsta -m your-queue-name.queue.manager
dove your-queue-nameè i nome del gestore codeWebSphere MQ.
Questo comando intero è una riga singola nel file /etc/inetd.conf. Utilizzare le schede tra i campi in modo che si allinino con le voci precedenti contenute nel file. Inserire questa riga nel modo esatto illustrato. Il contenuto di questo file è sensibile al maiuscolo/minuscolo.
ps -ef | grep inetd
Non utilizzare l'ID del processo della riga di output che contiene"grep inetd" nell'ultima colonna.
kill -HUP proc_id
Ad esempio, si supponga che il comando ps contenuto nel passaggio3 generi l'output seguente per il processo inetd:
root 144 1 0 17:01:40 ? 0:00 /usr/sbin/inetd -s
Poichè la seconda colonna è dell'ID del processo, il comando kill è:
kill -HUP 144
In alternativa, è possibile riavviare il sistema per consentire al daemoninetd di leggere nuovamente il file /etc/inetd.conf.
Configurazione WebSphere MQ Listener per più istanze di InterChange Server --E' possibile che più istanze di InterChange Server condividano lo stesso Getore code WebSphere MQ. Tuttavia, se è necessario che una di queste istanze arresti il gestore code, a tutte le altre istanze non sarà più consentito l'accesso. Ad esempio, se le istanze di sviluppo e di controllo della qualità di InterChange Server sono ubicate sulla stessa macchina, è possibile configurarle in modo da essere in grado di arrestare ed avviare il gestore code di una delle istanze senza che questo influisca sulle altre.
Il listener WebSphere MQ è in ascolto per i gestori code WebSphere MQ su una porta TCP/IP. Tuttavia, è impossibile disporre di più di un gestore code su una porta TCP/IP. Perciò, per disporre di più di un gestore code per computer, è necessario configurare ogni gestore code su una porta separata. Per ogni porta, è necessario modificare i file system elencati inImpostazione porte per configurare le porte che avviano i listener diWebSphere MQ.
Per configurare più listenerWebSphere MQ:
Ad esempio, per configurare le porte 1414 e 1415 per due listenerWebSphere MQ aggiungere le righe seguenti a /etc/services:
WebSphereMQ1 1414/tcp # WebSphere MQ listener for q1.queue.manager WebSphereMQ2 1415/tcp # WebSphere MQ listener for q2.queue.manager
Utilizzare le schede ubicate tra le colonne delle informazioni in modo che siano allineate con le voci esistenti /etc/services.
Ad esempio, per avviare due gestori code (q1.queue.manager e q2.queue.manager), aggiungere le righe seguenti a/etc/inetd.conf:
WebSphereMQ1 stream tcp nowait mqm /MQ_inst_home/mqm/bin/amqcrsta amqcrsta -m q1.queue.manager
WebSphereMQ2 stream tcp nowait mqm /WebSphere_MQ_inst_home/mqm/bin/amqcrsta amqcrsta -m q2.queue.manager
Utilizzare le schede tra i campi in modo che si allinino con le voci precedenti contenute nel file. Inserire questa riga nel modo esatto illustrato. Il contenuto del file è sensibile al maiuscolo/minuscolo.
Il programma di installazione presume che il nome del gestore code sia compreso nel nome dell'InterChange Server locale. Se si definisce un gestore code con un altro nome di coda, è necessario che l'amministratore di integrazione aziendale di WebSphere inserisca il nome nuovo come parte del processo di installazione.
InterChange Server presume di comunicare con un gestore code di WebSphere MQ sulla porta 1414. Se InterChange Server comunica con un gestore code su una porta diversa da 1414, è necessario che l'amministratore di integrazione aziendale di WebSphere come parte dell'installazione di InterChange Server, aggiunga il parametro di configurazione PORT alla sezione MESSAGING del file InterchangeSystem.cfg. Per impostare questo parametro PORT, è necessario che l'amministratore di integrazione aziendale diWebSphere conosca il numero di porta da assegnare.
E' possibile configurare le codeWebSphere MQ necessarie per l'adattatore, utilizzando uno dei metodi seguenti:
WebSphere Business Integration Adapters fornisce una serie di file script che è possibile eseguire per configurare le codeWebSphere MQ necessarie agli adattatori in distribuzione.
I file script seguenti sono ubicati in ProductDir/mqseries:
Il contenuto del file crossworlds_mq.tst è riportato di seguito. E' necessario modificare questo file manualmente. La parte superiore del file contiene le informazioni MQ native e la parte inferiore del file contiene le informazioni specifiche di JMS. E' possibile utilizzare questo unico file per specificare le code necessarie ad ogni adattatore che si sta configurando. Modificare il file nel modo seguente:
DEFINE QLOCAL(IC/SERVER_NAME/DestinationAdapter) DEFINE QLOCAL(AP/DestinationAdapter/SERVER_NAME)
Queste, infatti, si applicano solo a sistemi di integrazione aziendale che utilizzano WebSphere InterChange Server.
*******************************************************************/ * */ * Define the local queues for all Server/Adapter pairs. */ * For MQ queues, they must have the following definition: */ * Application = DEFINE QLOCAL (AP/AdapterName/ServerName) */ * */ * Example: */ * DEFINE QLOCAL(AP/ClarifyConnector/CrossWorlds) */ * */ * DEFINE QLOCAL(AP/SAPConnector/CrossWorlds) */ * */ * If your server is named something different than 'CrossWorlds' */ * make sure to change the entries to reflect that. */ ********************************************************************/ DEFINE QLOCAL(IC/SERVER_NAME/DestinationAdapter) DEFINE QLOCAL(AP/DestinationAdapter/SERVER_NAME) ********************************************************************/ * For each JMS queue (delivery Transport is JMS), * default values follow the convention: * AdapterName/QueueName ********************************************************************/ DEFINE QLOCAL(AdapterName/AdminInQueue) DEFINE QLOCAL(AdapterName/AdminOutQueue) DEFINE QLOCAL(AdapterName/DeliveryQueue) DEFINE QLOCAL(AdapterName/RequestQueue) DEFINE QLOCAL(AdapterName/ResponseQueue) DEFINE QLOCAL(AdapterName/FaultQueue) DEFINE QLOCAL(AdapterName/SynchronousRequestQueue) DEFINE QLOCAL(AdapterName/SynchronousResponseQueue) ********************************************************************/ * Define the default CrossWorlds channel type */ ********************************************************************/ DEFINE CHANNEL(CHANNEL1) CHLTYPE(SVRCONN) TRPTYPE(TCP) ********************************************************************/ * End of CrossWorlds MQSeries Object Definitions */ ********************************************************************/
Per informazioni relative alla configurazione delle code utilizzando i comandiWebSphereMQ consultare il manualeWebSphere MQ: System Administration Guide e WebSphere MQ: Script (MQSC) Command Reference.
Passare a Avvio di InterChange Server per la prima volta.
WebSphere MQ utilizza semafori e memoria condivisa. Molto probabilmente, la configurazione kernel predefinita Solaris o HP-UX non è adeguata a supportare tali funzioni. Perciò, è necessario modificare il file di configurazione kernel, /etc/system, in modo che sia possibile eseguire correttamente WebSphereMQ.
Tabella 17 elenca i parametri di configurazione kernel per Solaris e Tabella 18 elenca i parametri di configurazione kernel
per HP-UX. Tali parametri vengono aggiunti alla sezione inferiore del
file/etc/system.
Tabella 17. Impostazioni di configurazione kernel Solaris per WebSphere MQ
impostare msgsys:msginfo_msgmap=1026 set msgsys:msginfo_msgmax=4096 set msgsys:msginfo_msgmnb=4096 set msgsys:msginfo_msgmni=50 set semsys:seminfo_semaem = 16384 set semsys:seminfo_semmap = 1026 set semsys:seminfo_semmni = 1024 set semsys:seminfo_semmns = 16384 set semsys:seminfo_semmnu=2048 set semsys:seminfo_semmsl = 100 set semsys:seminfo_semopm = 100 set semsys:seminfo_semume = 256 set shmsys:shminfo_shmmax = 209715200 set shmsys:shminfo_shmmin = 1 set shmsys:shminfo_shmmni=1024 set shmsys:shminfo_shmseg = 1024 |
Tabella 18. Impostazioni di configurazione kernel HP-UX perWebSphere MQ
impostare Shmmax=0x3908b100 set Shmseg=1024 set Shmmni=1024 set Shmem=1 set Sema=1 set Semaem=16384 set Semvmx=32767 set Semmns=16384 set Semmni=2048 set Semmap=2050 set Semmnu=2048 set Semume=256 set Msgmni=1025 set Msgtql=2048 set Msgmap=2050 set Msgmax=65535 set Msgmnb=65535 set Msgssz=16 set Msgseg=32767 set Maxusers=400 set Max_thread_proc=4096 set maxfiles=2048 set nfile=10000 |
Se viene inserito un parametro di configurazione kernel non corretto nel file /etc/system, verrà visualizzato un messaggio di errore al riavvio del sistema. In questo caso, correggere l'errore nel file /etc/system e riavviare il sistema.
Per ogni connettore configurato da utilizzare con JSM Transport di WebSphere MQ, utilizzare lo strumento di configurazione connettore per modificare il file di configurazione del connettore' locale.
Specificare un gestore code e configurare i valori delle proprietà come
elencato in Tabella 19. In questo esempio, JmsConnector è il
connettore che viene configurato
Tabella 19. Valori di proprietà per JMS Transport
Proprietà | Valore |
---|---|
AdminInQueue | JMSCONNECTOR\ADMININQUEUE |
AdminOutQueue | JMSCONNECTOR\ADMINOUTQUEUE |
DeliveryQueue | JMSCONNECTOR\DELIVERYQUEUE |
FaultQueue | JMSCONNECTOR\FAULTQUEUE |
RequestQueue | JMSCONNECTOR\REQUESTQUEUE |
ResponseQueue | JMSCONNECTOR\RESPONSEQUEUE |
SynchronousRequestQueue | JMSCONNECTOR\SYNCHRONOUSREQUESTQUEUE |
SynchronousResponseQueue | JMSCONNECTOR\SYNCHRONOUSRESPONSEQUEUE |
E' possibile lasciare i campi Nome utente e Password in bianco fino a che non si accede al gestore code utilizzando la modalità client.
Ricaricare il repository e riavviare InterChange Server ed il connettore dopo aver eseguito queste modifiche.
Potrebbe essere necessario rivedere la configurazione predefinita delle code messaggi diWebSphere MQ per gestire un numero maggiore di messaggi i di oggetti di dimensioni maggiori.
Per riesaminare l'ampiezza massima consentita della coda messaggi e la lunghezza massima consentita dei messaggi, impostare i valori delle proprietà MAXDEPTH e MAXMSGL nel file .tst corretto, come descritto nella procedura seguente.
Le code messaggi diWebSphere MQ per impostazione predefinita sono in grado di contenere fino a 5000 messaggi. Quando i volumi di traffico sono molto elevati o durante una conversione iniziale di InterChange Server, questo valore predefinito potrebbe essere superato, provocando errori ed impedendo ai connettori di inviare i messaggi a ICS. Per evitare tutto ciò, è possibile aumentare il numero massimo di messaggi consentito in una coda ed il numero massimo di messaggi non confermati consentito attraverso tutte le code. I valori preferiti potrebbero variare a seconda delle circostanze specifiche. Ad esempio, se si sta eseguendo una conversione iniziale a InterChange Server, si raccomanda di impostare l'ampiezza massima di coda almeno su 20,000 messaggi.
Per modificare l'impostazione MAXDEPTH, dopo ogni definizione di coda, aggiungere le opzioni seguenti:
ALTER QLOCAL (QUEUENAME) MAXDEPTH (DEPTH DESIRED)
Ad esempio:
DEFINE QLOCAL(AP/EMailConnector/Server_Name) ALTER QLOCAL(AP/EMailConnector/Server_Name) MAXDEPTH(20000)
E' inoltre possibile modificare il gestore code in modo da consentire un numero maggiore di messaggi non confermati standard attraverso tutte le code. E' necessario che il numero dei messaggi non confermati consentiti, sia la somma dell'ampiezza messaggi massima (MAXDEPTH) di ogni coda. E' necessario che la memoria utilizzata da InterChange Server non aumenti a meno che non aumenti il numero dei messaggi non confermati.
Per modificare l'impostazione MAXUMSGS, aggiungere la riga seguente:
ALTER QMGR MAXUMSGS (NUMBER)
Ad esempio:
ALTER QMGR MAXUMSGS (400000)
Modificare questo valore solo se si è a conoscenza che gli oggetti business di cui si dispone hanno un'ampiezza maggiore di quella consentita dal valore predefinito MAXMSGL cioè: 4 MB. Per modificare il valore MAXMSGL aggiungere il comando seguente dopo ogni definizione di coda:
ALTER QLOCAL (QUEUENAME) MAXMSGL (Maximum number of bytes to allow in a message)