Nodo Warehouse

Scopo

Utilizzare il nodo Warehouse per interagire con un database nell'origine dati ODBC specificata. Il nodo Warehouse è una versione specializzata dal nodo Database che memorizza tutto il messaggio, parti di esso o entrambi, in una tabella all'interno del database. Si specificano i dati da memorizzare definendo le mappature che utilizzano i dati dal messaggio di input per identificare l'azione richiesta.

E' possibile utilizzare l'archivio messaggi:

  • Per conservare una traccia di controllo dei messaggi trasmessi dal broker.
  • Per l'elaborazione non in linea o batch dei messaggi che sono stati trasmessi dal broker (data mining).
  • Come origine da cui rielaborare i messaggi selezionati nel broker.

E' possibile richiamare i messaggi memorizzati nell'archivio utilizzando le tecniche di mining e query di database standard. Non è fornito supporto esplicito da WebSphere Message Broker.

E' necessario aver creato (o identificato, se sono stati creati da qualcun altro):

  • I dati di input come serie di messaggi e messaggio.
  • Una connessione ODBC al database.
  • Un database e una tabella di database per memorizzare il messaggio.
  • Almeno due colonne nella tabella: una per l'oggetto binario (il messaggio), una per la data/ora.

Il nodo Warehouse è rappresentato nel workbench dalla seguente icona:

Icona del nodo Warehouse

Utilizzo di questo nodo in un flusso di messaggi

Quando si utilizza un nodo Warehouse, si può scegliere di memorizzare nel database associato al nodo:

  • L'intero messaggio, facoltativamente con una data/ora associata. Il messaggio è memorizzato come oggetto binario, con la data/ora in una colonna separata. Questo presenta due vantaggi:
    1. Non è necessario decidere in anticipo come utilizzare i dati archiviati; poiché è stato memorizzato tutto, è possibile richiamare tutti i dati ed applicare ad essi gli strumenti di mining dei dati successivamente.
    2. Non è necessario definire uno schema database specifico per ogni tipo di messaggio che potrebbe attraversare il broker. In un sistema complesso, potrebbero esserci molti tipi di messaggi diversi e il sovraccarico dovuto alla definizione di uno schema univoco per ogni tipo di messaggio potrebbe diventare proibitivo. Si può fare precedere il nodo Warehouse da un nodo Compute che converte ogni messaggio in un formato di archivio canonico con uno schema comune o si può memorizzare l'intero messaggio come oggetto binario.
  • Parti selezionate del messaggio, facoltativamente con una data/ora associata. Questa operazione richiede uno schema di database definito per quel tipo di messaggio. Il messaggio è mappato al tipo true quindi, ad esempio, una stringa di caratteri nel messaggio è memorizzata come una stringa di caratteri nel database.

Configurazione del nodo Warehouse

Una volta inserita un'istanza del nodo Warehouse 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à. Vengono visualizzate le proprietà base del nodo.

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 Warehouse come segue:

  1. Specificare in Origine dati il nome con il quale il database appropriato viene riconosciuto nel sistema su cui deve essere eseguito questo flusso di messaggi. Il broker si connette a questo database con le informazioni relative all'ID utente e password specificati nel comando mqsicreatebroker, mqsichangebroker o mqsisetdbparms.

    Sui sistemi z/OS, il broker utilizza l'ID dell'attività avviata dal broker o l'ID utente e la password specificati nel JCL del comando mqsisetdbparms, BIPSDBP nel data set di personalizzazione <hlq>.SBIPPROC.

  2. In Mappatura campi, identificare la routine di mappatura da eseguire in questo nodo. Per impostazione predefinita, il nome assegnato alla routine di mappatura è identico al nome del file di mappatura in cui è definita la routine e il nome predefinito per il file è il nome del flusso di messaggi concatenato al nome del nodo, quando questo è incluso nel flusso di messaggi (ad esempio, MFlow1_Warehouse.mfmap per il primo nodo Warehouse nel flusso di messaggi MFlow1). Non è possibile specificare un valore che includa degli spazi.

    Facendo clic su Sfoglia accanto a questo campo di immissione, viene visualizzata una finestra di dialogo che elenca tutte le routine di mappatura disponibili a cui può accedere questo nodo. Selezionare la routine desiderata e fare clic su OK. Il nome della routine è impostato in Mappatura campi.

    Per gestire la routine di mappatura associata a questo nodo, fare clic con il tasto destro del mouse sul nodo e selezionare Apri mappature. Se la routine di mappatura non esiste, essa viene creata con il nome predefinito nel file predefinito. Se il file già esiste, è possibile anche aprire <flow_name>_<node_name>.mfmap nella vista Navigator.

    Il contenuto della routine di mappatura determina cosa viene memorizzato nel database e in quale formato. E' possibile scegliere, ad esempio, di memorizzare ogni messaggio per intero o solo parzialmente. E' possibile anche scegliere di memorizzare i dati come dati binari o di memorizzare ogni campo nello stesso formato che ha nel messaggio (ad esempio, un campo caratteri nel messaggio è memorizzato come carattere nel database).

    Una routine di mappatura è specifica per il tipo di nodo a cui è associata; non è possibile utilizzare una routine di mappatura sviluppata per un nodo Warehouse con un qualsiasi altro nodo che utilizza le mappature (ad esempio, un nodo DataInsert). Se si crea una routine di mappatura, non è possibile richiamarla da altre routine di mappatura, sebbene la si possa richiamare da una routine ESQL.

  3. Selezionare l'impostazione Transazione dal menu a discesa. I valori sono:
    • Automatico (il valore predefinito). Il flusso di messaggi, di cui fa parte il nodo Warehouse, è sottoposto a commit se ha esito positivo. Cioè, vengono intraprese le azioni definite nelle mappature e il messaggio continua attraverso il flusso di messaggi. Se il flusso di messaggi ha esito negativo, viene sottoposto a rollback. Quindi, scegliendo il valore Automatico, la capacità di eseguire il commit o rollback dell'azione del nodo Warehouse sul database dipende dall'esito positivo o negativo dell'intero flusso di messaggi.
    • Commit. Se si desidera eseguire il commit di azioni non sottoposte a commit, intraprese in questo flusso di messaggi sul database connesso a questo nodo, indipendentemente dall'esito positivo o negativo dell'intero flusso di messaggi, selezionare Commit. Le modifiche al database sono sottoposte a commit anche se il flusso di messaggi stesso ha esito negativo.
  4. Selezionare Base nel Navigator della finestra di dialogo delle proprietà e selezionare o deselezionare le due caselle di spunta:
    • Se si desidera che i messaggi di avvertenza del database vengano considerati come errori e che il nodo trasmetta il messaggio di output al terminale failure, selezionare la casella di spunta Valuta le avvertenze come errori. La casella è inizialmente deselezionata.

      Quando si seleziona tale casella, il nodo gestisce tutti i codici di ritorno positivi provenienti dal database come errori e genera eccezioni nello stesso modo in cui gestisce gli errori negativi o più gravi.

      Se non si seleziona la casella, il nodo considera le avvertenze come codici di ritorno normali e non genera alcuna eccezione. L'avvertenza più significativa è non trovato, che può essere gestita come un codice di ritorno normale senza alcun rischio, nella maggior parte dei casi.

    • Se si desidera che il broker generi un'eccezione quando viene rilevato un errore di database, selezionare la casella di spunta Genera eccezione in caso di errori database. La casella è inizialmente selezionata.

      Se si deseleziona la casella, è necessario gestire l'errore nel flusso di messaggi per garantire l'integrità del broker e del database: l'errore viene ignorato se non lo si gestisce con la propria elaborazione, poiché si è scelto di non richiamare la gestione errori predefinita da parte del broker. Ad esempio, si potrebbe connettere il terminale failure a una routine secondaria di elaborazione errori.

  5. Selezionare Descrizione nel Navigator della finestra di dialogo delle proprietà per immettere una descrizione breve, una descrizione completa o entrambe.
  6. Fare clic su Applica per effettuare le modifiche al nodo Warehouse 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à.

Terminali e proprietà

Nella tabella riportata di seguito vengono descritti i terminali del nodo Warehouse.

Terminale Descrizione
In Il terminale di input che accetta un messaggio affinché venga elaborato dal nodo.
Failure Il terminale di output a cui è trasmesso il messaggio di input, se si rileva un errore durante il calcolo. Se è stata selezionata l'opzione Valuta le avvertenze come errori, il nodo trasmette il messaggio a questo terminale anche se l'elaborazione termina con esito positivo.
Out Il terminale di output che emette il messaggio in seguito all'esecuzione dell'istruzione del database.

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à base del nodo Warehouse sono descritte nella seguente tabella.

Proprietà O C Valore predefinito Descrizione
Origine dati No   Il nome dell'origine dati ODBC del database che contiene le tabelle a cui si fa riferimento nelle mappature associate a questo nodo (identificato dalla proprietà Mappatura campi).
Mappatura campi No Warehouse Il nome della routine di mappatura che contiene le istruzioni da eseguire sul database o sulla struttura ad albero del messaggio. La routine è univoca per questo tipo di nodo.
Transazione No Automatico La modalità transazione per il nodo. Questa può avere il valore di Automatico o Commit.
Valuta le avvertenze come errori No Deselezionata Indica di valutare le avvertenze SQL del database come errori. Se si seleziona la casella di spunta, l'azione viene eseguita.
Genera eccezione in caso di errore database No Selezionata Gli errori di database fanno sì che il broker generi un'eccezione. Se si seleziona la casella di spunta, l'azione viene eseguita.

Nella tabella riportata di seguito vengono descritte le proprietà di Descrizione del nodo Warehouse.

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
ac04730_