Note sulla migrazione della serie di messaggi

Questa sezione contiene informazioni da considerare quando si esegue la migrazione delle serie di messaggi a WebSphere Message Broker Versione 6.0. Sono disponibili le seguenti sezioni:

Se si utilizza Message Brokers Toolkit Versione 5.1, in questa sezione sostituire tutti i riferimenti a "Versione 5.0" con "Versione 5.1".

Migrazione dalla Versione 2.1

Per migrare le serie di messaggi dalla Versione 2.1 alla Versione 6.0, utilizzare il comando mqsimigratemsgsets per convertire i file di esportazione della serie di messaggi della Versione 2.1 (.mrp) in progetti della serie di messaggi della Versione 6.0. Prima di eseguire il comando, fare riferimento alla sezione Migrazione della serie di messaggi dalla versione 2.1, che fornisce note dettagliate sul relativo funzionamento.

Migrazione dalla Versione 5.0

Per migrare le serie di messaggi dalla Versione 5.0 alla Versione 6.0, non sono necessari comandi di migrazione. Il contenuto di un progetto della serie di messaggi della Versione 5.0 può essere letto da Message Brokers Toolkit Versione 6.0 e viene convertito automaticamente nel formato della Versione 6.0 quando viene modificato e salvato per la prima volta.

Informazioni generali sulla migrazione

Le seguenti informazioni sono valide per la migrazione dalla Versione 2.1 o dalla Versione 5.0.
  • La proprietà CWF Conteggio ripetizioni è stata sostituita dalla proprietà logica Numero massimo ricorrenze, allineando il formato fisico CWF con i formati fisici TDS e XML, che già utilizzano Numero massimo ricorrenze per determinare il numero di ripetizioni. Viene visualizzato un messaggio di avvertenza nella vista Problemi dell'editor dei messaggi per ciascun elemento o gruppo per cui era impostato un valore CWF Conteggio ripetizioni. Fare clic con il tasto destro del mouse sul messaggio di avvertenza e fare clic su Quick Fix per risolvere il problema.
    Nota: Nella Versione 5.0, se la proprietà CWF Conteggio ripetizioni non è impostata e Numero minimo ricorrenze non è uguale a Numero massimo ricorrenze, il numero di ripetizioni viene considerato uno. Nella Versione 6.0, il numero di ripetizioni viene considerato Numerom massimo ricorrenze. Non è possibile visualizzare un messaggio di avvertenza per tale situazione. Questo modello di messaggio non è creato dai programmi di importazione COBOL o C, per cui può verificarsi solo se è stato creato un modello di messaggio CWF mediante l'editor di messaggi della Versione 5.0.
  • Il formato fisico TDS precedente alla Versione 6.0 includeva l'identificazione del messaggio mediante Chiave messaggio. La tecnica Chiave messaggio è stata dichiarata obsoleta ed è sostituita da una tecnica denominata Identità messaggi. Viene visualizzato un messaggio di avvertenza nella vista Problemi dell'editor dei messaggi per ciascun messaggio con un valore TDS Chiave messaggio e per ciascun elemento o attributo che ha la proprietà TDS Interpreta valore elemento impostata su Chiave messaggio. Fare clic con il tasto destro del mouse sul messaggio di avvertenza e fare clic su Quick Fix per risolvere il problema.

    Continuare ad utilizzare Chiave messaggio se la serie di messaggi verrà distribuita ad un broker Versione 5.0 o Versione 2.1, perché tali broker non supportano la tecnica Identità messaggi dell'identificazione dei messaggi.

  • La proprietà del formato fisico TDS Modello dati è ora convalidata da Message Brokers Toolkit per verificare che sia un'espressione regolare dello schema XML valida. Vengono visualizzati degli errori nella vista Problemi dell'editor dei messaggi ed è necessario correggerli manualmente mediante l'editor. In particolare, sono stati emessi alcuni errori per la specifica dello schema XML relativi all'escape dei metacaratteri, che può determinare la visualizzazione di errori di convalida. Per correggere gli errori, potrebbe essere necessario eseguire l'escape del carattere trattino ("-") o delle parentesi graffe ( "{" e "}"), mediante il carattere barra retroversa ("\"); ad esempio "\{" oppure "\-". Se vengono visualizzati tali errori quando si utilizza una serie di messaggi fornita dalla IBM, rivolgersi alla IBM e richiedere una versione corretta della serie di messaggi.
  • Il valore predefinito o fisso di un elemento o attributo ed i valori di enumerazione di un tipo semplice vengono confrontati con le facet lunghezza, lunghezza massima e lunghezza minima del tipo semplice, se fornite. Se un valore non è compatibile con le facet, viene visualizzato un errore nella vista Problemi dell'editor di messaggi. Fare clic con il tasto destro del mouse sull'errore e fare clic su Quick Fix per risolvere il problema, se è disponibile un quick fix. In caso contrario, correggere manualmente il problema mediante l'editor. Questo errore viene visualizzato se si importa un copybook COBOL nella Versione 5.0 Fix Pack 2 o precedente di Message Brokers Toolkit.
  • Le proprietà CWF e TDS Null di codifica e Valore Null di codifica sono state rimosse dagli attributi locali, dagli attributi globali e dai riferimenti agli attributi. Nello schema XML, solo gli elementi possono avere una proprietà Nullo, per cui un calore null non può essere considerato per un campo di dati modellato come un attributo. Se sono stati specificati valori CWF o TDS Null di codifica per gli attributi nella Versione 5.0, essi sono stati ignorati.
  • La proprietà TDS Delimitatore elemento ripetuto è stata rimossa dagli attributi locali e dai riferimenti degli attributi. Nello schema XML, gli attributi non possono essere ripetuti. Se sono stati specificati valori TDS Delimitatore elemento ripetuto per gli attributi nella Versione 5.0, essi vengono ignorati.
  • Per un elemento o attributo con tipo semplice xsd:gMonth, il valore predefinito per la proprietà CWF, XML e TDS Formato data/ora è ora "--MM". Nella Versione 5.0, il valore predefinito è "--MM--". Ciò è stato corretto per la compatibilità con un'errata Schema XML.
  • Quando si esegue la migrazione, non è necessario distribuire nuovamente le serie di messaggi, perché i dizionari del messaggio vengono aggiornati nel database del broker al formato della Versione 6.0 dal comando mqsimigratecomponents. Tuttavia, se non viene distribuita nuovamente una serie di messaggi e viene generata un'eccezione ParserException, come, ad esempio, "errore del vettore contrassegnato" o "violazione di accesso", quando si utilizza per la prima volta un flusso di messaggi che utilizza la serie di messaggi, è necessario distribuire nuovamente la serie di messaggi. Ciò può verificarsi se il dizionario del messaggio contiene dati errati non rilevati precedentemente. Nella Versione 6.0, il dizionario del messaggio viene controllato al primo utilizzo; nella Versione 2.1 e nella Versione 5.0, ciò non si verifica.

Modifiche di funzionamento del programma di analisi MRM

Le seguenti informazioni sono valide per la migrazione dalla Versione 2.1 o dalla Versione 5.0:
  • Formato fisico XML. La Versione 6.0 riconosce gli attributi xsi:type nel documento XML e modifica il proprio funzionamento di conseguenza. Gli attributi xsi:type non vengono più considerati come attributi a definizione automatica, per cui vengono visualizzati nella struttura ad albero del messaggio con il nome ‘type’ invece di ‘@type’. Se la logica del proprio flusso di messaggi riconosce gli attributi xsi:type nella struttura ad albero del messaggio, modificare il proprio flusso di messaggi in base al nuovo funzionamento. Per conservare la logica precedente alla Versione 6.0 nei propri flussi di messaggi, impostare la variabile di ambiente MQSI_IGNORE_XSI_TYPE su qualsiasi valore; in questo modo, verrà adottato il funzionamento precedente alla Versione 6.0.
  • Formato fisico XML. Le informazioni DOCTYPE in un documento XML non vengono visualizzate nella struttura ad albero del messaggio quando analizzate, ma vengono conservate dal documento di input al documento di output perché MRM conserva internamente una copia di DOCTYPE. Prima della Versione 6.0, era una copia esatta del flusso di bit. Nella Versione 6.0, il processo di copia determina la perdita di alcuni spazi vuoti di formattazione. Ad esempio, la seguente dichiarazione di elemento in un DOCTYPE di input:
    <!ELEMENT e0 (e1|e2)+ >
    viene visualizzata nell'output come:
    <!ELEMENT e0 (e1|e2)+>
    Il nuovo funzionamento è coerente con il modo in cui il formato fisico XML elabora gli spazi vuoti in tutte le altre strutture XML.
  • Formato fisico TDS. Per un gruppo con la proprietà logica Composizione impostata su Choice e la proprietà TDS Separazione elementi dati impostata su Lunghezza fissa, il programma di analisi suppone sempre che la lunghezza dei dati di scelta siano quelli del child più lungo del gruppo e leggerà e scriverà sempre quel numero di caratteri. Verificare che i propri messaggi siano compatibili con questa funzione; in caso contrario, il programma di analisi considera i dati che seguono la scelta come parte della scelta. Prima della Versione 6.0, il programma di analisi non forzava questa regola.
  • Formato fisico TDS. Se la proprietà dell'elemento TDS Null di codifica è impostata su NullPadFill, viene utilizzata solo se la proprietà corrispondente Lunghezza viene utilizzata in modo attivo durante l'analisi o la scrittura. Prima della Versione 6.0, NullPadFill veniva utilizzata indipendentemente dal fatto che la proprietà Lunghezza veniva utilizzata in modo attivo.
  • Formato fisico TDS. La proprietà TDS Separazione elementi dati è impostata su Tutti gli elementi delimitati o Delimitato da elementi a lunghezza variabile. Un elemento complesso viene ora sempre considerato con lunghezza variabile, indipendentemente dalla propria impostazione Separazione elementi dati. Ciò significa che nel flusso di bit del messaggio, è previsto un Delimitatore tra l'elemento complesso e l'elemento successivo ed è previsto un Delimitatore elemento ripetuto tra tutte le istanze di un elemento complesso, anche se l'elemento complesso ha una lunghezza fissa. Prima della Versione 6.0, il programma di analisi non forzava tale regola e per Delimitato da elementi a lunghezza variabile, il programma di scrittura non emetteva delimitatori quando la lunghezza dell'elemento complesso era conosciuta.
  • Formato fisico TDS. La proprietà TDS Separazione elementi dati è impostata su Utilizza modello dati. Se l'espressione regolare specificata per un modello dati restituisce una corrispondenza di lunghezza zero, viene ora considerata come un elemento presente con un valore di lunghezza zero. Prima della Versione 6.0, una corrispondenza di lunghezza zero veniva considerata come un elemento omesso.
  • Formato fisico TDS. La proprietà TDS Separazione elementi dati è impostata su Delimitato da tag. Un delimitatore estraneo dopo l'ultimo child del gruppo nel flusso di bit non è più consentito e determina un'eccezione di analisi. Prima della Versione 6.0, il programma di analisi non forzava questa regola. Se questo è un problema, considerare la creazione del modello del delimitatore estraneo mediante la proprietà TDS Carattere di terminazione di gruppo.
  • Formato fisico TDS. La proprietà TDS Separazione elementi dati è impostata su Delimitato da tag. Nella Versione 6.0, quando si esegue l'analisi di un gruppo Delimitato da tag, il programma di analisi prova a considerare i gruppi in cui i membri non sembrano in ordine nel flusso di bit del messaggio, anche se la proprietà Composizione del gruppo è impostata su Sequence o OrderedSet. Tuttavia, se il gruppo contiene un messaggio integrato o un elemento complesso o un gruppo che non può essere identificato dal flusso di messaggi, tutti i membri del gruppo devono essere visualizzati nel flusso di bit nello stesso ordine con cui sono definiti nel modello. Se non sono ordinati, il gruppo non viene analizzato correttamente e potrebbero verificarsi risultati imprevedibili. Un sintomo di ciò è la visualizzazione di elementi a definizione automatica nella struttura ad albero del messaggio, determinata dall'errore di associazione di un elemento al modello.

    Un esempio specifico si verifica quando il messaggio contiene un messaggio incorporato e si utilizza la tecnica Chiave messaggio o Identità messaggi per identificare il messaggio incorporato. Se l'elemento che fornisce la chiave messaggio o il valore di identità del messaggio non viene associato al modello, il programma di analisi non sa se interpretare il valore come chiave messaggio o identità messaggio.

    Prima della Versione 6.0, il programma di analisi provava a riconoscere tutti i gruppi Delimitati da tag non in ordine, con una conseguente riduzione delle prestazioni. Nella Versione 6.0, se questo è un problema, considerare di eseguire il modello del contenuto non ordinato del gruppo come gruppo child incorporato con Composizione impostata su UnorderedSet.

    Un gruppo o elemento complesso può essere identificato dal flusso di bit se fornisce un indicatore di gruppo, una tag o un modello dati oppure se i relativi membri child forniscono un indicatore di gruppo, una tag o un modello dati.

    Nonostante il nome, in alcuni casi i membri di un gruppo Delimitato da tag non devono fornire una tag; in particolare, se il membro è un messaggio incorporato o è un gruppo o elemento complesso.

  • Formato fisico TDS. La proprietà TDS Separazione elementi dati è impostata su Lunghezza codificata con tag. Durante la scrittura, la lunghezza codificata viene visualizzata come numero di caratteri nei dati per corrispondere all'interpretazione durante l'analisi. Prima della Versione 6.0, la lunghezza codificata veniva visualizzata come il numero di byte nei dati, che non corrispondeva all'interpretazione durante l'analisi se i dati non erano SBCS.
  • Formato fisico TDS. Durante la scrittura, se il numero di ripetizioni di un elemento o gruppo è fisso nel modello ma il numero reale di ricorrenze nella struttura ad albero del messaggio supera il numero di ripetizioni e la proprietà Separazione elementi dati non è una delle separazioni "con tag", le ricorrenze supplementari vengono eliminate e non vengono visualizzate nell'output. Prima della Versione 6.0, le ricorrenze supplementari venivano visualizzate nell'output. Se le ripetizioni supplementari devono essere visualizzate nell'output, specificare maxOccurs=-1 per indicare che il numero di ripetizioni non è associato.
  • Tutti i formati fisici. Quando si scrivono campi dateTime a cui è stata assegnata la proprietà Formato I, il formato dell'output dipende dal tipo logico del campo, come descritto in Data/ora come dati di stringa. Prima della Versione 6.0, il formato dell'output era il formato yyyy-MM-dd'T'HH:mm:ssZZZ completo.
  • La convalida dei messaggi di input e output è stata migliorata in modo da consentire un ulteriore rilevamento dei messaggi non validi. Nella Versione 6.0, è possibile che un messaggio considerato valido nelle versioni precedenti venga considerato come non valido.
Informazioni particolari | Marchi | Download | Libreria | Supporto | Commenti
Copyright IBM Corporation 1999, 2006 Ultimo aggiornamento: ago 17, 2006
ah20250_