Nodo MQeInput

Attenzione: l'utilizzo dei flussi di messaggi in cui sono contenuti i nodi MQeInput e MQeOutput in WebSphere Message Broker Versione 6.0 è obsoleto. Il funzionamento descritto qui è valido solo quando si effettua la distribuzione dalla Versione 6.0 ad una versione precedente e per fornire un percorso per la migrazione. Progettare nuovamente i flussi per rimuovere i nodi MQe e sostituirli con nodi MQ configurati secondo le proprie specifiche e coordinati con la propria configurazione del Gateway MQe. Per ulteriori dettagli, consultare Migrazione di un flusso di messaggi che contiene i nodi di WebSphere MQ Everyplace.

Questo argomento contiene le seguenti sezioni:

Scopo

Utilizzare il nodo MQeInput per ricevere i messaggi dai client che si connettono al broker utilizzando il protocollo WebSphere MQ Mobile Transport.

Il nodo MQeInput riceve messaggi inseriti in un flusso di messaggi proveniente da una coda bridge specificata sul gestore di code WebSphere MQ Everyplace del broker. Il nodo stabilisce inoltre l'ambiente di elaborazione per i messaggi. E' necessario creare e configurare il gestore code WebSphere MQ Everyplace prima di distribuire un flusso di messaggi contenente questo nodo.

I flussi di messaggi che gestiscono i messaggi ricevuti attraverso le connessioni WebSphere MQ Everyplace devono sempre iniziare con un nodo MQeInput. E' possibile impostare le proprietà del nodo MQeInput per controllare il modo in cui vengono ricevuti i messaggi. Ad esempio, è possibile indicare che un messaggio venga elaborato sotto il controllo della transazione.

Quando si distribuiscono i flussi di messaggi contenenti nodi WebSphere MQ Everyplace su un broker, è necessario distribuirli su un singolo gruppo di esecuzione, indipendentemente dal numero di flussi di messaggi. I nodi WebSphere MQ Everyplace nei flussi devono specificare tutti lo stesso nome gestore code WebSphere MQ Everyplace. Se questa restrizione non viene rispettata, durante la distribuzione si verifica un errore.

Il nodo MQeInput gestisce i messaggi nei seguenti domini di messaggi:

  • MRM
  • XML
  • XMLNS
  • JMSMap
  • JMSStream
  • MIME
  • BLOB

Se si include un nodo di output in un flusso di messaggi che inizia con un nodo MQeInput, questo può essere un nodo di output qualsiasi tra quelli supportati, compresi i nodi di output definiti dall'utente; non è necessario includere un nodo MQeOutput. E' possibile creare un flusso di messaggi che riceve i messaggi dai client WebSphere MQ Everyplace e crea messaggi per i client che utilizzano uno qualsiasi dei trasporti supportati per connettersi al broker, poiché è possibile configurare il flusso di messaggi per richiedere al broker di fornire tutte le conversioni necessarie.

WebSphere MQ Everyplace Versione 1.2.6 è utilizzato da WebSphere Message Broker. E' compatibile con le versioni successive di WebSphere MQ Everyplace. I client che utilizzano versioni successive di WebSphere MQ Everyplace, ad esempio, la Versione 2.0, operano correttamente quando sono connessi a questo nodo, sebbene la funzionalità aggiuntiva non supportata nella Versione 1.2.6 (ad esempio il supporto JMS) non sia operativa.

I gestori code non sono intercambiabili tra le diverse versioni di WebSphere MQ Everyplace. I nodi devono utilizzare un gestore code creato con la Versione 1.2.6. Allo stesso modo, il client deve utilizzare il proprio livello di coda quando crea un gestore code.

Non è possibile utilizzare i nodi MQeInput nei flussi di messaggi distribuiti sui sistemi z/OS.

Se si crea un flusso di messaggi da utilizzare come flusso secondario, non è possibile utilizzare un nodo di input standard: è necessario utilizzare un'istanza del nodo Input come primo nodo per creare un terminale in per il flusso secondario.

Se il flusso di messaggi non riceve messaggi attraverso le connessioni WebSphere MQ, è possibile scegliere uno tra questi altri nodi di input.

Il nodo MQeInput è rappresentato nel workbench dalla seguente icona:

Icona del nodo MQeInput

Utilizzo del nodo MQeInput in un flusso di messaggi

Per avere un esempio di come utilizzare questo nodo, immaginare un agricoltore che controlli i suoi campi per vedere se sono ben irrigati. L'agricoltore sta portando un'unità PDA con WebSphere MQ Everyplace installato. Individua un'area del campo che ha bisogno di acqua, quindi, utilizzando l'unità PDA e un link Global Satellite Navigation, invia un messaggio ad un nodo MQeInput. I dati vengono manipolati utilizzando un nodo Compute e viene pubblicato un messaggio da un nodo Publication in modo che l'unità remota SCADA possa ricevere il messaggio e azionare gli impianti di irrigazione. L'agricoltore assisterà all'irrigazione del campo in pochi minuti dall'invio del messaggio.

Documentazione di WebSphere MQ Everyplace

E' possibile trovare ulteriori informazioni su WebSphere MQ Everyplace e sulle proprietà del nodo, nella documentazione di WebSphere MQ Everyplace sulla pagina Web WebSphere MQ.

Configurazione del nodo MQeInput

Una volta inserita un'istanza del nodo MQeInput in un flusso di messaggi, è possibile configurarla. Fare clic con il tasto destro del mouse sul nodo nella vista dell'editor e fare clic su Proprietà. Le proprietà predefinite del nodo vengono visualizzate nella finestra di dialogo delle proprietà.

Tutte le proprietà obbligatorie, per le quali è necessario immettere un valore (quelle per le quali non è specificato un valore predefinito), sono contrassegnate con un asterisco nella finestra di dialogo delle proprietà.

Configurare il nodo MQeInput come segue:

  1. Selezionare Predefinite nel Navigator della finestra di dialogo delle proprietà e impostare i valori per le proprietà che descrivono il dominio dei messaggi, la serie di messaggi, il tipo di messaggio e il formato del messaggio che il nodo utilizza per stabilire come analizzare il messaggio in entrata e l'argomento predefinito associato al messaggio.
    • Se il messaggio in arrivo dispone di un'intestazione MQRFH2, non è necessario impostare i valori delle proprietà Predefinite poiché è possibile derivare tali valori dalla cartella <mcd> dell'intestazione. Ad esempio:
      <mcd><Msd>MRM</Msd><Set>DHM4UO906S001</Set><Type>receiptmsg1</Type>
      <Fmt>XML</Fmt></mcd>

      Se si impostano i valori e quei valori sono diversi da quelli nell'intestazione MQRFH2, i valori dell'intestazione MQRFH2 hanno la precedenza.

    • In Dominio messaggi, selezionare il nome del programma di analisi che si sta utilizzando dall'elenco a discesa. E' possibile scegliere tra i seguenti nomi:
      • MRM
      • XML
      • XMLNS
      • XMLNSC
      • JMSMap
      • JMSStream
      • MIME
      • BLOB
      • IDOC
    • Se si sta utilizzando il programma di analisi MRM o IDOC, selezionare la serie di messaggi corretta dall'elenco a discesa in Serie di messaggi. Questo elenco è popolato con le serie di messaggi disponibili quando si seleziona MRM o IDOC come dominio.

      Lasciare il campo Serie di messaggi vuoto per i programmi di analisi XML, XMLNS, XMLNSC, JMS, MIME e BLOB.

    • Se si sta utilizzando il programma di analisi MRM, selezionare il messaggio corretto dall'elenco a discesa in Tipo messaggio. Questo elenco è popolato con i messaggi definiti nella serie di messaggi selezionata.

      Lasciare il campo Tipo messaggio vuoto per i programmi di analisi XML, XMLNS, XMLNSC, JMS, MIME, BLOB e IDOC.

    • Se si sta utilizzando il programma di analisi MRM o IDOC, selezionare il formato del messaggio dall'elenco a discesa in Formato del messaggio. Questo elenco include tutti i formati fisici definiti per questa serie di messaggi.

      Lasciare il campo Formato del messaggio vuoto per i programmi di analisi XML, XMLNS, XMLNSC, JMS, MIME e BLOB.

    • Immettere l'argomento del messaggio in Argomento. E' possibile immettere qualunque carattere come nome dell'argomento. Quando i messaggi passano attraverso il nodo MQeInput, essi assumono qualsiasi nome di argomento immesso. (Se si sta utilizzando pubblicazione/sottoscrizione è possibile effettuare la sottoscrizione ad un argomento e visualizzare tutti i messaggi che passano attraverso il nodo MQeInput con quel nome di argomento.)
  2. Selezionare Generale nel Navigator della finestra di dialogo delle proprietà e completare le seguenti proprietà:
    1. Immettere il Nome coda della coda bridge WebSphere MQ Everyplace da cui questo nodo di input richiama i messaggi. Se la coda non esiste, viene creata quando il flusso di messaggi è distribuito al broker.
    2. Impostare il livello di Traccia che si desidera per questo nodo. Se la traccia è attiva, le informazioni relative alla traccia sono registrate nel file identificato da Nome file di traccia (descritto di seguito). Scegliere tra:
      • Nessuno. Questa è l'impostazione predefinita. Non è prodotto alcun output di traccia, a meno che non si verifichi un errore irreversibile.
      • Standard. Viene generato un output di traccia minimo per riflettere le operazioni generali del nodo.
      • Debug. Le informazioni di traccia sono registrate a un livello che facilita il debug dei programmi WebSphere MQ Everyplace.
      • Completo. Tutte le informazioni di debug disponibili sono registrate per fornire un prospetto completo delle attività del nodo.

      Se si imposta il livello di traccia su Debug o Completo, questo avrà effetto sulle prestazioni di WebSphere MQ Everyplace ed è possibile che siano generati dei file di traccia significativi. Utilizzare queste opzioni solo per brevi periodi di tempo.

    3. In Nome file di traccia, specificare il nome del file su cui scrivere le informazioni di traccia. La struttura della directory in cui il file è specificato deve già esistere: non può essere creata durante l'operazione.
    4. Selezionare Modalità transazione per definire le caratteristiche transazionali di come è gestito questo messaggio:
      • Se si seleziona Automatico, il messaggio in entrata è ricevuto nel punto di sincronizzazione se è contrassegnato come permanente; altrimenti no. La transazionalità di qualunque messaggio derivato, successivamente inviato da un nodo di output è determinata dalla proprietà di permanenza in entrata, a meno che il nodo di output non abbia esplicitamente sovrascritto la transazionalità.
      • Se si seleziona , il messaggio in entrata è ricevuto nel punto di sincronizzazione. Tutti i messaggi derivati, successivamente inviati da un nodo di output nella stessa istanza del flusso di messaggi, sono inviati in modo transazionale, a meno che il nodo di output non abbia esplicitamente sovrascritto la transazionalità.
      • Se si seleziona No, il messaggio in entrata non è ricevuto nel punto di sincronizzazione. Tutti i messaggi, derivati successivamente inviati da un nodo di output nel flusso, sono inviati in modo non transazionale, a meno che il nodo di output non abbia specificato che il messaggio va inserito nel punto di sincronizzazione.
    5. La casella di spunta Utilizza file di configurazione non è selezionata per impostazione predefinita: i valori di configurazione per tutte le proprietà per il nodo MQeInput sono tratti dalla finestra di dialogo delle proprietà.

      Se si seleziona la casella di spunta, la definizione di tutte le proprietà viene estratta dal file identificato da Nome file di configurazione (descritto sotto) tranne:

      • Le proprietà generali Nome coda e Nome file di configurazione
      • Tutte le proprietà predefinite
      Utilizzare un file di configurazione solo per specificare proprietà aggiuntive per il nodo. Se le proprietà presenti nella finestra di dialogo delle proprietà soddisfano le proprie esigenze, non selezionare la casella di spunta Utilizza file di configurazione.
    6. Se è stata selezionata la casella di spunta Utilizza file di configurazione, immettere il percorso completo e il nome del file di configurazione per WebSphere MQ Everyplace in Nome file di configurazione. Questo file deve essere installato sul sistema che supporta ogni broker a cui è distribuito questo flusso di messaggi. Se il file non esiste, viene rilevato un errore quando si distribuisce il flusso di messaggi. Il nome file predefinito è MQeConfig.ini.
    7. In Nome gestore code, specificare il nome del gestore code WebSphere MQ Everyplace. Questo non è correlato al gestore code del broker a cui si distribuisce il flusso di messaggi contenente questo nodo.

      Può essere supportato solo un gestore code WebSphere MQ Everyplace. Solo un gruppo di esecuzione può contenere i nodi MQeInput o MQeOutput. Questa proprietà deve essere quindi impostata sullo stesso valore in ogni nodo MQeInput incluso in ogni flusso di messaggi che si distribuisce allo stesso broker.

  3. Selezionare Canale nel Navigator della finestra di dialogo delle proprietà e impostare il numero massimo di canali supportato da WebSphere MQ Everyplace in Numero massimo di canali. Il valore predefinito è zero, il che significa che non esiste alcun limite.
  4. Selezionare Registro nel Navigator della finestra di dialogo delle proprietà e completare le seguenti proprietà:
    1. Selezionare il tipo di registro dall'elenco a discesa nella proprietà Tipo di registro. E' possibile scegliere tra i seguenti:
      • Registro File. Le informazioni sul registro e sulla sicurezza sono fornite nella proprietà Directory specificata di seguito.
      • Registro privato. Si crea il gestore code manualmente all'interno di WebSphere MQ Everyplace, specificando i parametri di sicurezza richiesti.
    2. In Directory, specificare la directory in cui si trova il file di registro. Questo è valido solo se è stato selezionato un Tipo di registro Registro file.
    3. Se è stato selezionato un Tipo di registro Registro privato, completare le seguenti proprietà:
      • Specificare un PIN per il gestore code associato. Per ulteriori dettagli, fare riferimento alla documentazione di WebSphere MQ Everyplace.
      • Specificare un PIN di richiesta certificato per le richieste di autenticazione. Per ulteriori dettagli, fare riferimento alla documentazione di WebSphere MQ Everyplace.
      • Fornire una Password di keyring da utilizzare come origine per la creazione di chiavi crittografiche. Per ulteriori dettagli, fare riferimento alla documentazione di WebSphere MQ Everyplace.
      • In Host certificati, specificare il nome del server dei certificati che WebSphere MQ Everyplace utilizza per l'autenticazione. Per ulteriori dettagli, fare riferimento alla documentazione di WebSphere MQ Everyplace.
      • In Porta certificati, specificare il numero della porta per il server dei certificati che WebSphere MQ Everyplace utilizza per l'autenticazione. Per ulteriori dettagli, fare riferimento alla documentazione di WebSphere MQ Everyplace.
  5. Selezionare Listener nel Navigator della finestra di dialogo delle proprietà e completare le seguenti proprietà che definiscono il tipo di connessione per WebSphere MQ Everyplace:
    1. In Tipo listener, selezionare il tipo di adattatore che si desidera utilizzare dall'elenco a discesa. L'impostazione predefinita è Http; è possibile selezionare anche Lunghezza o Cronologia. Per ulteriori dettagli, fare riferimento alla documentazione di WebSphere MQ Everyplace.
    2. In Nome host, specificare il nome host del server. Impostarlo sul valore speciale localhost o sull'indirizzo TCP/IP 127.0.0.1 (il valore predefinito), entrambi i quali si risolvono correttamente nel nome host del server a cui viene distribuito il flusso di messaggi. E' possibile utilizzare anche qualsiasi nome host o indirizzo TCP/IP valido nella rete, ma è necessario utilizzare un flusso di messaggi diverso per ogni broker a cui il flusso viene distribuito o configurare questa proprietà al momento della distribuzione.
    3. In Porta, specificare il numero di porta su cui WebSphere MQ Everyplace è in ascolto. Se in un flusso di messaggi distribuito ad un singolo broker è incluso più di un nodo MQeInput, ogni nodo MQeInput deve specificare un numero diverso per questa proprietà. E' necessario assicurarsi inoltre che il numero specificato non entri in conflitto con gli altri listener sul sistema broker, ad esempio, con WebSphere MQ. Il valore predefinito è 8081.
    4. In Intervallo di tempo, specificare il valore di timeout in secondi prima che i canali inattivi scadano. Il valore predefinito è 300 secondi.

      Poiché i canali sono entità logiche permanenti che durano più a lungo rispetto a una singola richiesta del gestore code e possono sopravvivere alle interruzioni di rete, potrebbe essere necessario far scadere i canali che sono stati inattivi per un periodo di tempo.

  6. Selezionare Descrizione nel Navigator della finestra di dialogo delle proprietà per immettere una descrizione breve, una descrizione completa o entrambe.
  7. Fare clic su Applica per effettuare le modifiche al nodo MQeInput senza chiudere la finestra di dialogo delle proprietà. Fare clic su OK per applicare le modifiche e chiudere la finestra di dialogo delle proprietà.

    Fare clic su Annulla per chiudere la finestra di dialogo ed eliminare tutte le modifiche apportate alle proprietà.

Connessione dei terminali

MQeInput instrada ogni messaggio che richiama con esito positivo al terminale out. Se questa operazione non riesce, si ripete il messaggio. Se il timeout per i nuovi tentativi scade (come definito dall'attributo BackoutThreshold della coda di input), il messaggio viene instradato al terminale failure; è possibile connettere nodi a questo terminale per gestire tale condizione. Se il terminale failure non è stato connesso, il messaggio viene scritto nella coda di ripristino allo stato precedente.

Se il messaggio viene rilevato da questo nodo dopo che è stata generata un'eccezione nel successivo avanzamento del flusso di messaggi, il messaggio viene instradato al terminale catch. Se il terminale catch non è stato connesso, il messaggio entra in loop continuo attraverso il nodo fino alla risoluzione del problema. E' necessario definire una coda di ripristino allo stato precedente o una coda DLQ (dead-letter queue) per impedire il loop continuo del messaggio nel nodo.

Configurazione delle transazioni coordinate

Quando si include un nodo MQeInput in un flusso di messaggi, il valore che si imposta per la proprietà Modalità transazione definisce l'eventuale ricezione dei messaggi nel punto di sincronizzazione:

  • Se si imposta su (valore predefinito), il messaggio è ricevuto nel punto di sincronizzazione (cioè, all'interno di un'unità di lavoro WebSphere MQ). Tutti i messaggi successivamente inviati da un nodo di output nella stessa istanza del flusso di messaggi, sono collocati nel punto di sincronizzazione, a meno che il nodo di output non abbia esplicitamente sovrascritto questa opzione.
  • Se si imposta su Automatico, il messaggio è ricevuto nel punto di sincronizzazione se il messaggio in entrata è contrassegnato come permanente. Altrimenti no. Tutti i messaggi successivamente inviati da un nodo di output sono collocati nel punto di sincronizzazione, come stabilito dalla proprietà di permanenza in entrata, a meno che il nodo di output non abbia esplicitamente sovrascritto questa opzione.
  • Se si imposta su No, il messaggio non è ricevuto nel punto di sincronizzazione. Tutti i messaggi successivamente inviati da un nodo di output nel flusso non sono inseriti nel punto di sincronizzazione, a meno che il nodo di output non abbia specificato che il messaggio debba essere inserito nel punto di sincronizzazione.

(Il nodo MQOutput è l'unico nodo di output che è possibile configurare per sovrascrivere questa opzione.)

Terminali e proprietà

I terminali del nodo MQeInput sono descritti nella seguente tabella.

Terminale Descrizione
Failure Il terminale di output a cui è instradato il messaggio se si verifica un errore.
Out Il terminale di output a cui è instradato il messaggio, se è richiamato con esito positivo dalla coda WebSphere MQ Everyplace.
Catch Il terminale di output a cui è instradato il messaggio se viene generata un'eccezione nel proseguimento dell'elaborazione e questo nodo la rileva.

Le seguenti tabelle descrivono le proprietà del nodo; la colonna con l'intestazione O indica se la proprietà è obbligatoria (contrassegnata con un asterisco nella finestra di dialogo delle proprietà, se è necessario immettere un valore quando non è specificato un valore predefinito), la colonna con l'intestazione C indica se la proprietà è configurabile (è possibile modificare il valore quando si aggiunge un flusso di messaggi a un file bar per distribuirlo).

Le proprietà Predefinite del nodo MQeInput sono descritte nella seguente tabella.

Proprietà O C Valore predefinito Descrizione
Dominio messaggi No No   Il dominio che sarà utilizzato per analizzare il messaggio in entrata.
Serie di messaggi No No   Il nome o identificativo della serie di messaggi in cui è definito il messaggio in entrata.
Tipo messaggio No No   Il nome del messaggio in entrata.
Formato del messaggio No No   Il nome del formato fisico del messaggio in entrata.
Argomento No   L'argomento predefinito per il messaggio di input.

Le proprietà Generali del nodo MQeInput sono descritte nella seguente tabella.

Proprietà O C Valore predefinito Descrizione
Nome coda   Il nome della coda bridge WebSphere MQ Everyplace da cui questo nodo richiama i messaggi per l'elaborazione da parte di questo flusso di messaggi.
Traccia No Nessuno Il livello di traccia richiesto per questo nodo. I valori validi sono Nessuno, Standard, Debug e Completo.
Nome file di traccia \MQeTraceFile.trc Il nome del file su cui sono scritti i record di traccia.
Modalità transazione No Indica se il messaggio in entrata viene ricevuto nel punto di sincronizzazione. I valori validi sono Automatico, e No.
Utilizza file di configurazione No Deselezionata Utilizzare un file di configurazione per questo nodo. Questa azione viene eseguita se si seleziona la casella di spunta.
Nome file di configurazione \MQeconfig.ini Il nome del file di configurazione da utilizzare se la casella di spunta Utilizza file di configurazione è selezionata.
Nome gestore code ServerQM1 Il nome del gestore code WebSphere MQ Everyplace.

Le proprietà Canale del nodo MQeInput sono descritte nella seguente tabella.

Proprietà O C Valore predefinito Descrizione
Numero massimo di canali No 0 Il numero massimo di canali supportati dal gestore code WebSphere MQ Everyplace.

Le proprietà Registro del nodo MQeInput sono descritte nella seguente tabella.

Proprietà O C Valore predefinito Descrizione
Tipo Registro file Il tipo di informazioni registro da utilizzare. I valori validi sono Registro file e Registro privato.
Directory \ServerQM1\registry La directory in cui è presente il file di registro (valido solo se Registro file è selezionato).
PIN   Il PIN associato al gestore code WebSphere MQ Everyplace (valido solo se Registro privato è selezionato).
PIN di richiesta certificato   Il PIN utilizzato per richiedere l'autenticazione (valido solo se Registro privato è selezionato).
Password di keyring   La password utilizzata per visualizzare le chiavi crittografiche (valido solo se Registro privato è selezionato).
Host Certificato   Il nome del server dei certificati (valido solo se Registro privato è selezionato).
Porta Certificato   La porta del server dei certificati (valido solo se Registro privato è selezionato).

Le proprietà Listener del nodo MQeInput sono descritte nella seguente tabella.

Proprietà O C Valore predefinito Descrizione
Tipo listener Http Il tipo di adattatore per il listener. I valori validi sono Http, Lunghezza e Cronologia.
Nome Host 127.0.0.1 Il nome host del server.
Porta 8081 La porta su cui WebSphere MQ Everyplace è in ascolto.
Intervallo di Tempo 300 L'intervallo di polling di WebSphere MQ Everyplace, specificato in secondi.

Le proprietà Descrizione del nodo MQeInput sono descritte nella seguente tabella.

Proprietà O C Valore predefinito Descrizione
Descrizione breve No No   Una breve descrizione del nodo.
Descrizione completa No No   Testo che descrive lo scopo del nodo nel flusso di messaggi.
Informazioni particolari | Marchi | Download | Libreria | Supporto | Commenti
Copyright IBM Corporation 1999, 2006 Ultimo aggiornamento: ago 17, 2006
ac04600_